aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2020-10-15 17:39:05 +0000
committerOlivier Hainque <hainque@adacore.com>2020-10-16 15:33:35 +0000
commit2d23fd23bbb84a6ea87cb8c77699261d6ae8100e (patch)
treefdea67b41f9166315db151402c0f5909f20a46b9
parent57dd4e7bb754db3f2ccdffd031d8f252d0a6d3bb (diff)
downloadgcc-2d23fd23bbb84a6ea87cb8c77699261d6ae8100e.zip
gcc-2d23fd23bbb84a6ea87cb8c77699261d6ae8100e.tar.gz
gcc-2d23fd23bbb84a6ea87cb8c77699261d6ae8100e.tar.bz2
Fix the vxworks crtstuff handling of kernel/rtp variations
The ports that support RTPs achieve the kernel/rtp compilation and link distinction through the multilib mechanism. This patch just removes the bogus explicit extraneous materialization of this distinction in the common VxWorks configuration files and leaves the rtp specialization all to the multilib machinery. 2020-10-15 Olivier Hainque <hainque@adacore.com> libgcc/ * config/t-vxcrtstuff: Remove the -kernel/-rtp specialization. gcc/ * config/vxworks.h (VX_CRTBEGIN_SPEC): Likewise.
-rw-r--r--gcc/config/vxworks.h3
-rw-r--r--libgcc/config/t-vxcrtstuff12
2 files changed, 7 insertions, 8 deletions
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index d3c417e..5b15380 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -158,8 +158,7 @@ along with GCC; see the file COPYING3. If not see
/* Setup the crtstuff begin/end we might need for dwarf EH registration. */
#if !defined(CONFIG_SJLJ_EXCEPTIONS) && DWARF2_UNWIND_INFO
-#define VX_CRTBEGIN_SPEC \
- "%{!mrtp:vx_crtbegin-kernel.o%s} %{mrtp:vx_crtbegin-rtp.o%s}"
+#define VX_CRTBEGIN_SPEC "vx_crtbegin.o%s"
#define VX_CRTEND_SPEC "-l:vx_crtend.o"
#else
#define VX_CRTBEGIN_SPEC ""
diff --git a/libgcc/config/t-vxcrtstuff b/libgcc/config/t-vxcrtstuff
index 96b7285..ef64951 100644
--- a/libgcc/config/t-vxcrtstuff
+++ b/libgcc/config/t-vxcrtstuff
@@ -1,12 +1,12 @@
-# crtbegin/crtend for VxWorks (DKM or RTP)
+# crtbegin/crtend for VxWorks
-vx_crtbegin-kernel.o: $(srcdir)/config/vxcrtstuff.c
+vx_crtbegin.o: $(srcdir)/config/vxcrtstuff.c
$(crt_compile) $(CRTSTUFF_T_CFLAGS) -DCRT_BEGIN -c $<
-vx_crtbegin-rtp.o: $(srcdir)/config/vxcrtstuff.c
- $(crt_compile) $(CRTSTUFF_T_CFLAGS) -DCRT_BEGIN -c $< -mrtp
-
vx_crtend.o: $(srcdir)/config/vxcrtstuff.c
$(crt_compile) $(CRTSTUFF_T_CFLAGS) -DCRT_END -c $<
-EXTRA_PARTS += vx_crtbegin-kernel.o vx_crtbegin-rtp.o vx_crtend.o
+# We do pretty different things for kernel vs rtp modes, all
+# controlled thanks to __RTP__ and (optional) multilibs.
+
+EXTRA_PARTS += vx_crtbegin.o vx_crtend.o