summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
428462a)
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
f3ddd173806fd5c60b3f034528ca24542aecc5b9 it no longer
matters; the dynamic linker does not assume accessibility of this data
until stage 3.
#define PAGE_SIZE libc.page_size
#endif
#define PAGE_SIZE libc.page_size
#endif
-#if !defined(__PIC__) || (100*__GNUC__+__GNUC_MINOR__ >= 303 && !defined(__PCC__))
-
-#if __GNUC__ < 4
-#define BROKEN_VISIBILITY 1
-#endif
#define ATTR_LIBC_VISIBILITY __attribute__((visibility("hidden")))
#else
#define ATTR_LIBC_VISIBILITY
#define ATTR_LIBC_VISIBILITY __attribute__((visibility("hidden")))
#else
#define ATTR_LIBC_VISIBILITY
extern struct __libc __libc ATTR_LIBC_VISIBILITY;
#define libc __libc
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;
/* Designed to avoid any overhead in non-threaded processes */
void __lock(volatile int *) ATTR_LIBC_VISIBILITY;
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)
};
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