summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2015-11-25 02:42:34 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2015-11-25 02:42:34 +0100
commite51bdab72fba724fb1040cec9fb38127cd40b229 (patch)
tree0e987979767bfa574c2b670701ef76edd7e1ca57
parent58695b88a9deaecbcf7794760cc333177edaa2b4 (diff)
Fix hurd build with hidden support
From glibc git 6e45e6ef4de173f8b94de07f9522c35fc230151c
-rw-r--r--.topdeps2
-rw-r--r--.topmsg19
-rw-r--r--sysdeps/i386/setjmp.S1
-rw-r--r--sysdeps/mach/hurd/accept4.c1
-rw-r--r--sysdeps/mach/hurd/configure3
-rw-r--r--sysdeps/mach/hurd/configure.ac3
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c3
-rw-r--r--sysdeps/mach/hurd/fxstatat64.c1
-rw-r--r--sysdeps/mach/hurd/if_index.c9
-rw-r--r--sysdeps/mach/hurd/open.c2
-rw-r--r--sysdeps/mach/hurd/sigwait.c1
-rw-r--r--sysdeps/mach/hurd/xmknodat.c2
-rw-r--r--sysdeps/mach/nanosleep.c6
13 files changed, 25 insertions, 28 deletions
diff --git a/.topdeps b/.topdeps
index df7c3c6e56..180b47c18b 100644
--- a/.topdeps
+++ b/.topdeps
@@ -1 +1 @@
-9a869d822025be8e43b78234997b10bf0cf9d859
+baseline
diff --git a/.topmsg b/.topmsg
index dd6634c886..e9472ec4ac 100644
--- a/.topmsg
+++ b/.topmsg
@@ -1,16 +1,7 @@
-Subject: Baseline for our topic branches.
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Subject: [PATCH] cvs/hidden
----
+From glibc git 6e45e6ef4de173f8b94de07f9522c35fc230151c
+Fix hurd build with hidden support
-This need not strictly be a TopGit branch, but it is for easy synchronization
-between different machines.
-
-As the baseline is merged into the topic branches, it is forward-only.
-
-To advance it:
-
- $ echo [SHA1] > .topdeps
- $ git commit -m Advance. -- .topdeps
- $ tg update
-
----
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
diff --git a/sysdeps/i386/setjmp.S b/sysdeps/i386/setjmp.S
index b7637debee..2294e6ab7a 100644
--- a/sysdeps/i386/setjmp.S
+++ b/sysdeps/i386/setjmp.S
@@ -55,3 +55,4 @@ ENTRY (__sigsetjmp)
jmp __sigjmp_save
#endif
END (__sigsetjmp)
+hidden_def (__sigsetjmp)
diff --git a/sysdeps/mach/hurd/accept4.c b/sysdeps/mach/hurd/accept4.c
index 142eafc780..6f28c0d908 100644
--- a/sysdeps/mach/hurd/accept4.c
+++ b/sysdeps/mach/hurd/accept4.c
@@ -95,5 +95,4 @@ __libc_accept4 (int fd, __SOCKADDR_ARG addrarg, socklen_t *addr_len, int flags)
return _hurd_intern_fd (new, O_IGNORE_CTTY | flags, 1);
}
-libc_hidden_def (__libc_accept4)
weak_alias (__libc_accept4, accept4)
diff --git a/sysdeps/mach/hurd/configure b/sysdeps/mach/hurd/configure
index a0f97217e9..ae69207019 100644
--- a/sysdeps/mach/hurd/configure
+++ b/sysdeps/mach/hurd/configure
@@ -1,8 +1,5 @@
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
-$as_echo "#define NO_HIDDEN 1" >>confdefs.h
-
-
# Don't bother trying to generate any glue code to be compatible with the
# existing system library, because we are the only system library.
inhibit_glue=yes
diff --git a/sysdeps/mach/hurd/configure.ac b/sysdeps/mach/hurd/configure.ac
index ad915a568b..60d3589506 100644
--- a/sysdeps/mach/hurd/configure.ac
+++ b/sysdeps/mach/hurd/configure.ac
@@ -1,8 +1,5 @@
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-dnl We need this setting because of the need for PLT calls in ld.so.
-AC_DEFINE([NO_HIDDEN])
-
# Don't bother trying to generate any glue code to be compatible with the
# existing system library, because we are the only system library.
inhibit_glue=yes
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index 7f79d1a415..6b8ed0dd81 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -55,7 +55,8 @@ INTVARDEF(__libc_enable_secure)
int __libc_multiple_libcs = 0; /* Defining this here avoids the inclusion
of init-first. */
/* This variable contains the lowest stack address ever used. */
-void *__libc_stack_end;
+void *__libc_stack_end attribute_relro = NULL;
+rtld_hidden_data_def(__libc_stack_end)
#if HP_TIMING_AVAIL
hp_timing_t _dl_cpuclock_offset;
diff --git a/sysdeps/mach/hurd/fxstatat64.c b/sysdeps/mach/hurd/fxstatat64.c
index 61b0f8b6d9..f7339d1ba5 100644
--- a/sysdeps/mach/hurd/fxstatat64.c
+++ b/sysdeps/mach/hurd/fxstatat64.c
@@ -43,3 +43,4 @@ __fxstatat64 (int vers, int fd, const char *filename, struct stat64 *buf,
return __hurd_fail (err);
}
+libc_hidden_def (__fxstatat64)
diff --git a/sysdeps/mach/hurd/if_index.c b/sysdeps/mach/hurd/if_index.c
index 9d0ca62fa1..feb809cb03 100644
--- a/sysdeps/mach/hurd/if_index.c
+++ b/sysdeps/mach/hurd/if_index.c
@@ -53,7 +53,7 @@ libc_hidden_def (if_nametoindex)
/* Free the structure IFN returned by if_nameindex. */
void
-if_freenameindex (struct if_nameindex *ifn)
+__if_freenameindex (struct if_nameindex *ifn)
{
struct if_nameindex *ptr = ifn;
while (ptr->if_name || ptr->if_index)
@@ -63,12 +63,15 @@ if_freenameindex (struct if_nameindex *ifn)
}
free (ifn);
}
+libc_hidden_def (__if_freenameindex)
+weak_alias (__if_freenameindex, if_freenameindex)
+libc_hidden_weak (if_freenameindex)
/* Return an array of if_nameindex structures, one for each network
interface present, plus one indicating the end of the array. On
error, return NULL. */
struct if_nameindex *
-if_nameindex (void)
+__if_nameindex (void)
{
error_t err = 0;
char data[2048];
@@ -148,6 +151,8 @@ if_nameindex (void)
__set_errno (err);
return idx;
}
+weak_alias (__if_nameindex, if_nameindex)
+libc_hidden_weak (if_nameindex)
/* Store the name of the interface corresponding to index IFINDEX in
IFNAME (which has space for at least IFNAMSIZ characters). Return
diff --git a/sysdeps/mach/hurd/open.c b/sysdeps/mach/hurd/open.c
index 7d9b2de70c..c40ac58f41 100644
--- a/sysdeps/mach/hurd/open.c
+++ b/sysdeps/mach/hurd/open.c
@@ -56,5 +56,5 @@ weak_alias (__libc_open, open)
/* open64 is just the same as open for us. */
weak_alias (__libc_open, __libc_open64)
weak_alias (__libc_open, __open64)
-libc_hidden_weak (_open64)
+libc_hidden_weak (__open64)
weak_alias (__libc_open, open64)
diff --git a/sysdeps/mach/hurd/sigwait.c b/sysdeps/mach/hurd/sigwait.c
index 89193e6dfd..46672d64c3 100644
--- a/sysdeps/mach/hurd/sigwait.c
+++ b/sysdeps/mach/hurd/sigwait.c
@@ -129,4 +129,5 @@ all_done:
return 0;
}
+libc_hidden_def (__sigwait)
weak_alias (__sigwait, sigwait)
diff --git a/sysdeps/mach/hurd/xmknodat.c b/sysdeps/mach/hurd/xmknodat.c
index fca8eded0c..379170ff95 100644
--- a/sysdeps/mach/hurd/xmknodat.c
+++ b/sysdeps/mach/hurd/xmknodat.c
@@ -115,3 +115,5 @@ __xmknodat (int vers, int fd, const char *path, mode_t mode, dev_t *dev)
return __hurd_fail (err);
return 0;
}
+
+libc_hidden_def (__xmknodat)
diff --git a/sysdeps/mach/nanosleep.c b/sysdeps/mach/nanosleep.c
index 5e53e21319..1b6f828ba6 100644
--- a/sysdeps/mach/nanosleep.c
+++ b/sysdeps/mach/nanosleep.c
@@ -19,10 +19,11 @@
#include <errno.h>
#include <mach.h>
#include <sys/time.h>
+#include <time.h>
#include <unistd.h>
int
-__nanosleep (const struct timespec *requested_time,
+__libc_nanosleep (const struct timespec *requested_time,
struct timespec *remaining)
{
mach_port_t recv;
@@ -64,5 +65,6 @@ __nanosleep (const struct timespec *requested_time,
return 0;
}
+weak_alias(__libc_nanosleep, __nanosleep)
libc_hidden_def (__nanosleep)
-weak_alias (__nanosleep, nanosleep)
+weak_alias (__libc_nanosleep, nanosleep)