remove cruft for libc struct accessor function and broken visibility

these were hacks to work around toolchains that could not properly
optimize PIC accesses based on visibility and would generate GOT
lookups even for hidden data, which broke the old dynamic linker.
since commit f3ddd17380 it no longer
matters; the dynamic linker does not assume accessibility of this data
until stage 3.
This commit is contained in:
Rich Felker 2015-04-22 02:21:45 -04:00
parent 428462a4c3
commit f9cccfc16e
2 changed files with 0 additions and 18 deletions

View File

@ -34,12 +34,7 @@ extern size_t __hwcap;
#define PAGE_SIZE libc.page_size
#endif
#if !defined(__PIC__) || (100*__GNUC__+__GNUC_MINOR__ >= 303 && !defined(__PCC__))
#ifdef __PIC__
#if __GNUC__ < 4
#define BROKEN_VISIBILITY 1
#endif
#define ATTR_LIBC_VISIBILITY __attribute__((visibility("hidden")))
#else
#define ATTR_LIBC_VISIBILITY
@ -48,15 +43,6 @@ extern size_t __hwcap;
extern struct __libc __libc ATTR_LIBC_VISIBILITY;
#define libc __libc
#else
#define USE_LIBC_ACCESSOR
#define ATTR_LIBC_VISIBILITY
extern struct __libc *__libc_loc(void) __attribute__((const));
#define libc (*__libc_loc())
#endif
/* Designed to avoid any overhead in non-threaded processes */
void __lock(volatile int *) ATTR_LIBC_VISIBILITY;

View File

@ -30,7 +30,3 @@ const uint32_t bittab[] = {
E(0x8),E(0x9),E(0xa),E(0xb),E(0xc),E(0xd),E(0xe),E(0xf),
F(0x0),F(0x1),F(0x2),F(0x3),F(0x4)
};
#ifdef BROKEN_VISIBILITY
__asm__(".hidden __fsmu8");
#endif