Cort Dougan <cort@attis.cs.nmt.edu>
authorRichard Henderson <rth@redhat.com>
Sun, 30 May 1999 15:55:31 +0000 (15:55 +0000)
committerRichard Henderson <rth@redhat.com>
Sun, 30 May 1999 15:55:31 +0000 (15:55 +0000)
        * Makefile.am (ALL_EMULATIONS): Add eelf32ppclinux.o.
        * configure.tgt (powerpc-*-linux-gnu): Use it.
        * emulparams/elf32ppclinux.sh: New file.

ld/Makefile.am
ld/Makefile.in
ld/configure.tgt
ld/emulparams/elf32ppclinux.sh [new file with mode: 0644]

index 774d770d7999a3a214817daf1c5c6c2a8affc21c..d7e34a799c82e51b8dfed71175b4f6c1d1f7ec00 100644 (file)
@@ -126,6 +126,7 @@ ALL_EMULATIONS = \
        eelf32lmip.o \
        eelf32lppc.o \
        eelf32ppc.o \
+       eelf32ppclinux.o \
        eelf_i386.o \
        eelf_i386_be.o \
        egld960.o \
@@ -368,6 +369,9 @@ eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
 eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfppc.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)"
+eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
+  $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfppc.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
 eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
index e33634be0d32e2659982698a7d91dca4e17f3888..e39dd97140fd1980a9dccdc3ed2af6fceaebc29a 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -46,9 +46,10 @@ AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
 INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
 transform = @program_transform_name@
 
 NORMAL_INSTALL = :
@@ -143,49 +144,19 @@ HOSTING_LIBS = @HOSTING_LIBS@
 HOSTING_EMU = -m $(EMUL)
 
 # Setup the testing framework, if you have one
-EXPECT = `if [ -f $$r/../expect/expect ] ; \
-       then echo $$r/../expect/expect ; \
-       else echo expect ; fi`
+EXPECT = `if [ -f $$r/../expect/expect ] ;     then echo $$r/../expect/expect ;        else echo expect ; fi`
 
 
-RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ; \
-       then echo $${srcroot}/../dejagnu/runtest ; \
-       else echo runtest ; fi`
+RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ;  then echo $${srcroot}/../dejagnu/runtest ;      else echo runtest ; fi`
 
 
 RUNTESTFLAGS = 
 
-CC_FOR_TARGET = ` \
-  if [ -f $$r/../gcc/xgcc ] ; then \
-    if [ -f $$r/../newlib/Makefile ] ; then \
-      echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
-    else \
-      echo $$r/../gcc/xgcc -B$$r/../gcc/; \
-    fi; \
-  else \
-    if [ "@host@" = "@target@" ] ; then \
-      echo $(CC); \
-    else \
-      echo gcc | sed '$(transform)'; \
-    fi; \
-  fi`
+CC_FOR_TARGET = `   if [ -f $$r/../gcc/xgcc ] ; then     if [ -f $$r/../newlib/Makefile ] ; then       echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc;     else       echo $$r/../gcc/xgcc -B$$r/../gcc/;     fi;   else     if [ "@host@" = "@target@" ] ; then       echo $(CC);     else       echo gcc | sed '$(transform)';     fi;   fi`
 
 
 CXX = gcc
-CXX_FOR_TARGET = ` \
-  if [ -f $$r/../gcc/xgcc ] ; then \
-    if [ -f $$r/../newlib/Makefile ] ; then \
-      echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
-    else \
-      echo $$r/../gcc/xgcc -B$$r/../gcc/; \
-    fi; \
-  else \
-    if [ "@host@" = "@target@" ] ; then \
-      echo $(CXX); \
-    else \
-      echo gcc | sed '$(transform)'; \
-    fi; \
-  fi`
+CXX_FOR_TARGET = `   if [ -f $$r/../gcc/xgcc ] ; then     if [ -f $$r/../newlib/Makefile ] ; then       echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc;     else       echo $$r/../gcc/xgcc -B$$r/../gcc/;     fi;   else     if [ "@host@" = "@target@" ] ; then       echo $(CXX);     else       echo gcc | sed '$(transform)';     fi;   fi`
 
 
 noinst_PROGRAMS = ld-new
@@ -198,142 +169,25 @@ INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) -I$(to
 BFDLIB = ../bfd/libbfd.la
 LIBIBERTY = ../libiberty/libiberty.a
 
-ALL_EMULATIONS = \
-       ea29k.o \
-       eaixppc.o \
-       eaixrs6.o \
-       ealpha.o \
-       earcelf.o \
-       earmelf.o \
-       earmelf_oabi.o \
-       earmelf_linux.o \
-       earmelf_linux26.o \
-       earmaoutb.o \
-       earmaoutl.o \
-       earmcoff.o \
-       earmpe.o \
-       ecoff_sparc.o \
-       ed10velf.o \
-       ed30velf.o \
-       ed30v_e.o \
-       ed30v_o.o \
-       edelta68.o \
-       eebmon29k.o \
-       eelf32_sparc.o \
-       eelf32_i960.o \
-       eelf32b4300.o \
-       eelf32bmip.o \
-       eelf32ebmip.o \
-       eelf32elmip.o \
-       eelf32l4300.o \
-       eelf32lmip.o \
-       eelf32lppc.o \
-       eelf32ppc.o \
-       eelf_i386.o \
-       eelf_i386_be.o \
-       egld960.o \
-       egld960coff.o \
-       eelf32fr30.o \
-       eelf32mcore.o \
-       ego32.o \
-       eh8300.o \
-       eh8300h.o \
-       eh8300s.o \
-       eh8500.o \
-       eh8500b.o \
-       eh8500c.o \
-       eh8500m.o \
-       eh8500s.o \
-       ehp300bsd.o \
-       ehp3hpux.o \
-       ehppaelf.o \
-       ei386aout.o \
-       ei386beos.o \
-       ei386bsd.o \
-       ei386coff.o \
-       ei386go32.o \
-       ei386linux.o \
-       ei386lynx.o \
-       ei386mach.o \
-       ei386moss.o \
-       ei386msdos.o \
-       ei386nbsd.o \
-       ei386nw.o \
-       ei386pe.o \
-       elnk960.o \
-       em68k4knbsd.o \
-       em68kaout.o \
-       em68kaux.o \
-       em68kcoff.o \
-       em68kelf.o \
-       em68klinux.o \
-       em68klynx.o \
-       em68knbsd.o \
-       em68kpsos.o \
-       em88kbcs.o \
-       emcorepe.o \
-       emipsbig.o \
-       emipsbsd.o \
-       emipsidt.o \
-       emipsidtl.o \
-       emipslit.o \
-       emipslnews.o \
-       enews.o \
-       ens32knbsd.o \
-       epc532macha.o \
-       eppcmacos.o \
-       eppcnw.o \
-       eppcpe.o \
-       eriscix.o \
-       esa29200.o \
-       esh.o \
-       eshelf.o \
-       eshlelf.o \
-       eshl.o \
-       esparcaout.o \
-       esparclinux.o \
-       esparclynx.o \
-       esparcnbsd.o \
-       est2000.o \
-       esun3.o \
-       esun4.o \
-       etic30aout.o \
-       etic30coff.o \
-       etic80coff.o \
-       evanilla.o \
-       evax.o \
-       evsta.o \
-       ew65.o \
-       ez8001.o \
-       ez8002.o
-
-
-ALL_64_EMULATIONS = \
-       eelf64_sparc.o \
-       eelf64alpha.o
-
-
-ALL_EMUL_EXTRA_OFILES = \
-       pe-dll.o \
-       deffilep.o
-
-
-CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
-       ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
-       mri.c ldcref.c pe-dll.c
-
-
-HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
-       ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
-       ldwrite.h mri.h deffile.h
+ALL_EMULATIONS =       ea29k.o         eaixppc.o       eaixrs6.o       ealpha.o        earcelf.o       earmelf.o       earmelf_oabi.o  earmelf_linux.o         earmelf_linux26.o       earmaoutb.o     earmaoutl.o     earmcoff.o      earmpe.o        ecoff_sparc.o   ed10velf.o      ed30velf.o      ed30v_e.o       ed30v_o.o       edelta68.o      eebmon29k.o     eelf32_sparc.o  eelf32_i960.o   eelf32b4300.o   eelf32bmip.o    eelf32ebmip.o   eelf32elmip.o   eelf32l4300.o   eelf32lmip.o    eelf32lppc.o    eelf32ppc.o     eelf32ppclinux.o        eelf_i386.o     eelf_i386_be.o  egld960.o       egld960coff.o   eelf32fr30.o    eelf32mcore.o   ego32.o         eh8300.o        eh8300h.o       eh8300s.o       eh8500.o        eh8500b.o       eh8500c.o       eh8500m.o       eh8500s.o       ehp300bsd.o     ehp3hpux.o      ehppaelf.o      ei386aout.o     ei386beos.o     ei386bsd.o      ei386coff.o     ei386go32.o     ei386linux.o    ei386lynx.o     ei386mach.o     ei386moss.o     ei386msdos.o    ei386nbsd.o     ei386nw.o       ei386pe.o       elnk960.o       em68k4knbsd.o   em68kaout.o     em68kaux.o      em68kcoff.o     em68kelf.o      em68klinux.o    em68klynx.o     em68knbsd.o     em68kpsos.o     em88kbcs.o      emcorepe.o      emipsbig.o      emipsbsd.o      emipsidt.o      emipsidtl.o     emipslit.o      emipslnews.o    enews.o         ens32knbsd.o    epc532macha.o   eppcmacos.o     eppcnw.o        eppcpe.o        eriscix.o       esa29200.o      esh.o   eshelf.o        eshlelf.o       eshl.o  esparcaout.o    esparclinux.o   esparclynx.o    esparcnbsd.o    est2000.o       esun3.o         esun4.o         etic30aout.o    etic30coff.o    etic80coff.o    evanilla.o      evax.o  evsta.o         ew65.o  ez8001.o        ez8002.o
+
+
+ALL_64_EMULATIONS =    eelf64_sparc.o  eelf64alpha.o
+
+
+ALL_EMUL_EXTRA_OFILES =        pe-dll.o        deffilep.o
+
+
+CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c   ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c    mri.c ldcref.c pe-dll.c
+
+
+HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h       ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h      ldwrite.h mri.h deffile.h
 
 
 GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
 GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
 
-OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \
-       ldwrite.o ldexp.o  ldemul.o ldver.o ldmisc.o \
-       ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
+OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o    ldwrite.o ldexp.o  ldemul.o ldver.o ldmisc.o    ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
 
 
 STAGESTUFF = *.o ldscripts/* e*.c
@@ -349,8 +203,7 @@ POTFILES = $(CFILES) $(HFILES) $(EMULATION_FILES)
 GENSCRIPTS = $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} @host@ @target@ @target_alias@ ${EMUL} "@NATIVE_LIB_DIRS@"
 GEN_DEPENDS = $(srcdir)/genscripts.sh $(srcdir)/emultempl/stringify.sed
 
-ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
-       ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c
+ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c    ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c
 
 ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLDEPS)
 ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLLIBS)
@@ -360,8 +213,7 @@ TESTBFDLIB = @TESTBFDLIB@
 
 MAINTAINERCLEANFILES = ldver.texi
 
-MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \
-       ldemul-list.h crtbegin.o crtend.o ld.log ld.sum
+MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT)        ldemul-list.h crtbegin.o crtend.o ld.log ld.sum
 
 CLEANFILES = dep.sed .dep .dep1
 
@@ -796,7 +648,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          if test -f $$file; then d=.; else d=$(srcdir); fi; \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -865,7 +717,7 @@ uninstall: uninstall-recursive
 all-am: Makefile $(PROGRAMS) $(MANS) config.h
 all-redirect: all-recursive-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
 installdirs: installdirs-recursive
 installdirs-am:
        $(mkinstalldirs)  $(DESTDIR)$(mandir)/man1
@@ -1067,6 +919,9 @@ eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
 eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfppc.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)"
+eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
+  $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfppc.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
 eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
index 2654dbb27a52cc9e939e0394d7757b1a5978662c..c85d834de8a649fb45b3340835bf48089ad78f48 100644 (file)
@@ -214,7 +214,8 @@ alpha*-*-netbsd*)   targ_emul=elf64alpha ;;
 z8k-*-coff)            targ_emul=z8002; targ_extra_emuls=z8001 ;;
 ns32k-pc532-mach* | ns32k-pc532-ux*)   targ_emul=pc532macha ;;
 ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
-powerpc-*-elf* | powerpc-*-eabi* | powerpc-*-linux-gnu* | powerpc-*-sysv* \
+powerpc-*-linux-gnu*)  targ_emul=elf32ppclinux; targ_extra_emuls=elf32ppc;;
+powerpc-*-elf* | powerpc-*-eabi* | powerpc-*-sysv* \
   | powerpc-*-netbsd* | powerpc-*-vxworks*)
        targ_emul=elf32ppc ;;
 powerpcle-*-elf* | powerpcle-*-eabi* | powerpcle-*-solaris* \
diff --git a/ld/emulparams/elf32ppclinux.sh b/ld/emulparams/elf32ppclinux.sh
new file mode 100644 (file)
index 0000000..5808e4d
--- /dev/null
@@ -0,0 +1,8 @@
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+SCRIPT_NAME=elfppc
+OUTPUT_FORMAT="elf32-powerpc"
+TEXT_START_ADDR=0x10000000
+MAXPAGESIZE=0x40000
+ARCH=powerpc
+MACHINE=