summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-04-22 02:21:45 -0400
committerRich Felker <dalias@aerifal.cx>2015-04-22 02:21:45 -0400
commitf9cccfc16e58b39ee381fbdfb8688db3bb8e3555 (patch)
tree1bba2013f79f4a2b0e209c1b00751c4c76613d4d
parent428462a4c355f32e09fa5e578043c15ea91e29f7 (diff)
downloadmusl-f9cccfc16e58b39ee381fbdfb8688db3bb8e3555.tar.gz
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 f3ddd173806fd5c60b3f034528ca24542aecc5b9 it no longer matters; the dynamic linker does not assume accessibility of this data until stage 3.
-rw-r--r--src/internal/libc.h14
-rw-r--r--src/multibyte/internal.c4
2 files changed, 0 insertions, 18 deletions
diff --git a/src/internal/libc.h b/src/internal/libc.h
index 79d53fc8..00d1b41a 100644
--- a/src/internal/libc.h
+++ b/src/internal/libc.h
@@ -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;
diff --git a/src/multibyte/internal.c b/src/multibyte/internal.c
index 1813b266..bbdc4159 100644
--- a/src/multibyte/internal.c
+++ b/src/multibyte/internal.c
@@ -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