aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
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 d5163c6..5b4fdd8 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 f2baf2a..ae6af21 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 36b5355..204c293 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 4131ce2..c93570e 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 5500adf..d913dbb 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 e3c048b..e4ed635 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 0000000..83092db
--- /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 3ff7647..1df6871 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 f409fb5..992cb2f 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 6002fd1..2320590 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)