diff options
author | David 'Digit' Turner <digit@android.com> | 2012-01-23 15:15:30 +0100 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2012-01-31 22:19:09 +0100 |
commit | 5fbf2e09921723cfdea75e83c1fac2080f0ad564 (patch) | |
tree | e14922f0147869514be03fc3154c4576c68ef154 /libc/arch-arm | |
parent | 5b892aa7e581c0b247262a95d70db20991121afe (diff) | |
download | bionic-5fbf2e09921723cfdea75e83c1fac2080f0ad564.zip bionic-5fbf2e09921723cfdea75e83c1fac2080f0ad564.tar.gz bionic-5fbf2e09921723cfdea75e83c1fac2080f0ad564.tar.bz2 |
libc: Define new symbol visibility macros
This patch defines a few new macros that can be used to control the
visibility of symbols exported by the C library:
- ENTRY_PRIVATE() can be used in assembly sources to indicate
that an assembler function should have "hidden" visibility, i.e.
will never be exported by the C library's shared library.
This is the equivalent of using __LIBC_HIDDEN__ for a C function,
but ENTRY_PRIVATE() works like ENTRY(), and must be used with
END() to tag the end of the function.
- __LIBC_ABI_PUBLIC__ can be used to tag a C functions as being
part of the C library's public ABI. This is important for a
few functions that must be exposed by the NDK to maintain
binary compatibility.
Once a symbol has been tagged with this macro, it shall
*never* be removed from the library, even if it becomes
directly unused due to implementation changes
(e.g. __is_threaded).
- __LIBC_ABI_PRIVATE__ can be used for C functions that should
always be exported by the C library because they are used by
other libraries in the platform, but should not be exposed
by the NDK. It is possible to remove such symbols from the
implementation if all callers are also modified.
+ Add missing END() assembly macro for x86
Change-Id: Ia96236ea0dbec41d57bea634b39d246b30e5e234
Diffstat (limited to 'libc/arch-arm')
-rw-r--r-- | libc/arch-arm/include/machine/asm.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libc/arch-arm/include/machine/asm.h b/libc/arch-arm/include/machine/asm.h index 7b8f053..047e54d 100644 --- a/libc/arch-arm/include/machine/asm.h +++ b/libc/arch-arm/include/machine/asm.h @@ -97,6 +97,12 @@ #define ASENTRY_NP(y) _ENTRY(_ASM_LABEL(y)) #define ASEND(y) _END(_ASM_LABEL(y)) +#ifdef __ELF__ +#define ENTRY_PRIVATE(y) ENTRY(y); .hidden _C_LABEL(y) +#else +#define ENTRY_PRIVATE(y) ENTRY(y) +#endif + #define ASMSTR .asciz #if defined(__ELF__) && defined(PIC) |