diff options
Diffstat (limited to 'libc/sysdeps/linux/powerpc')
| -rw-r--r-- | libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h | 3 | ||||
| -rw-r--r-- | libc/sysdeps/linux/powerpc/brk.S | 15 |
2 files changed, 14 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h index 1e994ec68..7efa8c40f 100644 --- a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h +++ b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h @@ -18,7 +18,8 @@ #undef __UCLIBC_BROKEN_CREATE_MODULE__ /* does your target have to worry about older [gs]etrlimit() ? */ -#define __UCLIBC_HANDLE_OLDER_RLIMIT__ +/* this is only an issue on i386 where linux < 2.3.35, so we just assume it works ... */ +#undef __UCLIBC_HANDLE_OLDER_RLIMIT__ /* does your target prefix all symbols with an _ ? */ #define __UCLIBC_NO_UNDERSCORES__ diff --git a/libc/sysdeps/linux/powerpc/brk.S b/libc/sysdeps/linux/powerpc/brk.S index b7b19d153..b06dc0c94 100644 --- a/libc/sysdeps/linux/powerpc/brk.S +++ b/libc/sysdeps/linux/powerpc/brk.S @@ -24,7 +24,18 @@ #include <sys/syscall.h> #ifdef __NR_brk - .comm __curbrk,4,4 + +#ifdef __PIC__ +.section .bss + .align 4 + .globl __curbrk +__curbrk: .skip 4 + .type __curbrk,@object + .size __curbrk,4 +#else +.comm __curbrk, 4,4 +#endif + .text .globl brk .type brk,@function @@ -58,6 +69,4 @@ brk: .size brk,.-brk libc_hidden_def(brk) -/* won't help too much, HIDDEN_JUMPTARGET should be used here as well, now the reloc remains */ -libc_hidden_data_def(__curbrk) #endif |
