public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [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).