This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH ld for AIX5 on IA-64


ld/Makefile.am: Add AIX emulation.
ld/Makefile.in: Regenerate.
ld/configure.host:  Add ia64-*-aix* configuration.
ld/configure.tgt: Ditto.
ld/emulparams/elf64_aix.sh: New.  Settings for AIX output files.
ld/testsuite/ld-bootstrap/bootstrap.exp: Exclude AIX/IA-64 from usual
AIX tests.


Index: ld/Makefile.am
===================================================================
RCS file: /cvs/src/src/ld/Makefile.am,v
retrieving revision 1.53
diff -d -c -p -b -w -r1.53 Makefile.am
*** Makefile.am	2001/02/18 23:33:08	1.53
--- Makefile.am	2001/02/20 21:53:53
*************** ALL_EMULATIONS = \
*** 242,247 ****
--- 242,248 ----
  	ez8002.o
  
  ALL_64_EMULATIONS = \
+ 	eelf64_aix.o \
  	eelf64_ia64.o \
  	eelf_x86_64.o \
  	eelf64_s390.o \
*************** eelf64alpha.c: $(srcdir)/emulparams/elf6
*** 486,491 ****
--- 487,495 ----
  eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
+ eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
+   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ 	${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
  eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
Index: ld/Makefile.in
===================================================================
RCS file: /cvs/src/src/ld/Makefile.in,v
retrieving revision 1.58
diff -d -c -p -b -w -r1.58 Makefile.in
*** Makefile.in	2001/02/18 23:33:08	1.58
--- Makefile.in	2001/02/20 21:53:54
*************** ALL_EMULATIONS = \
*** 351,356 ****
--- 351,357 ----
  
  
  ALL_64_EMULATIONS = \
+ 	eelf64_aix.o \
  	eelf64_ia64.o \
  	eelf_x86_64.o \
  	eelf64_s390.o \
*************** eelf64alpha.c: $(srcdir)/emulparams/elf6
*** 1200,1205 ****
--- 1201,1209 ----
  eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
+ eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
+   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ 	${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
  eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
Index: ld/configure.host
===================================================================
RCS file: /cvs/src/src/ld/configure.host,v
retrieving revision 1.13
diff -d -c -p -b -w -r1.13 configure.host
*** configure.host	2001/02/18 02:17:24	1.13
--- configure.host	2001/02/20 21:53:55
*************** ia64-*-linux-gnu*)
*** 115,120 ****
--- 115,126 ----
    HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -L`dirname \`${CC} --print-file-name=libc.so\`` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
    ;;
  
+ ia64-*-aix*)
+   HOSTING_CRT0='-dynamic-linker `egrep "libc.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ 	][ 	]*\(.*/libc.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
+   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -L`dirname \`${CC} --print-file-name=libc.so\`` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
+   NATIVE_LIB_DIRS=/usr/lib/ia64l64
+   ;;
+ 
  mips*-dec-bsd*)
    HOSTING_CRT0=/usr/lib/crt0.o
    ;;
Index: ld/configure.tgt
===================================================================
RCS file: /cvs/src/src/ld/configure.tgt,v
retrieving revision 1.48
diff -d -c -p -b -w -r1.48 configure.tgt
*** configure.tgt	2001/02/19 06:51:51	1.48
--- configure.tgt	2001/02/20 21:53:55
*************** i960-*-elf*)		targ_emul=elf32_i960 ;;
*** 99,104 ****
--- 99,105 ----
  ia64-*-elf*)		targ_emul=elf64_ia64 ;;
  ia64-*-freebsd*)	targ_emul=elf64_ia64 ;;
  ia64-*-linux*)		targ_emul=elf64_ia64 ;;
+ ia64-*-aix*)		targ_emul=elf64_aix ;;
  m32r-*-*)		targ_emul=m32relf ;;
  m68hc11-*-*|m6811-*-*)	targ_emul=m68hc11elf 
  			targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
Index: ld/emulparams/elf64_aix.sh
===================================================================
RCS file: elf64_aix.sh
diff -N elf64_aix.sh
*** /dev/null	Tue May  5 13:32:27 1998
--- elf64_aix.sh	Tue Feb 20 13:53:55 2001
***************
*** 0 ****
--- 1,17 ----
+ # See genscripts.sh and ../scripttempl/elf.sc for the meaning of these.
+ SCRIPT_NAME=elf
+ ELFSIZE=64
+ TEMPLATE_NAME=elf32
+ OUTPUT_FORMAT="elf64-ia64-aix-little"
+ ARCH=ia64
+ MACHINE=
+ MAXPAGESIZE=0x1000
+ TEXT_START_ADDR="0x100000000"
+ DATA_ADDR="0x200000000 + (. & (${MAXPAGESIZE} - 1))"
+ GENERATE_SHLIB_SCRIPT=yes
+ NOP=0x00300000010070000002000001000400  # a bundle full of nops
+ #OTHER_GOT_SYMBOLS='. = ALIGN (8); PROVIDE (__gp = . + 0x200000);'
+ OTHER_GOT_SECTIONS='.IA_64.pltoff : { *(.IA_64.pltoff) }'
+ OTHER_PLT_RELOC_SECTIONS='.rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) }'
+ OTHER_READONLY_SECTIONS='.opd : { *(.opd) }'
+ #LIB_PATH=/usr/lib/ia64l64:/usr/lib:/usr/local/lib
Index: ld/testsuite/ld-bootstrap/bootstrap.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-bootstrap/bootstrap.exp,v
retrieving revision 1.3
diff -d -c -p -b -w -r1.3 bootstrap.exp
*** bootstrap.exp	2001/02/15 01:17:04	1.3
--- bootstrap.exp	2001/02/20 21:53:55
*************** foreach flags {"" "strip" "--static" "--
*** 65,71 ****
      # On AIX, you need to specify an import list when using --static.
      # You only want the import list when creating the final
      # executable.
!     if [istarget "*-*-aix*"] {
  	if {"$flags" == "--static"} {
  	    set flags "--static -bI:/lib/syscalls.exp"
  	}
--- 65,72 ----
      # On AIX, you need to specify an import list when using --static.
      # You only want the import list when creating the final
      # executable.
!     if { [istarget "*-*-aix*"] 
!          && ![istarget "ia64-*-aix*"]} {
  	if {"$flags" == "--static"} {
  	    set flags "--static -bI:/lib/syscalls.exp"
  	}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]