PATCH (take 2) - QNX bfd cleanup
Graeme Peterson
gp@qnx.com
Thu Oct 31 14:07:00 GMT 2002
I missed elf-bfd.h and elfxx-target.h.
Here is an updated patch and ChangeLog entry.
For future reference, if this happens again, should I repost the
entire updated patch and ChangeLog (as i have done here), or
just post the new portion of the patch and ChangeLog?
Regards,
GP
--------------------------
bfd/ChangeLog entry
2002-10-31 Graeme Peterson <gp@qnx.com>
* Makefile.am: Removed entries for elf32-qnx.[ch].
* Makefile.in: Regenerate.
* config.bfd: Changed arm-nto to use bfd_elf32_{big|little}arm_vec,
ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
* configure.in: Removed support for bfd_elf32_sh{l}qnx_vec,
bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
* configure: Regenerate.
* elf32-qnx.[ch]: Removed.
* elf.c: Removed calls to QNX specific set_nonloadable_filepos,
is_contained_by_filepos, and copy_private_bfd_data_p.
* elf32-i386.c: Removed QNX extended bfd support.
* elf32-ppc.c: Removed QNX extended bfd support.
* elf32-sh.c: Removed QNX extended bfd support.
* elfarm-nabi.c: Removed QNX extended bfd support.
* targets.c: Removed qnx vectors.
* elfxx-target.h: Removed QNX specific elf_backend_set_nonloadable_filepos,
elf_backend_is_contained_by_filepos, and elf_backend_copy_private_bfd_data_p.
* elf-bfd.h: Removed QNX specific set_nonloadable_filepos,
is_contained_by_filepos, and copy_private_bfd_data_p.
-------------- next part --------------
diff -rc3p -N src.orig/bfd/Makefile.am src/bfd/Makefile.am
*** src.orig/bfd/Makefile.am Wed Oct 16 04:39:34 2002
--- src/bfd/Makefile.am Mon Oct 28 15:12:16 2002
*************** BFD32_BACKENDS = \
*** 233,239 ****
elf32-or32.lo \
elf32-pj.lo \
elf32-ppc.lo \
- elf32-qnx.lo \
elf32-s390.lo \
elf32-sh.lo \
elf32-sh64.lo \
--- 233,238 ----
*************** BFD32_BACKENDS_CFILES = \
*** 388,394 ****
elf32-or32.c \
elf32-pj.c \
elf32-ppc.c \
- elf32-qnx.c \
elf32-sh64.c \
elf32-sh64-com.c \
elf32-s390.c \
--- 387,392 ----
*************** CFILES = $(SOURCE_CFILES) $(BUILD_CFILES
*** 561,567 ****
## This is a list of all .h files which are in the source tree.
SOURCE_HFILES = \
aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
! elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h elf32-qnx.h \
elf64-hppa.h elfcode.h elfcore.h elflink.h \
freebsd.h genlink.h go32stub.h \
libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \
--- 559,565 ----
## This is a list of all .h files which are in the source tree.
SOURCE_HFILES = \
aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
! elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h \
elf64-hppa.h elfcode.h elfcore.h elflink.h \
freebsd.h genlink.h go32stub.h \
libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \
*************** elfarm-oabi.lo: elfarm-oabi.c $(INCDIR)/
*** 1099,1105 ****
elfarm-nabi.lo: elfarm-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \
$(INCDIR)/filenames.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
! elf32-arm.h elf32-target.h elf32-qnx.h
elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \
--- 1097,1103 ----
elfarm-nabi.lo: elfarm-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \
$(INCDIR)/filenames.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
! elf32-arm.h elf32-target.h
elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \
*************** elf32-i370.lo: elf32-i370.c $(INCDIR)/fi
*** 1146,1152 ****
elf32-i386.lo: elf32-i386.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h $(INCDIR)/elf/reloc-macros.h \
! elf32-target.h elf32-qnx.h
elf32-i860.lo: elf32-i860.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/i860.h $(INCDIR)/elf/reloc-macros.h \
--- 1144,1150 ----
elf32-i386.lo: elf32-i386.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h $(INCDIR)/elf/reloc-macros.h \
! elf32-target.h
elf32-i860.lo: elf32-i860.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/i860.h $(INCDIR)/elf/reloc-macros.h \
*************** elf32-pj.lo: elf32-pj.c $(INCDIR)/filena
*** 1217,1226 ****
elf32-ppc.lo: elf32-ppc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/ppc.h $(INCDIR)/elf/reloc-macros.h \
! elf32-target.h elf32-qnx.h
! elf32-qnx.lo: elf32-qnx.c $(INCDIR)/filenames.h elf-bfd.h \
! $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
! $(INCDIR)/bfdlink.h elf32-qnx.h
elf32-sh64.lo: elf32-sh64.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \
--- 1215,1221 ----
elf32-ppc.lo: elf32-ppc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/ppc.h $(INCDIR)/elf/reloc-macros.h \
! elf32-target.h
elf32-sh64.lo: elf32-sh64.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \
*************** elf32-s390.lo: elf32-s390.c $(INCDIR)/fi
*** 1237,1243 ****
elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
! elf32-target.h elf32-qnx.h
elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \
$(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \
--- 1232,1238 ----
elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
! elf32-target.h
elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \
$(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \
diff -rc3p -N src.orig/bfd/config.bfd src/bfd/config.bfd
*** src.orig/bfd/config.bfd Fri Oct 25 17:48:58 2002
--- src/bfd/config.bfd Mon Oct 28 15:13:33 2002
*************** case "${targ}" in
*** 139,146 ****
targ_underscore=yes
;;
arm-*-nto* | nto*arm*)
! targ_defvec=bfd_elf32_littlearmqnx_vec
! targ_selvecs=bfd_elf32_bigarmqnx_vec
;;
arm-*-riscix*)
targ_defvec=riscix_vec
--- 139,146 ----
targ_underscore=yes
;;
arm-*-nto* | nto*arm*)
! targ_defvec=bfd_elf32_littlearm_vec
! targ_selvecs=bfd_elf32_bigarm_vec
;;
arm-*-riscix*)
targ_defvec=riscix_vec
*************** case "${targ}" in
*** 371,377 ****
targ_selvecs=i386coff_vec
;;
i[3456]86-*-nto-qnx*)
! targ_defvec=bfd_elf32_i386qnx_vec
targ_selvecs=i386coff_vec
;;
i[3456]86-*-chorus*)
--- 371,377 ----
targ_selvecs=i386coff_vec
;;
i[3456]86-*-nto-qnx*)
! targ_defvec=bfd_elf32_i386_vec
targ_selvecs=i386coff_vec
;;
i[3456]86-*-chorus*)
*************** case "${targ}" in
*** 893,904 ****
targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
;;
powerpc-*-nto*)
! targ_defvec=bfd_elf32_powerpcqnx_vec
! targ_selvecs="rs6000coff_vec bfd_elf32_powerpcleqnx_vec ppcboot_vec"
;;
powerpcle-*-nto*)
! targ_defvec=bfd_elf32_powerpcleqnx_vec
! targ_selvecs="rs6000coff_vec bfd_elf32_powerpcqnx_vec ppcboot_vec"
;;
powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
--- 893,904 ----
targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
;;
powerpc-*-nto*)
! targ_defvec=bfd_elf32_powerpc_vec
! targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
;;
powerpcle-*-nto*)
! targ_defvec=bfd_elf32_powerpcle_vec
! targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
;;
powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
*************** case "${targ}" in
*** 1021,1028 ****
targ_underscore=yes
;;
sh-*-nto*)
! targ_defvec=bfd_elf32_shqnx_vec
! targ_selvecs="bfd_elf32_shlqnx_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
targ_underscore=yes
;;
sh-*-pe)
--- 1021,1028 ----
targ_underscore=yes
;;
sh-*-nto*)
! targ_defvec=bfd_elf32_sh_vec
! targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
targ_underscore=yes
;;
sh-*-pe)
diff -rc3p -N src.orig/bfd/configure.in src/bfd/configure.in
*** src.orig/bfd/configure.in Wed Oct 16 04:39:35 2002
--- src/bfd/configure.in Mon Oct 28 15:16:08 2002
*************** do
*** 557,564 ****
bfd_elf32_big_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
bfd_elf32_bigarc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;;
bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
! bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32-qnx.lo elf32.lo $elf" ;;
! bfd_elf32_bigarmqnx_vec) tb="$tb elfarm-nabi.lo elf32-qnx.lo elf32.lo $elf" ;;
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
--- 557,563 ----
bfd_elf32_big_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
bfd_elf32_bigarc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;;
bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
! bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
*************** do
*** 570,578 ****
bfd_elf32_hppa_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;;
! bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf32-qnx.lo elf32.lo $elf" ;;
! bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32-qnx.lo elf32.lo $elf" ;;
! bfd_elf32_i386qnx_vec) tb="$tb elf32-i386.lo elf32-qnx.lo elf32.lo $elf" ;;
bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i960_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;;
--- 569,576 ----
bfd_elf32_hppa_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;;
! bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
! bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i960_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;;
*************** do
*** 582,589 ****
bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
bfd_elf32_littlearc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;;
bfd_elf32_littlearm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
! bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32-qnx.lo elf32.lo $elf" ;;
! bfd_elf32_littlearmqnx_vec) tb="$tb elfarm-nabi.lo elf32-qnx.lo elf32.lo $elf" ;;
bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
bfd_elf32_m68hc11_vec) tb="$tb elf32-m68hc11.lo elf32.lo $elf" ;;
--- 580,586 ----
bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
bfd_elf32_littlearc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;;
bfd_elf32_littlearm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
! bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
bfd_elf32_m68hc11_vec) tb="$tb elf32-m68hc11.lo elf32.lo $elf" ;;
*************** do
*** 602,611 ****
bfd_elf32_or32_big_vec) tb="$tb elf32-or32.lo elf32.lo $elf" ;;
bfd_elf32_pj_vec) tb="$tb elf32-pj.lo elf32.lo $elf";;
bfd_elf32_pjl_vec) tb="$tb elf32-pj.lo elf32.lo $elf";;
! bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.lo elf32-qnx.lo elf32.lo $elf" ;;
! bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.lo elf32-qnx.lo elf32.lo $elf" ;;
! bfd_elf32_powerpcleqnx_vec) tb="$tb elf32-ppc.lo elf32-qnx.lo elf32.lo $elf" ;;
! bfd_elf32_powerpcqnx_vec) tb="$tb elf32-ppc.lo elf32-qnx.lo elf32.lo $elf" ;;
bfd_elf32_s390_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;;
# FIXME: We include cofflink.lo not because it's needed for
# bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec
--- 599,606 ----
bfd_elf32_or32_big_vec) tb="$tb elf32-or32.lo elf32.lo $elf" ;;
bfd_elf32_pj_vec) tb="$tb elf32-pj.lo elf32.lo $elf";;
bfd_elf32_pjl_vec) tb="$tb elf32-pj.lo elf32.lo $elf";;
! bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
! bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
bfd_elf32_s390_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;;
# FIXME: We include cofflink.lo not because it's needed for
# bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec
*************** do
*** 616,629 ****
bfd_elf32_sh64blin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
bfd_elf32_sh64lnbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
bfd_elf32_sh64nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
! bfd_elf32_sh_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo $elf coff-sh.lo" ;;
! bfd_elf32_shblin_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
! bfd_elf32_shl_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo elf32-qnx.lo $elf coff-sh.lo" ;;
! bfd_elf32_shlin_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
! bfd_elf32_shlnbsd_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
! bfd_elf32_shlqnx_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo $elf coff-sh.lo" ;;
! bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
! bfd_elf32_shqnx_vec) tb="$tb elf32-sh.lo elf32-qnx.lo elf32.lo $elf coff-sh.lo" ;;
bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elf32.lo $elf" ;;
bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
--- 611,622 ----
bfd_elf32_sh64blin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
bfd_elf32_sh64lnbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
bfd_elf32_sh64nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
! bfd_elf32_sh_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
! bfd_elf32_shblin_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
! bfd_elf32_shl_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
! bfd_elf32_shlin_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
! bfd_elf32_shlnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
! bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elf32.lo $elf" ;;
bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
diff -rc3p -N src.orig/bfd/elf-bfd.h src/bfd/elf-bfd.h
*** src.orig/bfd/elf-bfd.h Wed Aug 21 21:27:19 2002
--- src/bfd/elf-bfd.h Thu Oct 31 16:53:21 2002
*************** struct elf_backend_data
*** 770,791 ****
boolean (*elf_backend_write_section)
PARAMS ((bfd *, asection *, bfd_byte *));
- /* This function, if defined, sets up the file positions for non PT_LOAD
- segments, especially for segments containing non-allocated sections. */
- void (*set_nonloadable_filepos)
- PARAMS ((bfd *, Elf_Internal_Phdr *));
-
- /* This function, if defined, returns true if the section is contained
- within the segment. File positions are compared. */
- boolean (*is_contained_by_filepos)
- PARAMS ((asection *, Elf_Internal_Phdr *));
-
- /* This function, if defined, returns true if copy_private_bfd_data
- should be called. It provides a way of overriding default
- test conditions in _bfd_elf_copy_private_section_data. */
- boolean (*copy_private_bfd_data_p)
- PARAMS ((bfd *, asection *, bfd *, asection *));
-
/* The level of IRIX compatibility we're striving for.
MIPS ELF specific function. */
irix_compat_t (*elf_backend_mips_irix_compat)
--- 770,775 ----
diff -rc3p -N src.orig/bfd/elf.c src/bfd/elf.c
*** src.orig/bfd/elf.c Sat Oct 19 09:52:58 2002
--- src/bfd/elf.c Mon Oct 28 15:10:52 2002
*************** Error: First section in segment (%s) sta
*** 3960,3970 ****
}
}
- /* If additional nonloadable filepos adjustments are required,
- do them now. */
- if (bed->set_nonloadable_filepos)
- (*bed->set_nonloadable_filepos) (abfd, phdrs);
-
/* Clear out any program headers we allocated but did not use. */
for (; count < alloc; count++, p++)
{
--- 3960,3965 ----
*************** copy_private_bfd_data (ibfd, obfd)
*** 4560,4572 ****
&& (section->lma + section->_raw_size \
<= SEGMENT_END (segment, base)))
- /* Returns true if the given section is contained within the
- given segment. Filepos addresses are compared in an elf
- backend function. */
- #define IS_CONTAINED_BY_FILEPOS(sec, seg, bed) \
- (bed->is_contained_by_filepos \
- && (*bed->is_contained_by_filepos) (sec, seg))
-
/* Special case: corefile "NOTE" section containing regs, prpsinfo etc. */
#define IS_COREFILE_NOTE(p, s) \
(p->p_type == PT_NOTE \
--- 4555,4560 ----
*************** copy_private_bfd_data (ibfd, obfd)
*** 4602,4610 ****
? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \
: IS_CONTAINED_BY_VMA (section, segment)) \
&& (section->flags & SEC_ALLOC) != 0) \
! || IS_COREFILE_NOTE (segment, section) \
! || (IS_CONTAINED_BY_FILEPOS (section, segment, bed) \
! && (section->flags & SEC_ALLOC) == 0)) \
&& section->output_section != NULL \
&& ! section->segment_mark)
--- 4590,4596 ----
? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \
: IS_CONTAINED_BY_VMA (section, segment)) \
&& (section->flags & SEC_ALLOC) != 0) \
! || IS_COREFILE_NOTE (segment, section)) \
&& section->output_section != NULL \
&& ! section->segment_mark)
*************** copy_private_bfd_data (ibfd, obfd)
*** 4849,4855 ****
/* Match up the physical address of the segment with the
LMA address of the output section. */
if (IS_CONTAINED_BY_LMA (output_section, segment, map->p_paddr)
- || IS_CONTAINED_BY_FILEPOS (section, segment, bed)
|| IS_COREFILE_NOTE (segment, section)
|| (bed->want_p_paddr_set_to_zero &&
IS_CONTAINED_BY_VMA (output_section, segment))
--- 4835,4840 ----
*************** copy_private_bfd_data (ibfd, obfd)
*** 5086,5092 ****
#undef SEGMENT_END
#undef IS_CONTAINED_BY_VMA
#undef IS_CONTAINED_BY_LMA
- #undef IS_CONTAINED_BY_FILEPOS
#undef IS_COREFILE_NOTE
#undef IS_SOLARIS_PT_INTERP
#undef INCLUDE_SECTION_IN_SEGMENT
--- 5071,5076 ----
*************** _bfd_elf_copy_private_section_data (ibfd
*** 5112,5131 ****
|| obfd->xvec->flavour != bfd_target_elf_flavour)
return true;
! /* Copy over private BFD data if it has not already been copied.
! This must be done here, rather than in the copy_private_bfd_data
! entry point, because the latter is called after the section
! contents have been set, which means that the program headers have
! already been worked out. The backend function provides a way to
! override the test conditions and code path for the call to
! copy_private_bfd_data. */
! if (bed->copy_private_bfd_data_p)
! {
! if ((*bed->copy_private_bfd_data_p) (ibfd, isec, obfd, osec))
! if (! copy_private_bfd_data (ibfd, obfd))
! return false;
! }
! else if (elf_tdata (obfd)->segment_map == NULL && elf_tdata (ibfd)->phdr != NULL)
{
asection *s;
--- 5096,5102 ----
|| obfd->xvec->flavour != bfd_target_elf_flavour)
return true;
! if (elf_tdata (obfd)->segment_map == NULL && elf_tdata (ibfd)->phdr != NULL)
{
asection *s;
diff -rc3p -N src.orig/bfd/elf32-i386.c src/bfd/elf32-i386.c
*** src.orig/bfd/elf32-i386.c Wed Oct 16 04:39:37 2002
--- src/bfd/elf32-i386.c Mon Oct 28 15:17:30 2002
*************** elf_i386_post_process_headers (abfd, lin
*** 3429,3448 ****
#undef elf_backend_post_process_headers
#undef elf32_bed
-
- /* QNX support. */
- #include "elf32-qnx.h"
-
- #undef TARGET_LITTLE_SYM
- #define TARGET_LITTLE_SYM bfd_elf32_i386qnx_vec
- #undef TARGET_LITTLE_NAME
- #define TARGET_LITTLE_NAME "elf32-i386-nto"
-
- #define elf32_bed elf32_i386_qnx_bed
-
- #include "elf32-target.h"
-
- #undef elf_backend_set_nonloadable_filepos
- #undef elf_backend_is_contained_by_filepos
- #undef elf_backend_copy_private_bfd_data_p
- #undef elf32_bed
--- 3429,3431 ----
diff -rc3p -N src.orig/bfd/elf32-ppc.c src/bfd/elf32-ppc.c
*** src.orig/bfd/elf32-ppc.c Wed Oct 16 04:39:37 2002
--- src/bfd/elf32-ppc.c Mon Oct 28 15:26:41 2002
*************** ppc_elf_grok_psinfo (abfd, note)
*** 3850,3873 ****
#define elf_backend_reloc_type_class ppc_elf_reloc_type_class
#include "elf32-target.h"
-
- /* QNX support. */
- #include "elf32-qnx.h"
-
- #undef TARGET_LITTLE_SYM
- #define TARGET_LITTLE_SYM bfd_elf32_powerpcleqnx_vec
- #undef TARGET_LITTLE_NAME
- #define TARGET_LITTLE_NAME "elf32-powerpcle-nto"
- #undef TARGET_BIG_SYM
- #define TARGET_BIG_SYM bfd_elf32_powerpcqnx_vec
- #undef TARGET_BIG_NAME
- #define TARGET_BIG_NAME "elf32-powerpc-nto"
-
- #define elf32_bed elf32_ppc_qnx_bed
-
- #include "elf32-target.h"
-
- #undef elf_backend_set_nonloadable_filepos
- #undef elf_backend_is_contained_by_filepos
- #undef elf_backend_copy_private_bfd_data_p
- #undef elf32_bed
--- 3850,3852 ----
diff -rc3p -N src.orig/bfd/elf32-qnx.c src/bfd/elf32-qnx.c
*** src.orig/bfd/elf32-qnx.c Wed Oct 16 04:39:37 2002
--- src/bfd/elf32-qnx.c Wed Dec 31 19:00:00 1969
***************
*** 1,92 ****
- /* QNX specific support for 32-bit ELF
- Copyright 2002 Free Software Foundation, Inc.
-
- This file is part of BFD, the Binary File Descriptor library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
- #include "bfd.h"
- #include "sysdep.h"
- #include "elf-bfd.h"
- #include "elf32-qnx.h"
-
- /* Returns the end address of the segment + 1. */
- #define SEGMENT_END(segment, start) \
- (start + (segment->p_memsz > segment->p_filesz \
- ? segment->p_memsz : segment->p_filesz))
-
- boolean
- elf_qnx_copy_private_bfd_data_p (ibfd, isec, obfd, osec)
- bfd *ibfd ATTRIBUTE_UNUSED;
- asection *isec;
- bfd *obfd ATTRIBUTE_UNUSED;
- asection *osec ATTRIBUTE_UNUSED;
- {
- return isec->next == NULL;
- }
-
- boolean
- elf_qnx_is_contained_by_filepos (section, segment)
- asection *section;
- Elf_Internal_Phdr *segment;
- {
- return ((bfd_vma) section->filepos >= segment->p_offset
- && ((bfd_vma) section->filepos + section->_raw_size
- <= SEGMENT_END (segment, segment->p_offset)));
- }
-
- void
- elf_qnx_set_nonloadable_filepos (abfd, phdrs)
- bfd *abfd;
- Elf_Internal_Phdr *phdrs;
- {
- struct elf_segment_map *m;
- Elf_Internal_Phdr *p;
- file_ptr off = 0;
-
- for (m = elf_tdata (abfd)->segment_map, p = phdrs;
- m != NULL;
- m = m->next, p++)
- {
- unsigned int i;
- asection **secpp;
-
- for (i = 0, secpp = m->sections; i < m->count; i++, secpp++)
- {
- asection *sec;
-
- sec = *secpp;
-
- if (p->p_type == PT_LOAD)
- off = sec->filepos;
- else
- {
- if (i == 0)
- {
- if (sec->filepos)
- p->p_offset = sec->filepos;
- else
- p->p_offset = off;
- }
- if (!sec->filepos)
- {
- off += sec->_raw_size;
- p->p_filesz += sec->_raw_size;
- }
- }
- }
- }
- return;
- }
--- 0 ----
diff -rc3p -N src.orig/bfd/elf32-qnx.h src/bfd/elf32-qnx.h
*** src.orig/bfd/elf32-qnx.h Wed Oct 16 04:39:37 2002
--- src/bfd/elf32-qnx.h Wed Dec 31 19:00:00 1969
***************
*** 1,32 ****
- /* QNX specific support for 32-bit ELF
- Copyright 2002 Free Software Foundation, Inc.
-
- This file is part of BFD, the Binary File Descriptor library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
- boolean elf_qnx_copy_private_bfd_data_p
- PARAMS ((bfd *, asection *, bfd *, asection *));
- boolean elf_qnx_is_contained_by_filepos
- PARAMS ((asection *, Elf_Internal_Phdr *));
- void elf_qnx_set_nonloadable_filepos
- PARAMS ((bfd *, Elf_Internal_Phdr *));
-
- #undef elf_backend_set_nonloadable_filepos
- #define elf_backend_set_nonloadable_filepos elf_qnx_set_nonloadable_filepos
- #undef elf_backend_is_contained_by_filepos
- #define elf_backend_is_contained_by_filepos elf_qnx_is_contained_by_filepos
- #undef elf_backend_copy_private_bfd_data_p
- #define elf_backend_copy_private_bfd_data_p elf_qnx_copy_private_bfd_data_p
--- 0 ----
diff -rc3p -N src.orig/bfd/elf32-sh.c src/bfd/elf32-sh.c
*** src.orig/bfd/elf32-sh.c Wed Oct 16 04:39:37 2002
--- src/bfd/elf32-sh.c Mon Oct 28 15:27:12 2002
*************** elf32_shlin_grok_psinfo (abfd, note)
*** 7449,7477 ****
#include "elf32-target.h"
- /* QNX support. */
- #include "elf32-qnx.h"
-
- #undef TARGET_LITTLE_SYM
- #define TARGET_LITTLE_SYM bfd_elf32_shlqnx_vec
- #undef TARGET_LITTLE_NAME
- #define TARGET_LITTLE_NAME "elf32-shl-nto"
- #undef TARGET_BIG_SYM
- #define TARGET_BIG_SYM bfd_elf32_shqnx_vec
- #undef TARGET_BIG_NAME
- #define TARGET_BIG_NAME "elf32-sh-nto"
- #undef ELF_MAXPAGESIZE
- #define ELF_MAXPAGESIZE 0x1000
-
- #define elf32_bed elf32_sh_qnx_bed
-
- #include "elf32-target.h"
-
- #undef elf_backend_set_nonloadable_filepos
- #undef elf_backend_is_contained_by_filepos
- #undef elf_backend_copy_private_bfd_data_p
- #undef elf32_bed
-
/* NetBSD support. */
#undef TARGET_BIG_SYM
#define TARGET_BIG_SYM bfd_elf32_shnbsd_vec
--- 7449,7454 ----
diff -rc3p -N src.orig/bfd/elfarm-nabi.c src/bfd/elfarm-nabi.c
*** src.orig/bfd/elfarm-nabi.c Wed Oct 16 22:59:15 2002
--- src/bfd/elfarm-nabi.c Mon Oct 28 15:19:05 2002
*************** elf32_arm_nabi_grok_psinfo (abfd, note)
*** 750,775 ****
#define elf_backend_grok_psinfo elf32_arm_nabi_grok_psinfo
#include "elf32-arm.h"
-
- /* QNX support. */
- #include "elf32-qnx.h"
-
- #undef TARGET_LITTLE_SYM
- #define TARGET_LITTLE_SYM bfd_elf32_littlearmqnx_vec
- #undef TARGET_LITTLE_NAME
- #define TARGET_LITTLE_NAME "elf32-littlearm-nto"
- #undef TARGET_BIG_SYM
- #define TARGET_BIG_SYM bfd_elf32_bigarmqnx_vec
- #undef TARGET_BIG_NAME
- #define TARGET_BIG_NAME "elf32-bigarm-nto"
- #undef ELF_MAXPAGESIZE
- #define ELF_MAXPAGESIZE 0x1000
-
- #define elf32_bed elf32_arm_qnx_bed
-
- #include "elf32-target.h"
-
- #undef elf_backend_set_nonloadable_filepos
- #undef elf_backend_is_contained_by_filepos
- #undef elf_backend_copy_private_bfd_data_p
- #undef elf32_bed
--- 750,752 ----
diff -rc3p -N src.orig/bfd/elfxx-target.h src/bfd/elfxx-target.h
*** src.orig/bfd/elfxx-target.h Wed Oct 16 22:59:15 2002
--- src/bfd/elfxx-target.h Thu Oct 31 16:53:35 2002
***************
*** 385,399 ****
#ifndef elf_backend_write_section
#define elf_backend_write_section NULL
#endif
- #ifndef elf_backend_set_nonloadable_filepos
- #define elf_backend_set_nonloadable_filepos NULL
- #endif
- #ifndef elf_backend_is_contained_by_filepos
- #define elf_backend_is_contained_by_filepos NULL
- #endif
- #ifndef elf_backend_copy_private_bfd_data_p
- #define elf_backend_copy_private_bfd_data_p NULL
- #endif
#ifndef elf_backend_mips_irix_compat
#define elf_backend_mips_irix_compat NULL
#endif
--- 385,390 ----
diff -rc3p -N src.orig/bfd/targets.c src/bfd/targets.c
*** src.orig/bfd/targets.c Mon Oct 21 07:01:00 2002
--- src/bfd/targets.c Mon Oct 28 14:54:39 2002
*************** extern const bfd_target bfd_elf32_big_ge
*** 508,514 ****
extern const bfd_target bfd_elf32_bigarc_vec;
extern const bfd_target bfd_elf32_bigarm_oabi_vec;
extern const bfd_target bfd_elf32_bigarm_vec;
- extern const bfd_target bfd_elf32_bigarmqnx_vec;
extern const bfd_target bfd_elf32_bigmips_vec;
extern const bfd_target bfd_elf32_cris_vec;
extern const bfd_target bfd_elf32_d10v_vec;
--- 508,513 ----
*************** extern const bfd_target bfd_elf32_hppa_v
*** 522,528 ****
extern const bfd_target bfd_elf32_i370_vec;
extern const bfd_target bfd_elf32_i386_freebsd_vec;
extern const bfd_target bfd_elf32_i386_vec;
- extern const bfd_target bfd_elf32_i386qnx_vec;
extern const bfd_target bfd_elf32_i860_little_vec;
extern const bfd_target bfd_elf32_i860_vec;
extern const bfd_target bfd_elf32_i960_vec;
--- 521,526 ----
*************** extern const bfd_target bfd_elf32_little
*** 533,539 ****
extern const bfd_target bfd_elf32_littlearc_vec;
extern const bfd_target bfd_elf32_littlearm_oabi_vec;
extern const bfd_target bfd_elf32_littlearm_vec;
- extern const bfd_target bfd_elf32_littlearmqnx_vec;
extern const bfd_target bfd_elf32_littlemips_vec;
extern const bfd_target bfd_elf32_m32r_vec;
extern const bfd_target bfd_elf32_m68hc11_vec;
--- 531,536 ----
*************** extern const bfd_target bfd_elf32_pj_vec
*** 554,561 ****
extern const bfd_target bfd_elf32_pjl_vec;
extern const bfd_target bfd_elf32_powerpc_vec;
extern const bfd_target bfd_elf32_powerpcle_vec;
- extern const bfd_target bfd_elf32_powerpcleqnx_vec;
- extern const bfd_target bfd_elf32_powerpcqnx_vec;
extern const bfd_target bfd_elf32_s390_vec;
extern const bfd_target bfd_elf32_sh64_vec;
extern const bfd_target bfd_elf32_sh64l_vec;
--- 551,556 ----
*************** extern const bfd_target bfd_elf32_shblin
*** 568,576 ****
extern const bfd_target bfd_elf32_shl_vec;
extern const bfd_target bfd_elf32_shlin_vec;
extern const bfd_target bfd_elf32_shlnbsd_vec;
- extern const bfd_target bfd_elf32_shlqnx_vec;
extern const bfd_target bfd_elf32_shnbsd_vec;
- extern const bfd_target bfd_elf32_shqnx_vec;
extern const bfd_target bfd_elf32_sparc_vec;
extern const bfd_target bfd_elf32_tradbigmips_vec;
extern const bfd_target bfd_elf32_tradlittlemips_vec;
--- 563,569 ----
*************** static const bfd_target * const _bfd_tar
*** 793,799 ****
&bfd_elf32_bigarc_vec,
&bfd_elf32_bigarm_oabi_vec,
&bfd_elf32_bigarm_vec,
- &bfd_elf32_bigarmqnx_vec,
&bfd_elf32_bigmips_vec,
&bfd_elf32_cris_vec,
&bfd_elf32_d10v_vec,
--- 786,791 ----
*************** static const bfd_target * const _bfd_tar
*** 807,813 ****
&bfd_elf32_i370_vec,
&bfd_elf32_i386_freebsd_vec,
&bfd_elf32_i386_vec,
- &bfd_elf32_i386qnx_vec,
&bfd_elf32_i860_little_vec,
&bfd_elf32_i860_vec,
&bfd_elf32_i960_vec,
--- 799,804 ----
*************** static const bfd_target * const _bfd_tar
*** 820,826 ****
&bfd_elf32_littlearc_vec,
&bfd_elf32_littlearm_oabi_vec,
&bfd_elf32_littlearm_vec,
- &bfd_elf32_littlearmqnx_vec,
&bfd_elf32_littlemips_vec,
&bfd_elf32_m32r_vec,
&bfd_elf32_m68hc11_vec,
--- 811,816 ----
*************** static const bfd_target * const _bfd_tar
*** 843,859 ****
&bfd_elf32_pjl_vec,
&bfd_elf32_powerpc_vec,
&bfd_elf32_powerpcle_vec,
- &bfd_elf32_powerpcleqnx_vec,
- &bfd_elf32_powerpcqnx_vec,
&bfd_elf32_s390_vec,
&bfd_elf32_sh_vec,
&bfd_elf32_shblin_vec,
&bfd_elf32_shl_vec,
&bfd_elf32_shlin_vec,
&bfd_elf32_shlnbsd_vec,
- &bfd_elf32_shlqnx_vec,
&bfd_elf32_shnbsd_vec,
- &bfd_elf32_shqnx_vec,
#ifdef BFD64
&bfd_elf32_sh64_vec,
&bfd_elf32_sh64l_vec,
--- 833,845 ----
More information about the Binutils
mailing list