Linux target variants for elfxx-hppa.

This commit is contained in:
Alan Modra 2001-01-14 11:12:53 +00:00
parent ffd6e9debc
commit d952f17a9d
9 changed files with 193 additions and 114 deletions

View File

@ -1,5 +1,19 @@
2001-01-14 Alan Modra <alan@linuxcare.com.au> 2001-01-14 Alan Modra <alan@linuxcare.com.au>
* config.bfd: Add linux target variant for elfxx-hppa.
* configure.in: Recognize bfd_elf32_hppa_linux_vec and
bfd_elf64_hppa_linux_vec.
* configure: Regenerate.
* elf64-hppa.c: Include elf64-target.h again to support linux
target variant.
(elf64_hppa_post_process_headers): Set ELFOSABI_LINUX for linux.
* elf32-hppa.c: Include elf32-target.h again to support linux
target variant.
(elf32_hppa_post_process_headers): New function.
(elf_backend_post_process_headers): Define.
* targets.c (bfd_target_vector): Add bfd_elf64_hppa_linux_vec and
bfd_elf32_hppa_linux_vec.
* elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base, * elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base,
and data_segment_base fields. and data_segment_base fields.
(elf32_hppa_link_hash_table_create ): Init them. (elf32_hppa_link_hash_table_create ): Init them.
@ -226,8 +240,8 @@
2000-12-10 Fred Fish <fnf@be.com> 2000-12-10 Fred Fish <fnf@be.com>
* elflink.h (elf_link_output_extsym): Don't complain about undefined * elflink.h (elf_link_output_extsym): Don't complain about undefined
symbols in shared objects if allow_shlib_undefined is true. symbols in shared objects if allow_shlib_undefined is true.
2000-12-12 Nick Clifton <nickc@redhat.com> 2000-12-12 Nick Clifton <nickc@redhat.com>
@ -257,7 +271,7 @@
* configure: Regenerate. * configure: Regenerate.
* libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info. * libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info.
* libcoff.h: Regenerate. * libcoff.h: Regenerate.
* coffgen.c (coff_find_nearest_line): Call * coffgen.c (coff_find_nearest_line): Call
_bfd_dwarf2_find_nearest_line. _bfd_dwarf2_find_nearest_line.
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update
accordingly. accordingly.
@ -277,7 +291,7 @@
to _bfd_find_nearest_line. to _bfd_find_nearest_line.
* elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to
call to _bfd_find_nearest_line. call to _bfd_find_nearest_line.
2000-12-08 Kazu Hirata <kazu@hxi.com> 2000-12-08 Kazu Hirata <kazu@hxi.com>
* coffgen.c: Fix formatting. * coffgen.c: Fix formatting.
@ -340,75 +354,75 @@
2000-12-01 Chris Demetriou <cgd@sibyte.com> 2000-12-01 Chris Demetriou <cgd@sibyte.com>
* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and
bfd_mach_mips32_4k. Update FIXME comment. bfd_mach_mips32_4k. Update FIXME comment.
* archures.c (bfd_mach_mips32): New constant. * archures.c (bfd_mach_mips32): New constant.
(bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
the latter, renumber it. the latter, renumber it.
* bfd-in2.h (bfd_mach_mips32): New constant. * bfd-in2.h (bfd_mach_mips32): New constant.
(bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
the latter, renumber it. the latter, renumber it.
* cpu-mips.c (I_mips32): New constant. * cpu-mips.c (I_mips32): New constant.
(I_mips4K, I_mips32_4k): Rename the former to the latter. (I_mips4K, I_mips32_4k): Rename the former to the latter.
(arch_info_struct): Add bfd_mach_mips32 entry, replace (arch_info_struct): Add bfd_mach_mips32 entry, replace
bfd_mach_mips4K entry with bfd_mach_mips32_4k entry. bfd_mach_mips4K entry with bfd_mach_mips32_4k entry.
* elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case. * elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case.
(elf_mips_mach): Likewise. Also, replace E_MIPS_MACH_MIPS32 (elf_mips_mach): Likewise. Also, replace E_MIPS_MACH_MIPS32
with E_MIPS_MACH_MIPS32_4K. with E_MIPS_MACH_MIPS32_4K.
(_bfd_mips_elf_final_write_processing): Replace (_bfd_mips_elf_final_write_processing): Replace
bfd_mach_mips4K with bfd_mach_mips32_4k case, add bfd_mach_mips4K with bfd_mach_mips32_4k case, add
bfd_mach_mips32 case. bfd_mach_mips32 case.
(_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing (_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing
comparison with support for MIPS32. comparison with support for MIPS32.
(_bfd_mips_elf_print_private_bfd_data): Print ISA name for (_bfd_mips_elf_print_private_bfd_data): Print ISA name for
MIPS32. MIPS32.
* aoutx.h (NAME(aout,machine_type)): Add cases for * aoutx.h (NAME(aout,machine_type)): Add cases for
bfd_mach_mips5 and bfd_mach_mips64. bfd_mach_mips5 and bfd_mach_mips64.
* archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants. * archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants.
* bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise. * bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise.
* cpu_mips.c (I_mips5, I_mips64): New definitions. * cpu_mips.c (I_mips5, I_mips64): New definitions.
(arch_info_struct): Add entries for bfd_mach_mips5 and (arch_info_struct): Add entries for bfd_mach_mips5 and
bfd_mach_mips64. bfd_mach_mips64.
* elf32-mips.c (elf_mips_isa, elf_mips_mach, * elf32-mips.c (elf_mips_isa, elf_mips_mach,
_bfd_mips_elf_print_private_bfd_data): Add cases for _bfd_mips_elf_print_private_bfd_data): Add cases for
E_MIPS_ARCH_5 and E_MIPS_ARCH_64. E_MIPS_ARCH_5 and E_MIPS_ARCH_64.
(_bfd_mips_elf_final_write_processing): Add cases for (_bfd_mips_elf_final_write_processing): Add cases for
bfd_mach_mips5 and bfd_mach_mips64. bfd_mach_mips5 and bfd_mach_mips64.
* bfd/aoutx.h (NAME(aout,machine_type)): Add a * bfd/aoutx.h (NAME(aout,machine_type)): Add a
bfd_mach_mips_sb1 case. bfd_mach_mips_sb1 case.
* bfd/archures.c (bfd_mach_mips_sb1): New constant. * bfd/archures.c (bfd_mach_mips_sb1): New constant.
* bfd/bfd-in2.h (bfd_mach_mips_sb1): New constant. * bfd/bfd-in2.h (bfd_mach_mips_sb1): New constant.
* bfd/cpu-mips.c (I_sb1): New constant. * bfd/cpu-mips.c (I_sb1): New constant.
(arch_info_struct): Add entry for bfd_mach_mips_sb1. (arch_info_struct): Add entry for bfd_mach_mips_sb1.
* bfd/elf32-mips.c (elf_mips_mach): Add case for * bfd/elf32-mips.c (elf_mips_mach): Add case for
E_MIPS_MACH_SB1. E_MIPS_MACH_SB1.
(_bfd_mips_elf_final_write_processing): Add case for (_bfd_mips_elf_final_write_processing): Add case for
bfd_mach_mips_sb1. bfd_mach_mips_sb1.
2000-12-01 Joel Sherrill <joel@OARcorp.com> 2000-12-01 Joel Sherrill <joel@OARcorp.com>
* config.bfd (arm-*-rtems*, a29k-*rtems*): New targets. * config.bfd (arm-*-rtems*, a29k-*rtems*): New targets.
(sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets. (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
(sparc*-*-rtems*): Switched from a.out to ELF. (sparc*-*-rtems*): Switched from a.out to ELF.
2000-11-30 Jan Hubicka <jh@suse.cz> 2000-11-30 Jan Hubicka <jh@suse.cz>
* Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo * Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo
BFD64_BACKENDS_CFILES): Add elf64-x86-64.c BFD64_BACKENDS_CFILES): Add elf64-x86-64.c
(elf64-x86-64.lo): Add dependencies. (elf64-x86-64.lo): Add dependencies.
* archures.c (DESCRIPTION): Add bfd_mach_x86_64, * archures.c (DESCRIPTION): Add bfd_mach_x86_64,
bfd_mach_x86_64_intel_syntax. bfd_mach_x86_64_intel_syntax.
* elf.c (prep_headers): Use EM_x86_64 for 64bit output. * elf.c (prep_headers): Use EM_x86_64 for 64bit output.
* config.bfd (x86_64): Add. * config.bfd (x86_64): Add.
* configure.in: Add support for bfd_elf64_x86_64_vec. * configure.in: Add support for bfd_elf64_x86_64_vec.
* cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add. * cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add.
(bfd_i386_arch, i8086_ar): Link in. (bfd_i386_arch, i8086_ar): Link in.
* elf64-x86-64.c: New file. * elf64-x86-64.c: New file.
* reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*. * reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*.
* targets.c (bfd_elf64_x86_64_vec): Add. * targets.c (bfd_elf64_x86_64_vec): Add.
(bfd_target_vect): Add bfd_elf64_x86_64_vec. (bfd_target_vect): Add bfd_elf64_x86_64_vec.
2000-11-30 Kazu Hirata <kazu@hxi.com> 2000-11-30 Kazu Hirata <kazu@hxi.com>
@ -446,7 +460,7 @@
2000-11-22 Philip Blundell <pb@futuretv.com> 2000-11-22 Philip Blundell <pb@futuretv.com>
* cofflink.c (_bfd_coff_generic_relocate_section): Don't object to * cofflink.c (_bfd_coff_generic_relocate_section): Don't object to
weak undefined symbols. weak undefined symbols.
2000-11-24 Nick Clifton <nickc@redhat.com> 2000-11-24 Nick Clifton <nickc@redhat.com>
@ -491,7 +505,7 @@
(get_got): Delete unused local srel. (get_got): Delete unused local srel.
(elfNN_ia64_check_relocs): Initialize dynrel_type when declared. (elfNN_ia64_check_relocs): Initialize dynrel_type when declared.
(elfNN_ia64_relocate_section): Delete unused local dynindx. (elfNN_ia64_relocate_section): Delete unused local dynindx.
2000-11-21 Kazu Hirata <kazu@hxi.com> 2000-11-21 Kazu Hirata <kazu@hxi.com>
* coff-a29k.c: Fix formatting. * coff-a29k.c: Fix formatting.
@ -727,7 +741,7 @@
* configure.in: Recognize alpha-*-freebsd*. * configure.in: Recognize alpha-*-freebsd*.
* configure: Regenerate. * configure: Regenerate.
2000-11-02 Luciano Gemme <ishitawa@yahoo.com> 2000-11-02 Luciano Gemme <ishitawa@yahoo.com>
* srec.c (CHUNK): Rename to DEFAULT_CHUNK. * srec.c (CHUNK): Rename to DEFAULT_CHUNK.
(Chunk): New global variable set by a parameter in objcopy.c. (Chunk): New global variable set by a parameter in objcopy.c.
@ -744,7 +758,7 @@
* Makefile.in: Regenerate. * Makefile.in: Regenerate.
* bfd-in2.h: Regenerate. * bfd-in2.h: Regenerate.
* po/bfd.pot: Regenerate. * po/bfd.pot: Regenerate.
2000-10-31 Philip Blundell <philb@gnu.org> 2000-10-31 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle * elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
@ -755,10 +769,10 @@
* elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse * elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
attempts to mix PIC code with non-PIC, just mark the output as attempts to mix PIC code with non-PIC, just mark the output as
being position dependent. being position dependent.
(elf32_arm_merge_private_bfd_data): Likewise. Print an error (elf32_arm_merge_private_bfd_data): Likewise. Print an error
message for EF_SOFT_FLOAT mismatches. Display diagnostics for message for EF_SOFT_FLOAT mismatches. Display diagnostics for
all mismatches, not just the first one. all mismatches, not just the first one.
2000-10-25 Chris Demetriou <cgd@sibyte.com> 2000-10-25 Chris Demetriou <cgd@sibyte.com>
* ieee.c (ieee_archive_p): Plug one of many possible * ieee.c (ieee_archive_p): Plug one of many possible
@ -803,7 +817,7 @@
local_p. Add symbol value only for non-R_MIPS_REL32 relocations local_p. Add symbol value only for non-R_MIPS_REL32 relocations
against local symbols. against local symbols.
(_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01. (_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
2000-10-12 Alan Modra <alan@linuxcare.com.au> 2000-10-12 Alan Modra <alan@linuxcare.com.au>
* section.c (struct sec): Add kept_section. * section.c (struct sec): Add kept_section.
@ -814,7 +828,7 @@
* bfd-in2.h: Regenerate. * bfd-in2.h: Regenerate.
* elflink.h (elf_link_add_object_symbols): Remove unnecessary * elflink.h (elf_link_add_object_symbols): Remove unnecessary
zeroing of `flags'. zeroing of `flags'.
(elf_link_input_bfd): Set all asection->symbol->value's here, and (elf_link_input_bfd): Set all asection->symbol->value's here, and
fudge values for discarded link-once section symbols. fudge values for discarded link-once section symbols.
@ -832,7 +846,7 @@
2000-10-10 Tom Rix <trix@redhat.com> 2000-10-10 Tom Rix <trix@redhat.com>
* section.c (bfd_make_section_anyway): Release newsect ptr when * section.c (bfd_make_section_anyway): Release newsect ptr when
newsect->symbol fails to alloc. Use bfd_release instead of free. newsect->symbol fails to alloc. Use bfd_release instead of free.
2000-10-09 Richard Henderson <rth@cygnus.com 2000-10-09 Richard Henderson <rth@cygnus.com
@ -982,7 +996,7 @@
2000-09-26 Hans-Peter Nilsson <hp@axis.com> 2000-09-26 Hans-Peter Nilsson <hp@axis.com>
* elfcode.h (elf_object_p): Preserve and clear abfd section * elfcode.h (elf_object_p): Preserve and clear abfd section
information. Restore at error. information. Restore at error.
2000-09-26 Paul Sokolovsky <Paul.Sokolovsky@technologist.com> 2000-09-26 Paul Sokolovsky <Paul.Sokolovsky@technologist.com>
@ -1168,10 +1182,10 @@
2000-09-13 Anders Norlander <anorland@acc.umu.se> 2000-09-13 Anders Norlander <anorland@acc.umu.se>
* cpu-mips.c (arch_info_struct): Add mips:4K * cpu-mips.c (arch_info_struct): Add mips:4K
* bfd-in2.h (bfd_mach_mips4K): New define. * bfd-in2.h (bfd_mach_mips4K): New define.
* archures.c: Add bfd_mach_mips4K to comment. * archures.c: Add bfd_mach_mips4K to comment.
* elf32-mips.c (_bfd_mips_elf_final_write_processing): Return * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
E_MIPS_ARCH_2 for bfd_mach_mips4K. E_MIPS_ARCH_2 for bfd_mach_mips4K.
2000-09-13 Marco Franzen <marcof@thyron.com> 2000-09-13 Marco Franzen <marcof@thyron.com>
@ -4003,7 +4017,7 @@ Thu Feb 10 20:07:50 GMT 2000 Toshiyasu Morita (toshi.morita@sega.com)
* coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx
= scnhsz, filhsz, relsz, aoutsz, etc) = scnhsz, filhsz, relsz, aoutsz, etc)
* coffswap.h: Ditto. * coffswap.h: Ditto.
2000-01-13 Nick Clifton <nickc@cygnus.com> 2000-01-13 Nick Clifton <nickc@cygnus.com>

View File

@ -257,16 +257,23 @@ case "${targ}" in
#ifdef BFD64 #ifdef BFD64
hppa*64*-*-linux-gnu*) hppa*64*-*-linux-gnu*)
targ_defvec=bfd_elf64_hppa_vec targ_defvec=bfd_elf64_hppa_linux_vec
targ_selvecs=bfd_elf64_hppa_vec
;; ;;
hppa*64*-*-hpux11*) hppa*64*-*-hpux11*)
targ_defvec=bfd_elf64_hppa_vec targ_defvec=bfd_elf64_hppa_vec
targ_selvecs=bfd_elf64_hppa_linux_vec
targ_cflags=-DHPUX_LARGE_AR_IDS targ_cflags=-DHPUX_LARGE_AR_IDS
;; ;;
#endif #endif
hppa*-*-*elf* | hppa*-*-linux-gnu* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems*) hppa*-*-linux-gnu*)
targ_defvec=bfd_elf32_hppa_linux_vec
targ_selvecs=bfd_elf32_hppa_vec
;;
hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems*)
targ_defvec=bfd_elf32_hppa_vec targ_defvec=bfd_elf32_hppa_vec
targ_selvecs=bfd_elf32_hppa_linux_vec
;; ;;
#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX) #if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX)

30
bfd/configure vendored
View File

@ -5932,7 +5932,8 @@ do
target64=true ;; target64=true ;;
bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf" bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"
target64=true ;; target64=true ;;
bfd_elf64_hppa_vec) tb="$tb elf64-hppa.lo elf64.lo $elf" bfd_elf64_hppa_vec | bfd_elf64_hppa_linux_vec)
tb="$tb elf64-hppa.lo elf64.lo $elf"
target64=true ;; target64=true ;;
bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf" bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"
target64=true ;; target64=true ;;
@ -5955,7 +5956,8 @@ do
bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
bfd_elf32_fr30_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; bfd_elf32_fr30_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_hppa_vec | bfd_elf32_hppa_linux_vec)
tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;;
bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;; bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf" bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"
@ -6177,17 +6179,17 @@ for ac_hdr in unistd.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:6181: checking for $ac_hdr" >&5 echo "configure:6183: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6186 "configure" #line 6188 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6191: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:6193: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -6216,12 +6218,12 @@ done
for ac_func in getpagesize for ac_func in getpagesize
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:6220: checking for $ac_func" >&5 echo "configure:6222: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6225 "configure" #line 6227 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -6244,7 +6246,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:6248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:6250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -6269,7 +6271,7 @@ fi
done done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
echo "configure:6273: checking for working mmap" >&5 echo "configure:6275: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -6277,7 +6279,7 @@ else
ac_cv_func_mmap_fixed_mapped=no ac_cv_func_mmap_fixed_mapped=no
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6281 "configure" #line 6283 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test. /* Thanks to Mike Haertel and Jim Avera for this test.
@ -6417,7 +6419,7 @@ main()
} }
EOF EOF
if { (eval echo configure:6421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_mmap_fixed_mapped=yes
else else
@ -6442,12 +6444,12 @@ fi
for ac_func in madvise mprotect for ac_func in madvise mprotect
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:6446: checking for $ac_func" >&5 echo "configure:6448: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6451 "configure" #line 6453 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -6470,7 +6472,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:6474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:6476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else

View File

@ -481,7 +481,8 @@ do
target64=true ;; target64=true ;;
bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf" bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"
target64=true ;; target64=true ;;
bfd_elf64_hppa_vec) tb="$tb elf64-hppa.lo elf64.lo $elf" bfd_elf64_hppa_vec | bfd_elf64_hppa_linux_vec)
tb="$tb elf64-hppa.lo elf64.lo $elf"
target64=true ;; target64=true ;;
bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf" bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"
target64=true ;; target64=true ;;
@ -504,7 +505,8 @@ do
bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
bfd_elf32_fr30_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; bfd_elf32_fr30_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_hppa_vec | bfd_elf32_hppa_linux_vec)
tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;;
bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;; bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf" bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"

View File

@ -399,6 +399,9 @@ static boolean elf32_hppa_finish_dynamic_symbol
static boolean elf32_hppa_finish_dynamic_sections static boolean elf32_hppa_finish_dynamic_sections
PARAMS ((bfd *, struct bfd_link_info *)); PARAMS ((bfd *, struct bfd_link_info *));
static void elf32_hppa_post_process_headers
PARAMS ((bfd *, struct bfd_link_info *));
static int elf32_hppa_elf_get_symbol_type static int elf32_hppa_elf_get_symbol_type
PARAMS ((Elf_Internal_Sym *, int)); PARAMS ((Elf_Internal_Sym *, int));
@ -4233,6 +4236,27 @@ elf32_hppa_finish_dynamic_sections (output_bfd, info)
return true; return true;
} }
/* Tweak the OSABI field of the elf header. */
static void
elf32_hppa_post_process_headers (abfd, link_info)
bfd *abfd;
struct bfd_link_info *link_info ATTRIBUTE_UNUSED;
{
Elf_Internal_Ehdr * i_ehdrp;
i_ehdrp = elf_elfheader (abfd);
if (strcmp (bfd_get_target (abfd), "elf32-hppa-linux") == 0)
{
i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_LINUX;
}
else
{
i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_HPUX;
}
}
/* Called when writing out an object file to decide the type of a /* Called when writing out an object file to decide the type of a
symbol. */ symbol. */
static int static int
@ -4269,6 +4293,7 @@ elf32_hppa_elf_get_symbol_type (elf_sym, type)
#define elf_backend_gc_sweep_hook elf32_hppa_gc_sweep_hook #define elf_backend_gc_sweep_hook elf32_hppa_gc_sweep_hook
#define elf_backend_object_p elf32_hppa_object_p #define elf_backend_object_p elf32_hppa_object_p
#define elf_backend_final_write_processing elf_hppa_final_write_processing #define elf_backend_final_write_processing elf_hppa_final_write_processing
#define elf_backend_post_process_headers elf32_hppa_post_process_headers
#define elf_backend_get_symbol_type elf32_hppa_elf_get_symbol_type #define elf_backend_get_symbol_type elf32_hppa_elf_get_symbol_type
#define elf_backend_can_gc_sections 1 #define elf_backend_can_gc_sections 1
@ -4285,3 +4310,11 @@ elf32_hppa_elf_get_symbol_type (elf_sym, type)
#define ELF_MAXPAGESIZE 0x1000 #define ELF_MAXPAGESIZE 0x1000
#include "elf32-target.h" #include "elf32-target.h"
#undef TARGET_BIG_SYM
#define TARGET_BIG_SYM bfd_elf32_hppa_linux_vec
#undef TARGET_BIG_NAME
#define TARGET_BIG_NAME "elf32-hppa-linux"
#define INCLUDED_TARGET_FILE 1
#include "elf32-target.h"

View File

@ -1166,8 +1166,15 @@ elf64_hppa_post_process_headers (abfd, link_info)
i_ehdrp = elf_elfheader (abfd); i_ehdrp = elf_elfheader (abfd);
i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_HPUX; if (strcmp (bfd_get_target (abfd), "elf64-hppa-linux") == 0)
i_ehdrp->e_ident[EI_ABIVERSION] = 1; {
i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_LINUX;
}
else
{
i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_HPUX;
i_ehdrp->e_ident[EI_ABIVERSION] = 1;
}
} }
/* Create function descriptor section (.opd). This section is called .opd /* Create function descriptor section (.opd). This section is called .opd
@ -2657,3 +2664,11 @@ const struct elf_size_info hppa64_elf_size_info =
#define elf_backend_type_change_ok true #define elf_backend_type_change_ok true
#include "elf64-target.h" #include "elf64-target.h"
#undef TARGET_BIG_SYM
#define TARGET_BIG_SYM bfd_elf64_hppa_linux_vec
#undef TARGET_BIG_NAME
#define TARGET_BIG_NAME "elf64-hppa-linux"
#define INCLUDED_TARGET_FILE 1
#include "elf64-target.h"

View File

@ -1,5 +1,5 @@
/* Generic target-file-type support for the BFD library. /* Generic target-file-type support for the BFD library.
Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001
Free Software Foundation, Inc. Free Software Foundation, Inc.
Written by Cygnus Support. Written by Cygnus Support.
@ -508,6 +508,7 @@ extern const bfd_target bfd_efi_app_ia32_vec;
extern const bfd_target bfd_efi_app_ia64_vec; extern const bfd_target bfd_efi_app_ia64_vec;
extern const bfd_target bfd_elf64_alpha_vec; extern const bfd_target bfd_elf64_alpha_vec;
extern const bfd_target bfd_elf64_hppa_vec; extern const bfd_target bfd_elf64_hppa_vec;
extern const bfd_target bfd_elf64_hppa_linux_vec;
extern const bfd_target bfd_elf64_ia64_little_vec; extern const bfd_target bfd_elf64_ia64_little_vec;
extern const bfd_target bfd_elf64_ia64_big_vec; extern const bfd_target bfd_elf64_ia64_big_vec;
extern const bfd_target bfd_elf32_ia64_big_vec; extern const bfd_target bfd_elf32_ia64_big_vec;
@ -526,6 +527,7 @@ extern const bfd_target bfd_elf32_us_cris_vec;
extern const bfd_target bfd_elf32_d10v_vec; extern const bfd_target bfd_elf32_d10v_vec;
extern const bfd_target bfd_elf32_d30v_vec; extern const bfd_target bfd_elf32_d30v_vec;
extern const bfd_target bfd_elf32_hppa_vec; extern const bfd_target bfd_elf32_hppa_vec;
extern const bfd_target bfd_elf32_hppa_linux_vec;
extern const bfd_target bfd_elf32_i370_vec; extern const bfd_target bfd_elf32_i370_vec;
extern const bfd_target bfd_elf32_i386_vec; extern const bfd_target bfd_elf32_i386_vec;
extern const bfd_target bfd_elf32_i860_vec; extern const bfd_target bfd_elf32_i860_vec;
@ -719,6 +721,7 @@ const bfd_target * const bfd_target_vector[] = {
#ifdef BFD64 #ifdef BFD64
&bfd_elf64_alpha_vec, &bfd_elf64_alpha_vec,
&bfd_elf64_hppa_vec, &bfd_elf64_hppa_vec,
&bfd_elf64_hppa_linux_vec,
&bfd_elf64_ia64_little_vec, &bfd_elf64_ia64_little_vec,
&bfd_elf64_ia64_big_vec, &bfd_elf64_ia64_big_vec,
#endif #endif
@ -735,6 +738,7 @@ const bfd_target * const bfd_target_vector[] = {
&bfd_elf32_d10v_vec, &bfd_elf32_d10v_vec,
&bfd_elf32_d30v_vec, &bfd_elf32_d30v_vec,
&bfd_elf32_hppa_vec, &bfd_elf32_hppa_vec,
&bfd_elf32_hppa_linux_vec,
&bfd_elf32_i370_vec, &bfd_elf32_i370_vec,
&bfd_elf32_i386_vec, &bfd_elf32_i386_vec,
#ifdef BFD64 #ifdef BFD64

View File

@ -1,5 +1,7 @@
2001-01-14 Alan Modra <alan@linuxcare.com.au> 2001-01-14 Alan Modra <alan@linuxcare.com.au>
* emulparams/hppalinux.sh (OUTPUT_FORMAT): Set to elf32-hppa-linux.
* emultempl/hppaelf.em (hppaelf_after_parse): New function, * emultempl/hppaelf.em (hppaelf_after_parse): New function,
enabling search for libmilli. On a relocatable link, make .text enabling search for libmilli. On a relocatable link, make .text
sections unique. sections unique.
@ -109,7 +111,7 @@
* ldmain.c (main): Initialize link_info.allow_shlib_undefined * ldmain.c (main): Initialize link_info.allow_shlib_undefined
to false. to false.
* ld.texinfo: Document new command line switch. * ld.texinfo: Document new command line switch.
2000-12-12 Geoffrey Keating <geoffk@redhat.com> 2000-12-12 Geoffrey Keating <geoffk@redhat.com>
* emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS):
@ -129,7 +131,7 @@ Mon Dec 11 14:50:33 MET 2000 Jan Hubicka <jh@suse.cz>
2000-12-01 Joel Sherrill <joel@OARcorp.com> 2000-12-01 Joel Sherrill <joel@OARcorp.com>
* configure.tgt (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*): * configure.tgt (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*):
New targets. New targets.
(sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets. (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
(sparc*-*-rtems*): Switched from a.out to ELF. (sparc*-*-rtems*): Switched from a.out to ELF.
@ -174,8 +176,8 @@ Mon Dec 11 14:50:33 MET 2000 Jan Hubicka <jh@suse.cz>
2000-11-24 Fred Fish <fnf@be.com> 2000-11-24 Fred Fish <fnf@be.com>
* ldmain.c (main): Remove redundant init of config.make_executable * ldmain.c (main): Remove redundant init of config.make_executable
to true. to true.
2000-11-15 Richard Henderson <rth@redhat.com> 2000-11-15 Richard Henderson <rth@redhat.com>
@ -253,9 +255,9 @@ Tue Nov 14 00:59:19 2000 Denis Chertykov <denisc@overta.ru>
2000-10-17 Chandrakala Chavva <cchavva@redhat.com> 2000-10-17 Chandrakala Chavva <cchavva@redhat.com>
* lexsup.c: New option OPTION_TARGET_HELP. Prints all target specific * lexsup.c: New option OPTION_TARGET_HELP. Prints all target specific
options. options.
* ld.texinfo: Added notes about this new option. * ld.texinfo: Added notes about this new option.
2000-10-16 Nick Clifton <nickc@redhat.com> 2000-10-16 Nick Clifton <nickc@redhat.com>
@ -271,7 +273,7 @@ Tue Nov 14 00:59:19 2000 Denis Chertykov <denisc@overta.ru>
pe_dll_search_prefix. pe_dll_search_prefix.
2000-10-12 Charles Wilson <cwilson@ece.gatech.edu> 2000-10-12 Charles Wilson <cwilson@ece.gatech.edu>
* emultempl/pe.em (pe_dll_search_prefix): New variable, * emultempl/pe.em (pe_dll_search_prefix): New variable,
(longopts): New --dll-search-prefix option. (longopts): New --dll-search-prefix option.
(gld_${EMULATION_NAME}_list_options): Document. (gld_${EMULATION_NAME}_list_options): Document.
@ -379,7 +381,7 @@ Tue Nov 14 00:59:19 2000 Denis Chertykov <denisc@overta.ru>
* pe-dll.c (process_def_file): Uninitialized data wasn't * pe-dll.c (process_def_file): Uninitialized data wasn't
exported with --export-all-symbols switch. exported with --export-all-symbols switch.
2000-09-28 DJ Delorie <dj@redhat.com> 2000-09-28 DJ Delorie <dj@redhat.com>
* pe-dll.c (fill_edata): rearrange the data so that ordinals and * pe-dll.c (fill_edata): rearrange the data so that ordinals and
@ -847,7 +849,7 @@ Tue Nov 14 00:59:19 2000 Denis Chertykov <denisc@overta.ru>
2000-07-12 Mark Elbrecht <snowball3@bigfoot.com> 2000-07-12 Mark Elbrecht <snowball3@bigfoot.com>
* scripttempl/i386go32.sc: Support the g++ attribute init_priority in * scripttempl/i386go32.sc: Support the g++ attribute init_priority in
gcc 2.95.2 and later. gcc 2.95.2 and later.
2000-07-11 Kazu Hirata <kazu@hxi.com> 2000-07-11 Kazu Hirata <kazu@hxi.com>
@ -1097,9 +1099,9 @@ Tue Nov 14 00:59:19 2000 Denis Chertykov <denisc@overta.ru>
2000-06-05 Michael Matz <matz@ifh.de> 2000-06-05 Michael Matz <matz@ifh.de>
* ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in * ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in
version scripts. version scripts.
* ldlex.l (V_IDENTIFIER): Accept `::' in symbols. * ldlex.l (V_IDENTIFIER): Accept `::' in symbols.
2000-05-23 Marek Michalkiewicz <marekm@linux.org.pl> 2000-05-23 Marek Michalkiewicz <marekm@linux.org.pl>

View File

@ -1,6 +1,6 @@
SCRIPT_NAME=elf SCRIPT_NAME=elf
ELFSIZE=32 ELFSIZE=32
OUTPUT_FORMAT="elf32-hppa" OUTPUT_FORMAT="elf32-hppa-linux"
TEXT_START_ADDR=0x1000 TEXT_START_ADDR=0x1000
TARGET_PAGE_SIZE=0x1000 TARGET_PAGE_SIZE=0x1000
MAXPAGESIZE=0x1000 MAXPAGESIZE=0x1000