aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-02-07 17:54:45 +0000
committerUlrich Drepper <drepper@redhat.com>2002-02-07 17:54:45 +0000
commitd555194cb3d236bda07fa9ef08f4f7020421763a (patch)
treefcd827d43fd1fb19dd29e7f8c44f92396a95301d /sysdeps
parentd4468ab7887325daf8bcdc8d7591238f3adcc70b (diff)
downloadglibc-d555194cb3d236bda07fa9ef08f4f7020421763a.tar
glibc-d555194cb3d236bda07fa9ef08f4f7020421763a.tar.gz
glibc-d555194cb3d236bda07fa9ef08f4f7020421763a.tar.bz2
glibc-d555194cb3d236bda07fa9ef08f4f7020421763a.zip
Update.
2002-02-07 Andreas Schwab <schwab@suse.de> * configure.in: Fix check for -zcombreloc. 2002-02-06 H.J. Lu <hjl@gnu.org> * config.h.in (HAVE_BUILTIN_MEMSET): New. * configure.in: Check if __builtin_memset really works. * elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of __GNUC_PREREQ (2, 96) before using __builtin_memset. 2002-02-06 Jakub Jelinek <jakub@redhat.com> * io/bug-ftw3.c (main): Don't try the test if root. 2002-02-06 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly constraints. * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS): Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS. * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone a weak alias for __clone. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo. * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate. * sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file. * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap a weak alias for __mmap64. * sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely. * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise. * sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/dl-tls.c2
-rw-r--r--sysdeps/unix/sysv/linux/s390/brk.c7
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/clone.S1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/Makefile8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/Versions7
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h9
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/clone.S1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/mmap.S2
10 files changed, 37 insertions, 12 deletions
diff --git a/sysdeps/generic/dl-tls.c b/sysdeps/generic/dl-tls.c
index d5163c6325..5b4fdd8cf1 100644
--- a/sysdeps/generic/dl-tls.c
+++ b/sysdeps/generic/dl-tls.c
@@ -19,11 +19,11 @@
#include <assert.h>
+#include <tls.h>
/* We don't need any of this if TLS is not supported. */
#ifdef USE_TLS
-#include <tls.h>
#include <dl-tls.h>
#include <ldsodefs.h>
diff --git a/sysdeps/unix/sysv/linux/s390/brk.c b/sysdeps/unix/sysv/linux/s390/brk.c
index f2baf2af71..ae6af21784 100644
--- a/sysdeps/unix/sysv/linux/s390/brk.c
+++ b/sysdeps/unix/sysv/linux/s390/brk.c
@@ -35,14 +35,13 @@ __brk (void *addr)
void *newbrk;
{
- register long r0 asm ("2");
register void *__addr asm("2") = addr;
asm ("svc %b1\n\t" /* call sys_brk */
- : "=d" (r0)
+ : "=d" (__addr)
: "I" (SYS_ify(brk)), "r" (__addr)
- : _svc_clobber );
- newbrk = (void *) r0;
+ : "cc", "memory" );
+ newbrk = __addr;
}
__curbrk = newbrk;
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h b/sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h
index 36b5355f71..204c293584 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h
@@ -1,5 +1,5 @@
/* Bit values & structures for resource limits. Linux version.
- Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -76,7 +76,11 @@ enum __rlimit_resource
RLIMIT_MEMLOCK = 8,
#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK
- RLIMIT_NLIMITS = 10,
+ /* Maximum number of file locks. */
+ RLIMIT_LOCKS = 10,
+#define RLIMIT_LOCKS RLIMIT_LOCKS
+
+ RLIMIT_NLIMITS = 11,
RLIM_NLIMITS = RLIMIT_NLIMITS
#define RLIMIT_NLIMITS RLIMIT_NLIMITS
#define RLIM_NLIMITS RLIM_NLIMITS
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/clone.S b/sysdeps/unix/sysv/linux/s390/s390-32/clone.S
index 4131ce2a51..c93570ed72 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/clone.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/clone.S
@@ -65,3 +65,4 @@ thread_start:
.L1: .long _exit - .L0
#endif
PSEUDO_END (__clone)
+weak_alias (__clone, clone)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h b/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
index 5500adff8b..d913dbb617 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
@@ -1,5 +1,5 @@
/* Low-level statistical profiling support function. Linux/s390 version.
- Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,5 +23,5 @@
static void
profil_counter (int signo, SIGCONTEXT scp)
{
- profile_count((void *) ((unsigned long) GET_PC (scp) & 0x7fffffffUL));
+ profil_count((void *) ((unsigned long) GET_PC (scp) & 0x7fffffffUL));
}
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/Makefile b/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
index e3c048b5a4..e4ed635725 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
@@ -2,3 +2,11 @@ ifeq ($(subdir),misc)
sysdep_routines += setfsgid setfsuid setresgid setresuid
sysdep_headers += sys/elf.h
endif
+
+ifeq ($(subdir),elf)
+ifeq (yes,$(build-shared))
+# This is needed to support g++ v2 and v3.
+sysdep_routines += framestate
+shared-only-routines += framestate
+endif
+endif
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/Versions b/sysdeps/unix/sysv/linux/s390/s390-64/Versions
new file mode 100644
index 0000000000..83092db48e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/Versions
@@ -0,0 +1,7 @@
+libc {
+ GLIBC_2.2 {
+ # Exception handling support functions from libgcc
+ __register_frame; __register_frame_table; __deregister_frame;
+ __frame_state_for; __register_frame_info_table;
+ }
+}
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h b/sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h
index 3ff76479e1..1df6871813 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h
@@ -1,5 +1,5 @@
/* Bit values & structures for resource limits. 64 bit S/390 version.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -76,7 +76,12 @@ enum __rlimit_resource
RLIMIT_AS = 9,
#define RLIMIT_AS RLIMIT_AS
- RLIM_NLIMITS = 10
+ /* Maximum number of file locks. */
+ RLIMIT_LOCKS = 10,
+#define RLIMIT_LOCKS RLIMIT_LOCKS
+
+ RLIMIT_NLIMITS = 11,
+ RLIM_NLIMITS = RLIMIT_NLIMITS
#define RLIMIT_NLIMITS RLIMIT_NLIMITS
#define RLIM_NLIMITS RLIM_NLIMITS
};
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
index f409fb5d02..992cb2f10f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
@@ -53,3 +53,4 @@ thread_start:
#endif
jg _exit@PLT /* branch to _exit -> thread termination */
PSEUDO_END (__clone)
+weak_alias (__clone, clone)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S b/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S
index 6002fd12c0..23205901d4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S
@@ -64,4 +64,4 @@ PSEUDO_END (__mmap)
weak_alias (__mmap, mmap)
weak_alias (__mmap, mmap64)
-
+weak_alias (__mmap, __mmap64)