From 42c1ad48fa946f00d67d0b023f50e5d6d8fc293f Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Fri, 10 Mar 2006 16:20:23 +0000 Subject: Remove all non-constant libc_hidden_data_def(), it is too unreliable, sorry, most of global data relocations are back --- libc/sysdeps/linux/alpha/brk.S | 2 +- libc/sysdeps/linux/arm/brk.c | 3 --- libc/sysdeps/linux/bfin/brk.c | 3 --- libc/sysdeps/linux/common/getpagesize.c | 1 - libc/sysdeps/linux/common/sbrk.c | 1 - libc/sysdeps/linux/cris/__init_brk.c | 3 --- libc/sysdeps/linux/cris/brk.c | 1 - libc/sysdeps/linux/cris/sbrk.c | 1 - libc/sysdeps/linux/frv/__init_brk.c | 3 --- libc/sysdeps/linux/frv/brk.c | 1 - libc/sysdeps/linux/frv/sbrk.c | 1 - libc/sysdeps/linux/h8300/brk.c | 3 --- libc/sysdeps/linux/hppa/brk.c | 3 --- libc/sysdeps/linux/i386/brk.c | 3 --- libc/sysdeps/linux/ia64/brk.S | 3 +-- libc/sysdeps/linux/m68k/brk.c | 3 --- libc/sysdeps/linux/mips/brk.c | 3 --- libc/sysdeps/linux/nios/brk.c | 3 --- libc/sysdeps/linux/nios2/brk.c | 4 ---- libc/sysdeps/linux/powerpc/brk.S | 7 +++---- libc/sysdeps/linux/sh/__init_brk.c | 3 --- libc/sysdeps/linux/sh/brk.c | 1 - libc/sysdeps/linux/sh/sbrk.c | 1 - libc/sysdeps/linux/sh64/__init_brk.c | 3 --- libc/sysdeps/linux/sh64/brk.c | 1 - libc/sysdeps/linux/sh64/sbrk.c | 1 - libc/sysdeps/linux/sparc/brk.c | 3 --- libc/sysdeps/linux/vax/brk.c | 3 --- libc/sysdeps/linux/x86_64/brk.c | 3 --- 29 files changed, 5 insertions(+), 66 deletions(-) (limited to 'libc/sysdeps/linux') diff --git a/libc/sysdeps/linux/alpha/brk.S b/libc/sysdeps/linux/alpha/brk.S index a108c0d36..05c3b2c43 100644 --- a/libc/sysdeps/linux/alpha/brk.S +++ b/libc/sysdeps/linux/alpha/brk.S @@ -68,7 +68,7 @@ brk: /* Update __curbrk and return cleanly. */ mov $31, $0 -$ok: stq $16, HIDDEN_JUMPTARGET(__curbrk) +$ok: stq $16, __curbrk addq $30, 8, $30 ret diff --git a/libc/sysdeps/linux/arm/brk.c b/libc/sysdeps/linux/arm/brk.c index 185d9b4dc..3d606e533 100644 --- a/libc/sysdeps/linux/arm/brk.c +++ b/libc/sysdeps/linux/arm/brk.c @@ -24,10 +24,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/bfin/brk.c b/libc/sysdeps/linux/bfin/brk.c index 1df3ae517..3b261697b 100644 --- a/libc/sysdeps/linux/bfin/brk.c +++ b/libc/sysdeps/linux/bfin/brk.c @@ -11,10 +11,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void * __curbrk; -libc_hidden_proto(__curbrk) void * __curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/common/getpagesize.c b/libc/sysdeps/linux/common/getpagesize.c index 4a35d0775..efb5fcb7f 100644 --- a/libc/sysdeps/linux/common/getpagesize.c +++ b/libc/sysdeps/linux/common/getpagesize.c @@ -21,7 +21,6 @@ #include extern size_t __pagesize; -libc_hidden_proto(__pagesize) /* Return the system page size. */ /* couldn't make __getpagesize hidden, because shm.h uses it in a macro */ diff --git a/libc/sysdeps/linux/common/sbrk.c b/libc/sysdeps/linux/common/sbrk.c index d9a4d6899..f8b568262 100644 --- a/libc/sysdeps/linux/common/sbrk.c +++ b/libc/sysdeps/linux/common/sbrk.c @@ -13,7 +13,6 @@ libc_hidden_proto(brk) /* Defined in brk.c. */ extern void *__curbrk; -libc_hidden_proto(__curbrk) /* Extend the process's data space by INCREMENT. If INCREMENT is negative, shrink data space by - INCREMENT. diff --git a/libc/sysdeps/linux/cris/__init_brk.c b/libc/sysdeps/linux/cris/__init_brk.c index 8e6591a62..df41f9b4c 100644 --- a/libc/sysdeps/linux/cris/__init_brk.c +++ b/libc/sysdeps/linux/cris/__init_brk.c @@ -5,10 +5,7 @@ #include #include "sysdep.h" -extern void *__curbrk; -libc_hidden_proto(__curbrk) void * __curbrk = 0; -libc_hidden_data_def(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/cris/brk.c b/libc/sysdeps/linux/cris/brk.c index 6c518f5a6..8183aabf3 100644 --- a/libc/sysdeps/linux/cris/brk.c +++ b/libc/sysdeps/linux/cris/brk.c @@ -12,7 +12,6 @@ libc_hidden_proto(brk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/cris/sbrk.c b/libc/sysdeps/linux/cris/sbrk.c index 15f506cd7..934dc90c4 100644 --- a/libc/sysdeps/linux/cris/sbrk.c +++ b/libc/sysdeps/linux/cris/sbrk.c @@ -13,7 +13,6 @@ libc_hidden_proto(sbrk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/frv/__init_brk.c b/libc/sysdeps/linux/frv/__init_brk.c index 507902fc5..b688f98af 100644 --- a/libc/sysdeps/linux/frv/__init_brk.c +++ b/libc/sysdeps/linux/frv/__init_brk.c @@ -4,10 +4,7 @@ #include #include -extern void * __curbrk; -libc_hidden_proto(__curbrk) void * __curbrk = 0; -libc_hidden_data_def(__curbrk) #define __NR__brk __NR_brk attribute_hidden _syscall1(void *, _brk, void *, ptr); diff --git a/libc/sysdeps/linux/frv/brk.c b/libc/sysdeps/linux/frv/brk.c index 9e33830ab..b26f74fec 100644 --- a/libc/sysdeps/linux/frv/brk.c +++ b/libc/sysdeps/linux/frv/brk.c @@ -12,7 +12,6 @@ libc_hidden_proto(brk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/frv/sbrk.c b/libc/sysdeps/linux/frv/sbrk.c index bb66f0148..fd760985e 100644 --- a/libc/sysdeps/linux/frv/sbrk.c +++ b/libc/sysdeps/linux/frv/sbrk.c @@ -7,7 +7,6 @@ libc_hidden_proto(sbrk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/h8300/brk.c b/libc/sysdeps/linux/h8300/brk.c index 52ba1ac9c..0da4286e7 100644 --- a/libc/sysdeps/linux/h8300/brk.c +++ b/libc/sysdeps/linux/h8300/brk.c @@ -12,10 +12,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/hppa/brk.c b/libc/sysdeps/linux/hppa/brk.c index 52d0b4c74..b57c3328a 100644 --- a/libc/sysdeps/linux/hppa/brk.c +++ b/libc/sysdeps/linux/hppa/brk.c @@ -24,10 +24,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) diff --git a/libc/sysdeps/linux/i386/brk.c b/libc/sysdeps/linux/i386/brk.c index 6a654f0d0..fcf7f3b33 100644 --- a/libc/sysdeps/linux/i386/brk.c +++ b/libc/sysdeps/linux/i386/brk.c @@ -24,10 +24,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/ia64/brk.S b/libc/sysdeps/linux/ia64/brk.S index 35547b74b..82a962d46 100644 --- a/libc/sysdeps/linux/ia64/brk.S +++ b/libc/sysdeps/linux/ia64/brk.S @@ -31,7 +31,6 @@ .align 8 __curbrk: data8 0 -libc_hidden_data_def(__curbrk) weak_alias (__curbrk, ___brk_addr) @@ -39,7 +38,7 @@ LEAF(brk) .regstk 1, 0, 0, 0 DO_CALL(__NR_brk) cmp.ltu p6, p0 = ret0, in0 - addl r9 = @ltoff(HIDDEN_JUMPTARGET(__curbrk)), gp + addl r9 = @ltoff(__curbrk), gp ;; ld8 r9 = [r9] (p6) mov ret0 = ENOMEM diff --git a/libc/sysdeps/linux/m68k/brk.c b/libc/sysdeps/linux/m68k/brk.c index b627f6400..cad5976de 100644 --- a/libc/sysdeps/linux/m68k/brk.c +++ b/libc/sysdeps/linux/m68k/brk.c @@ -12,10 +12,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void * __curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/mips/brk.c b/libc/sysdeps/linux/mips/brk.c index 8d2b4ede1..cf48288f4 100644 --- a/libc/sysdeps/linux/mips/brk.c +++ b/libc/sysdeps/linux/mips/brk.c @@ -23,10 +23,7 @@ libc_hidden_proto(brk) -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/nios/brk.c b/libc/sysdeps/linux/nios/brk.c index 69f60d336..2c252f90c 100644 --- a/libc/sysdeps/linux/nios/brk.c +++ b/libc/sysdeps/linux/nios/brk.c @@ -24,10 +24,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/nios2/brk.c b/libc/sysdeps/linux/nios2/brk.c index 2d7bf4420..1711e609c 100644 --- a/libc/sysdeps/linux/nios2/brk.c +++ b/libc/sysdeps/linux/nios2/brk.c @@ -24,11 +24,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) - int brk (void *addr) { diff --git a/libc/sysdeps/linux/powerpc/brk.S b/libc/sysdeps/linux/powerpc/brk.S index 95b4dfd0d..b06dc0c94 100644 --- a/libc/sysdeps/linux/powerpc/brk.S +++ b/libc/sysdeps/linux/powerpc/brk.S @@ -35,7 +35,6 @@ __curbrk: .skip 4 #else .comm __curbrk, 4,4 #endif -libc_hidden_data_def(__curbrk) .text .globl brk @@ -52,12 +51,12 @@ brk: mflr r4 bl _GLOBAL_OFFSET_TABLE_@local-4 mflr r5 - lwz r5,HIDDEN_JUMPTARGET(__curbrk)@got(r5) + lwz r5,__curbrk@got(r5) mtlr r4 stw r3,0(r5) #else - lis r4,HIDDEN_JUMPTARGET(__curbrk)@ha - stw r3,HIDDEN_JUMPTARGET(__curbrk)@l(r4) + lis r4,__curbrk@ha + stw r3,__curbrk@l(r4) #endif cmplw r6,r3 addi r1,r1,16 diff --git a/libc/sysdeps/linux/sh/__init_brk.c b/libc/sysdeps/linux/sh/__init_brk.c index c14180a6c..9f5ee867b 100644 --- a/libc/sysdeps/linux/sh/__init_brk.c +++ b/libc/sysdeps/linux/sh/__init_brk.c @@ -4,10 +4,7 @@ #include #include -extern void * __curbrk; -libc_hidden_proto(__curbrk) void * __curbrk = 0; -libc_hidden_data_def(__curbrk) #define __NR__brk __NR_brk attribute_hidden _syscall1(void *, _brk, void *, ptr); diff --git a/libc/sysdeps/linux/sh/brk.c b/libc/sysdeps/linux/sh/brk.c index 9e33830ab..b26f74fec 100644 --- a/libc/sysdeps/linux/sh/brk.c +++ b/libc/sysdeps/linux/sh/brk.c @@ -12,7 +12,6 @@ libc_hidden_proto(brk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/sh/sbrk.c b/libc/sysdeps/linux/sh/sbrk.c index bb66f0148..fd760985e 100644 --- a/libc/sysdeps/linux/sh/sbrk.c +++ b/libc/sysdeps/linux/sh/sbrk.c @@ -7,7 +7,6 @@ libc_hidden_proto(sbrk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/sh64/__init_brk.c b/libc/sysdeps/linux/sh64/__init_brk.c index c14180a6c..9f5ee867b 100644 --- a/libc/sysdeps/linux/sh64/__init_brk.c +++ b/libc/sysdeps/linux/sh64/__init_brk.c @@ -4,10 +4,7 @@ #include #include -extern void * __curbrk; -libc_hidden_proto(__curbrk) void * __curbrk = 0; -libc_hidden_data_def(__curbrk) #define __NR__brk __NR_brk attribute_hidden _syscall1(void *, _brk, void *, ptr); diff --git a/libc/sysdeps/linux/sh64/brk.c b/libc/sysdeps/linux/sh64/brk.c index 9e33830ab..b26f74fec 100644 --- a/libc/sysdeps/linux/sh64/brk.c +++ b/libc/sysdeps/linux/sh64/brk.c @@ -12,7 +12,6 @@ libc_hidden_proto(brk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/sh64/sbrk.c b/libc/sysdeps/linux/sh64/sbrk.c index bb66f0148..fd760985e 100644 --- a/libc/sysdeps/linux/sh64/sbrk.c +++ b/libc/sysdeps/linux/sh64/sbrk.c @@ -7,7 +7,6 @@ libc_hidden_proto(sbrk) extern void * __curbrk; -libc_hidden_proto(__curbrk) extern int __init_brk (void); libc_hidden_proto(__init_brk) diff --git a/libc/sysdeps/linux/sparc/brk.c b/libc/sysdeps/linux/sparc/brk.c index a855ef013..f6d5281d2 100644 --- a/libc/sysdeps/linux/sparc/brk.c +++ b/libc/sysdeps/linux/sparc/brk.c @@ -24,10 +24,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { diff --git a/libc/sysdeps/linux/vax/brk.c b/libc/sysdeps/linux/vax/brk.c index c8105b639..5b23f6075 100644 --- a/libc/sysdeps/linux/vax/brk.c +++ b/libc/sysdeps/linux/vax/brk.c @@ -22,10 +22,7 @@ #include /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = NULL; -libc_hidden_data_def(__curbrk) libc_hidden_proto(brk) int diff --git a/libc/sysdeps/linux/x86_64/brk.c b/libc/sysdeps/linux/x86_64/brk.c index e0f9637c4..09d911066 100644 --- a/libc/sysdeps/linux/x86_64/brk.c +++ b/libc/sysdeps/linux/x86_64/brk.c @@ -24,10 +24,7 @@ libc_hidden_proto(brk) /* This must be initialized data because commons can't have aliases. */ -extern void *__curbrk; -libc_hidden_proto(__curbrk) void *__curbrk = 0; -libc_hidden_data_def(__curbrk) int brk (void *addr) { -- cgit v1.2.3