* Fix mips build with GCC 9 [committed]
@ 2018-11-13 1:56 Joseph Myers
0 siblings, 0 replies; only message in thread
From: Joseph Myers @ 2018-11-13 1:56 UTC (permalink / raw)
To: libc-alpha
This patch fixes the build for MIPS (o32) with GCC 9 by stopping MIPS
__longjmp from using strong_alias, instead defining the alias
manually, so that the intended effect of not copying the nomips16
attribute is achieved, as explained in the included comment.
Tested with build-many-glibcs.py compilers build for mips64-linux-gnu
(which includes glibc builds for all three ABIs). Committed.
2018-11-13 Joseph Myers <joseph@codesourcery.com>
* sysdeps/mips/__longjmp.c (__longjmp): Define alias manually with
alias attribute, not with strong_alias.
diff --git a/sysdeps/mips/__longjmp.c b/sysdeps/mips/__longjmp.c
index 56bb73f1bc..7c95bc4030 100644
--- a/sysdeps/mips/__longjmp.c
+++ b/sysdeps/mips/__longjmp.c
@@ -81,4 +81,9 @@ ____longjmp (__jmp_buf env_arg, int val_arg)
for (;;);
}
-strong_alias (____longjmp, __longjmp);
+/* Not using strong_alias because the nomips16 attribute cannot be
+ copied from ____longjmp to __longjmp, because of the
+ architecture-independent declaration of __longjmp without the
+ attribute and compiler errors for such attributes not being the
+ same on all declarations. */
+extern __typeof (____longjmp) __longjmp __attribute__ ((alias ("____longjmp")));
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-11-13 1:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-13 1:56 Fix mips build with GCC 9 [committed] Joseph Myers
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).