ppc, ppc64: tag global symbols as functions #24
No reviewers
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: ariadne/libucontext#24
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "ppc-fixes"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
it is necessary to tag these symbols as functions otherwise the linker gets confused; this previously manifested as the internal
functions (pre-rename) like
__getcontext
leaking into the symbol table of things linked againstlibucontext
that used theucontext
POSIX API through the weak aliasesit also had another bad effect and that is if you tried to use
libucontext
's API (post-rename), the linker would warn you duringcompile time that the type is unknown, and the resulting program would crash at runtime
after properly tagging everything, I no longer notice any leakage, i.e. there don't seem to be any references to the aliased symbols
in the resulting symbol table when using the aliases, and using the
libucontext
prefixed symbols directly also workswe talked about this in IRC previously, and I wanted to finally get this out of the way; after this is fixed it'll be needed to bump soname for next release
perhaps these should be reimplemented with the common
FUNC
/END
/ALIAS
macros though? while at it, why isn'tlibucontext_trampoline
tagged hidden in other archs?added a second commit which uses the common macros in
ppc*