* [hurd,commited] hurd: Avoid PLTs for longjmp & siglongjmp
@ 2018-04-04 23:20 Samuel Thibault
2018-04-05 7:27 ` Andreas Schwab
0 siblings, 1 reply; 2+ messages in thread
From: Samuel Thibault @ 2018-04-04 23:20 UTC (permalink / raw)
To: libc-alpha; +Cc: Samuel Thibault
* include/setjmp.h (longjmp, siglongjmp): Add hidden protos.
* setjmp/longjmp.c (longjmp, siglongjmp): Add hidden defs.
* sysdeps/s390/longjmp.c (longjmp, siglongjmp): Add hidden defs.
---
ChangeLog | 6 ++++++
include/setjmp.h | 2 ++
setjmp/longjmp.c | 2 ++
sysdeps/s390/longjmp.c | 2 ++
4 files changed, 12 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 174bb6a46a..58d4d94ec0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-04-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * include/setjmp.h (longjmp, siglongjmp): Add hidden protos.
+ * setjmp/longjmp.c (longjmp, siglongjmp): Add hidden defs.
+ * sysdeps/s390/longjmp.c (longjmp, siglongjmp): Add hidden defs.
+
2018-04-04 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
* sysdeps/powerpc/fpu/libm-test-ulps: Increase double-precision
diff --git a/include/setjmp.h b/include/setjmp.h
index 263bc64b3d..ed582516c9 100644
--- a/include/setjmp.h
+++ b/include/setjmp.h
@@ -26,6 +26,8 @@ extern void __libc_longjmp (sigjmp_buf env, int val)
libc_hidden_proto (_setjmp)
libc_hidden_proto (__sigsetjmp)
+libc_hidden_proto (longjmp)
+libc_hidden_proto (siglongjmp)
# if IS_IN (rtld) && !defined NO_RTLD_HIDDEN
extern __typeof (__sigsetjmp) __sigsetjmp attribute_hidden;
diff --git a/setjmp/longjmp.c b/setjmp/longjmp.c
index a2a7065a85..72d43f45df 100644
--- a/setjmp/longjmp.c
+++ b/setjmp/longjmp.c
@@ -45,5 +45,7 @@ __libc_siglongjmp (sigjmp_buf env, int val)
strong_alias (__libc_siglongjmp, __libc_longjmp)
weak_alias (__libc_siglongjmp, _longjmp)
weak_alias (__libc_siglongjmp, longjmp)
+libc_hidden_def (longjmp)
weak_alias (__libc_siglongjmp, siglongjmp)
+libc_hidden_def (siglongjmp)
#endif
diff --git a/sysdeps/s390/longjmp.c b/sysdeps/s390/longjmp.c
index e61cdba2a3..1064647ee0 100644
--- a/sysdeps/s390/longjmp.c
+++ b/sysdeps/s390/longjmp.c
@@ -43,9 +43,11 @@ weak_alias (__libc_siglongjmp, __v1longjmp)
weak_alias (__libc_siglongjmp, __v2longjmp)
versioned_symbol (libc, __v1longjmp, longjmp, GLIBC_2_0);
compat_symbol (libc, __v2longjmp, longjmp, GLIBC_2_19);
+libc_hidden_def (longjmp)
weak_alias (__libc_siglongjmp, __v1siglongjmp)
weak_alias (__libc_siglongjmp, __v2siglongjmp)
versioned_symbol (libc, __v1siglongjmp, siglongjmp, GLIBC_2_0);
compat_symbol (libc, __v2siglongjmp, siglongjmp, GLIBC_2_19);
+libc_hidden_def (siglongjmp)
#endif /* SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20) */
--
2.14.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [hurd,commited] hurd: Avoid PLTs for longjmp & siglongjmp
2018-04-04 23:20 [hurd,commited] hurd: Avoid PLTs for longjmp & siglongjmp Samuel Thibault
@ 2018-04-05 7:27 ` Andreas Schwab
0 siblings, 0 replies; 2+ messages in thread
From: Andreas Schwab @ 2018-04-05 7:27 UTC (permalink / raw)
To: Samuel Thibault; +Cc: libc-alpha
https://build.opensuse.org/package/live_build_log/home:Andreas_Schwab:glibc/glibc/s/s390x
In file included from <command-line>:0:0:
./../include/libc-symbols.h:471:26: error: '__EI_siglongjmp' aliased to undefined symbol '__GI_siglongjmp'
extern __typeof (name) __EI_##name \
^
./../include/libc-symbols.h:475:29: note: in expansion of macro '__hidden_ver1'
# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
^~~~~~~~~~~~~
./../include/libc-symbols.h:539:32: note: in expansion of macro 'hidden_def'
# define libc_hidden_def(name) hidden_def (name)
^~~~~~~~~~
../sysdeps/s390/longjmp.c:52:1: note: in expansion of macro 'libc_hidden_def'
libc_hidden_def (siglongjmp)
^~~~~~~~~~~~~~~
./../include/libc-symbols.h:471:26: error: '__EI_longjmp' aliased to undefined symbol '__GI_longjmp'
extern __typeof (name) __EI_##name \
^
./../include/libc-symbols.h:475:29: note: in expansion of macro '__hidden_ver1'
# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
^~~~~~~~~~~~~
./../include/libc-symbols.h:539:32: note: in expansion of macro 'hidden_def'
# define libc_hidden_def(name) hidden_def (name)
^~~~~~~~~~
../sysdeps/s390/longjmp.c:46:1: note: in expansion of macro 'libc_hidden_def'
libc_hidden_def (longjmp)
^~~~~~~~~~~~~~~
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-04-05 7:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-04 23:20 [hurd,commited] hurd: Avoid PLTs for longjmp & siglongjmp Samuel Thibault
2018-04-05 7:27 ` Andreas Schwab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).