Commit 71c061e6 by David Edelsohn Committed by David Edelsohn

linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.

	* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
	({STARTFILE,ENDFILE}_LINUX_SPEC): Define.

	* config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
	* config/rs6000/eabi.asm: Remove ABI save restore routines.
	* config/rs6000/t-ppccomm: Build crtsavres.o.
	* config/rs6000/crtsavres.asm: New file.

From-SVN: r49873
parent 3a7731fd
2002-02-19 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
* config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
* config/rs6000/eabi.asm: Remove ABI save restore routines.
* config/rs6000/t-ppccomm: Build crtsavres.o.
* config/rs6000/crtsavres.asm: New file.
2002-02-19 Philip Blundell <philb@gnu.org> 2002-02-19 Philip Blundell <philb@gnu.org>
* config/arm/arm.c (use_return_insn): Don't reject interrupt * config/arm/arm.c (use_return_insn): Don't reject interrupt
......
...@@ -87,10 +87,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -87,10 +87,6 @@ Boston, MA 02111-1307, USA. */
#undef JUMP_TABLES_IN_TEXT_SECTION #undef JUMP_TABLES_IN_TEXT_SECTION
#define JUMP_TABLES_IN_TEXT_SECTION 1 #define JUMP_TABLES_IN_TEXT_SECTION 1
/* Define cutoff for using external functions to save floating point. */
#undef FP_SAVE_INLINE
#define FP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) == 62 || (FIRST_REG) == 63)
/* 64-bit PowerPC Linux always has GPR13 fixed. */ /* 64-bit PowerPC Linux always has GPR13 fixed. */
#define FIXED_R13 1 #define FIXED_R13 1
...@@ -142,9 +138,29 @@ Boston, MA 02111-1307, USA. */ ...@@ -142,9 +138,29 @@ Boston, MA 02111-1307, USA. */
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
#undef LINK_OS_LINUX_SPEC #undef LINK_OS_LINUX_SPEC
#ifndef CROSS_COMPILE
#define LINK_OS_LINUX_SPEC "-m elf64ppc %{!shared: %{!static: \ #define LINK_OS_LINUX_SPEC "-m elf64ppc %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}" %{!dynamic-linker:-dynamic-linker /lib64/ld.so.1}}}"
#else
#define LINK_OS_LINUX_SPEC "-m elf64ppc %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker ld.so.1}}}"
#endif
#ifndef CROSS_COMPILE
#undef STARTFILE_LINUX_SPEC
#define STARTFILE_LINUX_SPEC "\
%{!shared: %{pg:/usr/lib64/gcrt1.o%s} %{!pg:%{p:/usr/lib64/gcrt1.o%s} \
%{!p:/usr/lib64/crt1.o%s}}} /usr/lib64/crti.o%s \
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
#endif
#ifndef CROSS_COMPILE
#undef ENDFILE_LINUX_SPEC
#define ENDFILE_LINUX_SPEC "\
%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib64/crtn.o%s"
#endif
#undef TOC_SECTION_ASM_OP #undef TOC_SECTION_ASM_OP
#define TOC_SECTION_ASM_OP "\t.section\t\".toc\",\"aw\"" #define TOC_SECTION_ASM_OP "\t.section\t\".toc\",\"aw\""
......
...@@ -1107,7 +1107,7 @@ do { \ ...@@ -1107,7 +1107,7 @@ do { \
/* Override svr4.h definition. */ /* Override svr4.h definition. */
#undef ENDFILE_SPEC #undef ENDFILE_SPEC
#define ENDFILE_SPEC "\ #define ENDFILE_SPEC "crtsavres.o%s \
%{mads: %(endfile_ads)} \ %{mads: %(endfile_ads)} \
%{myellowknife: %(endfile_yellowknife)} \ %{myellowknife: %(endfile_yellowknife)} \
%{mmvme: %(endfile_mvme)} \ %{mmvme: %(endfile_mvme)} \
......
...@@ -40,7 +40,8 @@ INSTALL_LIBGCC = install-multilib ...@@ -40,7 +40,8 @@ INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \ EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) \ crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) \
ecrti$(objext) ecrtn$(objext) \ ecrti$(objext) ecrtn$(objext) \
ncrti$(objext) ncrtn$(objext) ncrti$(objext) ncrtn$(objext) \
crtsavres$(objext)
# We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and # We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
# end labels to all of the special sections used when we link using gcc. # end labels to all of the special sections used when we link using gcc.
...@@ -58,6 +59,9 @@ ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm ...@@ -58,6 +59,9 @@ ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm
ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
cat $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S cat $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S
crtsavres.S: $(srcdir)/config/rs6000/crtsavres.asm
cat $(srcdir)/config/rs6000/crtsavres.asm >crtsavres.S
# Build multiple copies of ?crt{i,n}.o, one for each target switch. # Build multiple copies of ?crt{i,n}.o, one for each target switch.
$(T)ecrti$(objext): ecrti.S $(T)ecrti$(objext): ecrti.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrti.S -o $(T)ecrti$(objext) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrti.S -o $(T)ecrti$(objext)
...@@ -71,6 +75,9 @@ $(T)ncrti$(objext): ncrti.S ...@@ -71,6 +75,9 @@ $(T)ncrti$(objext): ncrti.S
$(T)ncrtn$(objext): ncrtn.S $(T)ncrtn$(objext): ncrtn.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext)
$(T)crtsavres$(objext): crtsavres.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavres.S -o $(T)crtsavres$(objext)
# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata. # It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
CRTSTUFF_T_CFLAGS = -msdata=none CRTSTUFF_T_CFLAGS = -msdata=none
# Make sure crt*.o are built with -fPIC even if configured with # Make sure crt*.o are built with -fPIC even if configured with
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment