summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/cris/__init_brk.c3
-rw-r--r--libc/sysdeps/linux/cris/bits/uClibc_arch_features.h2
-rw-r--r--libc/sysdeps/linux/cris/brk.c1
-rw-r--r--libc/sysdeps/linux/cris/sbrk.c1
-rw-r--r--libc/sysdeps/linux/frv/__init_brk.c3
-rw-r--r--libc/sysdeps/linux/frv/brk.c1
-rw-r--r--libc/sysdeps/linux/frv/sbrk.c1
-rw-r--r--libc/sysdeps/linux/h8300/brk.c3
-rw-r--r--libc/sysdeps/linux/hppa/bits/kernel_sigaction.h7
-rw-r--r--libc/sysdeps/linux/hppa/brk.c3
-rw-r--r--libc/sysdeps/linux/i386/bits/uClibc_arch_features.h3
-rw-r--r--libc/sysdeps/linux/i386/brk.c3
-rw-r--r--libc/sysdeps/linux/m68k/brk.c3
-rw-r--r--libc/sysdeps/linux/nios/brk.c3
-rw-r--r--libc/sysdeps/linux/nios2/brk.c4
-rw-r--r--libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h3
-rw-r--r--libc/sysdeps/linux/powerpc/brk.S15
-rw-r--r--libc/sysdeps/linux/sh/__init_brk.c3
-rw-r--r--libc/sysdeps/linux/sh/brk.c1
-rw-r--r--libc/sysdeps/linux/sh/sbrk.c1
-rw-r--r--libc/sysdeps/linux/sh64/__init_brk.c3
-rw-r--r--libc/sysdeps/linux/sh64/brk.c1
-rw-r--r--libc/sysdeps/linux/sh64/sbrk.c1
-rw-r--r--libc/sysdeps/linux/sparc/brk.c3
-rw-r--r--libc/sysdeps/linux/x86_64/bits/wordsize.h1
-rw-r--r--libc/sysdeps/linux/x86_64/brk.c3
26 files changed, 24 insertions, 52 deletions
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 <errno.h>
#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/bits/uClibc_arch_features.h b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
index b62a51020..98548e0bd 100644
--- a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
@@ -40,6 +40,6 @@
#define __UCLIBC_HAVE_SIGNED_ZERO__
/* lovely */
-#define ASM_LINE_SEP @
+#define __UCLIBC_ASM_LINE_SEP__ @
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
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 <unistd.h>
#include <sys/syscall.h>
-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/bits/kernel_sigaction.h b/libc/sysdeps/linux/hppa/bits/kernel_sigaction.h
index cccaabbb9..4ae53fd3c 100644
--- a/libc/sysdeps/linux/hppa/bits/kernel_sigaction.h
+++ b/libc/sysdeps/linux/hppa/bits/kernel_sigaction.h
@@ -1,3 +1,6 @@
+#ifndef _BITS_SIGACTION_STRUCT_H
+#define _BITS_SIGACTION_STRUCT_H
+
/* We have a separate header file here because we do not support
SA_RESTORER on hppa. */
@@ -18,4 +21,6 @@ struct kernel_sigaction {
};
extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
- struct kernel_sigaction *__unbounded, size_t);
+ struct kernel_sigaction *__unbounded, size_t) attribute_hidden;
+
+#endif
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/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
index 718ab2a9c..d08ac0bd7 100644
--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
@@ -18,7 +18,8 @@
#define __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.25, 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/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/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/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/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
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 <unistd.h>
#include <sys/syscall.h>
-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 <unistd.h>
#include <sys/syscall.h>
-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/x86_64/bits/wordsize.h b/libc/sysdeps/linux/x86_64/bits/wordsize.h
index e96a9f1ad..0cce4ead9 100644
--- a/libc/sysdeps/linux/x86_64/bits/wordsize.h
+++ b/libc/sysdeps/linux/x86_64/bits/wordsize.h
@@ -2,6 +2,7 @@
#if defined __x86_64__
# define __WORDSIZE 64
+/*# define __WORDSIZE_COMPAT32 1*/
#else
# define __WORDSIZE 32
#endif
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)
{