mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
Merge from mainline.
This commit is contained in:
parent
541b13981c
commit
96248713e4
136
bfd/ChangeLog
136
bfd/ChangeLog
@ -1,3 +1,139 @@
|
||||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* configure.in: Bump version to 2.12.1 and comment out is_release.
|
||||
* configure: Regenerate.
|
||||
* dep-in.sed: Cope with absolute paths.
|
||||
* Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
|
||||
Run "make dep-am".
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
Merge from mainline
|
||||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||||
* srec.c (MAXCHUNK, Chunk): Revise comments.
|
||||
(srec_write_record): Correct buffer size.
|
||||
(srec_write_header): Do without intermediate buffer.
|
||||
(srec_write_section): Validate Chunk.
|
||||
(srec_write_terminator): Pass NULL instead of dummy buffer.
|
||||
(srec_write_symbols): Pass file and symbol names directly to
|
||||
bfd_bwrite so sprintf won't overflow buffer.
|
||||
|
||||
2002-04-03 Jakub Jelinek <jakub@redhat.com>
|
||||
* elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
|
||||
PC relative relocs against hidden symbols.
|
||||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||||
|
||||
2002-04-03 Alan Modra <amodra@bigpond.net.au>
|
||||
* elf.c (_bfd_elf_make_section_from_shdr): When setting section
|
||||
LMAs, loop over segments until p_vaddr and p_memsz specify an
|
||||
extent enclosing the section.
|
||||
|
||||
2002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
* ihex.c (ihex_write_object_contents): Do not allow records to
|
||||
cross a 64K boundary - wrap if necessary.
|
||||
|
||||
2002-03-28 Alan Modra <amodra@bigpond.net.au>
|
||||
* linker.c (link_action): Ignore duplicate warning syms.
|
||||
(_bfd_generic_link_write_global_symbol): Follow warning symbol link.
|
||||
* elflink.h (elf_adjust_dynstr_offsets): Likewise.
|
||||
(elf_adjust_dynamic_symbol): Likewise.
|
||||
(elf_export_symbol): Likewise.
|
||||
(elf_link_find_version_dependencies): Likewise.
|
||||
(elf_link_assign_sym_version): Likewise.
|
||||
(elf_link_sec_merge_syms): Likewise.
|
||||
(elf_link_output_extsym): Likewise.
|
||||
(elf_gc_sweep_symbol): Likewise.
|
||||
(elf_gc_propagate_vtable_entries_used): Likewise.
|
||||
(elf_gc_smash_unused_vtentry_relocs): Likewise.
|
||||
(elf_gc_allocate_got_offsets): Likewise.
|
||||
(elf_collect_hash_codes): Likewise.
|
||||
* elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
|
||||
* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
|
||||
(elf_hppa_remark_useless_dynamic_symbols): Likewise.
|
||||
* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
|
||||
* elf32-arm.h (elf32_arm_discard_copies): Likewise.
|
||||
* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
|
||||
(elf_cris_discard_excess_dso_dynamics): Likewise.
|
||||
* elf32-hppa.c (clobber_millicode_symbols): Likewise.
|
||||
(mark_PIC_calls): Likewise.
|
||||
(allocate_plt_static): Likewise.
|
||||
(allocate_dynrelocs): Likewise.
|
||||
(readonly_dynrelocs): Likewise.
|
||||
* elf32-i386.c (allocate_dynrelocs): Likewise.
|
||||
(readonly_dynrelocs): Likewise.
|
||||
* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
|
||||
* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
|
||||
* elf32-mips.c (mips_elf_output_extsym): Likewise.
|
||||
(mips_elf_sort_hash_table_f): Likewise.
|
||||
(mips_elf_check_mips16_stubs): Likewise.
|
||||
* elf32-s390.c (allocate_dynrelocs): Likewise.
|
||||
(readonly_dynrelocs): Likewise.
|
||||
* elf32-sh.c (sh_elf_discard_copies): Likewise.
|
||||
* elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
|
||||
(xstormy16_relax_plt_realloc): Likewise.
|
||||
* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
|
||||
(elf64_alpha_output_extsym): Likewise.
|
||||
* elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
|
||||
* elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
|
||||
(mips_elf64_check_mips16_stubs): Likewise.
|
||||
(mips_elf64_output_extsym): Likewise.
|
||||
* elf64-ppc.c (func_desc_adjust): Likewise.
|
||||
(allocate_dynrelocs): Likewise.
|
||||
(readonly_dynrelocs): Likewise.
|
||||
* elf64-s390.c (allocate_dynrelocs): Likewise.
|
||||
(readonly_dynrelocs): Likewise.
|
||||
* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
|
||||
* elf64-x86-64.c (elf64_x86_64_discard_copies): Likewise.
|
||||
* elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
|
||||
* aoutx.h (aout_link_write_other_symbol): Likewise.
|
||||
* cofflink.c (_bfd_coff_write_task_globals): Likewise.
|
||||
(_bfd_coff_write_global_sym): Likewise.
|
||||
* i386linux.c (linux_tally_symbols): Likewise.
|
||||
* m68klinux.c (linux_tally_symbols): Likewise.
|
||||
* sparclinux.c (linux_tally_symbols): Likewise.
|
||||
* pdp11.c (aout_link_write_other_symbol): Likewise.
|
||||
* sunos.c (sunos_scan_dynamic_symbol): Likewise.
|
||||
* xcofflink.c (xcoff_build_ldsyms): Likewise.
|
||||
(xcoff_write_global_symbol): Likewise.
|
||||
* cofflink.c (_bfd_coff_final_link): Formatting.
|
||||
* elf32-i386.c (elf_i386_check_relocs): Formatting.
|
||||
* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
|
||||
* elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
|
||||
* elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
|
||||
(mips_elf64_final_link): Likewise.
|
||||
* elflink.h (elf_link_find_version_dependencies): Remove duplicate
|
||||
prototype.
|
||||
|
||||
2002-03-21 Richard Earnshaw <rearnsha@arm.com>
|
||||
* elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
|
||||
<case R_ARM_GOT>): Handle relocations to Thumb functions.
|
||||
|
||||
2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
|
||||
* elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
|
||||
STT_NOTYPE symbols to STT_OBJECT.
|
||||
|
||||
2002-03-13 Alan Modra <amodra@bigpond.net.au>
|
||||
* archures.c (bfd_default_compatible): Test bits_per_word.
|
||||
* cpu-i386.c (i386_compatible): Remove. Replace occurrences with
|
||||
bfd_default_compatible.
|
||||
* cpu-i370.c (i370_compatible): Likewise.
|
||||
* cpu-sparc.c (sparc_compatible): Likewise.
|
||||
* cpu-h8300.c (compatible): Test in->arch == out->arch.
|
||||
|
||||
2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
* archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
|
||||
(bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
|
||||
* bfd-in2.h: Regenerate.
|
||||
* cpu-s390.c (arch_info_struct): Use renamed architecture defines.
|
||||
Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
|
||||
with "s390:64-bit".
|
||||
* elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
|
||||
(elf_s390_reloc_type_lookup): Likewise.
|
||||
(elf_s390_check_relocs): Likewise.
|
||||
(elf_s390_gc_sweep_hook): Likewise.
|
||||
(elf_s390_relocate_section): Likewise.
|
||||
(elf_s390_object_p): Use renamed architecture define.
|
||||
* elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
|
||||
|
||||
2002-04-03 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
Merge from mainline.
|
||||
|
@ -700,8 +700,8 @@ DEP1: $(CFILES)
|
||||
dep.sed: dep-in.sed config.status
|
||||
sed <$(srcdir)/dep-in.sed >dep.sed \
|
||||
-e 's!@BFD_H@!$(BFD_H)!' \
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!'
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/bfd$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
|
@ -1258,8 +1258,8 @@ DEP1: $(CFILES)
|
||||
dep.sed: dep-in.sed config.status
|
||||
sed <$(srcdir)/dep-in.sed >dep.sed \
|
||||
-e 's!@BFD_H@!$(BFD_H)!' \
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!'
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/bfd$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
|
15
bfd/aoutx.h
15
bfd/aoutx.h
@ -1,6 +1,6 @@
|
||||
/* BFD semi-generic back-end for a.out binaries.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000,
|
||||
2001
|
||||
2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -4577,6 +4577,13 @@ aout_link_write_other_symbol (h, data)
|
||||
bfd_size_type indx;
|
||||
bfd_size_type amt;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
{
|
||||
h = (struct aout_link_hash_entry *) h->root.u.i.link;
|
||||
if (h->root.type == bfd_link_hash_new)
|
||||
return true;
|
||||
}
|
||||
|
||||
output_bfd = finfo->output_bfd;
|
||||
|
||||
if (aout_backend_info (output_bfd)->write_dynamic_symbol != NULL)
|
||||
@ -4605,6 +4612,7 @@ aout_link_write_other_symbol (h, data)
|
||||
switch (h->root.type)
|
||||
{
|
||||
default:
|
||||
case bfd_link_hash_warning:
|
||||
abort ();
|
||||
/* Avoid variable not initialized warnings. */
|
||||
return true;
|
||||
@ -4646,9 +4654,8 @@ aout_link_write_other_symbol (h, data)
|
||||
type = N_WEAKU;
|
||||
val = 0;
|
||||
case bfd_link_hash_indirect:
|
||||
case bfd_link_hash_warning:
|
||||
/* FIXME: Ignore these for now. The circumstances under which
|
||||
they should be written out are not clear to me. */
|
||||
/* We ignore these symbols, since the indirected symbol is
|
||||
already in the hash table. */
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -259,8 +259,8 @@ DESCRIPTION
|
||||
.#define bfd_mach_avr5 5
|
||||
. bfd_arch_cris, {* Axis CRIS *}
|
||||
. bfd_arch_s390, {* IBM s390 *}
|
||||
.#define bfd_mach_s390_esa 0
|
||||
.#define bfd_mach_s390_esame 1
|
||||
.#define bfd_mach_s390_31 0
|
||||
.#define bfd_mach_s390_64 1
|
||||
. bfd_arch_openrisc, {* OpenRISC *}
|
||||
. bfd_arch_mmix, {* Donald Knuth's educational processor. *}
|
||||
. bfd_arch_xstormy16,
|
||||
@ -722,6 +722,9 @@ bfd_default_compatible (a, b)
|
||||
if (a->arch != b->arch)
|
||||
return NULL;
|
||||
|
||||
if (a->bits_per_word != b->bits_per_word)
|
||||
return NULL;
|
||||
|
||||
if (a->mach > b->mach)
|
||||
return a;
|
||||
|
||||
|
@ -1638,8 +1638,8 @@ enum bfd_architecture
|
||||
#define bfd_mach_avr5 5
|
||||
bfd_arch_cris, /* Axis CRIS */
|
||||
bfd_arch_s390, /* IBM s390 */
|
||||
#define bfd_mach_s390_esa 0
|
||||
#define bfd_mach_s390_esame 1
|
||||
#define bfd_mach_s390_31 0
|
||||
#define bfd_mach_s390_64 1
|
||||
bfd_arch_openrisc, /* OpenRISC */
|
||||
bfd_arch_mmix, /* Donald Knuth's educational processor. */
|
||||
bfd_arch_xstormy16,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for ARM COFF files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001
|
||||
2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -900,6 +900,11 @@ coff_arm_reloc_type_lookup (abfd, code)
|
||||
#define BADMAG(x) ARMBADMAG(x)
|
||||
#define ARM 1 /* Customize coffcode.h */
|
||||
|
||||
/* Make sure that the 'r_offset' field is copied properly
|
||||
so that identical binaries will compare the same. */
|
||||
#define SWAP_IN_RELOC_OFFSET H_GET_32
|
||||
#define SWAP_OUT_RELOC_OFFSET H_PUT_32
|
||||
|
||||
/* Extend the coff_link_hash_table structure with a few ARM specific fields.
|
||||
This allows us to store global data here without actually creating any
|
||||
global variables, which is a no-no in the BFD world. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* COFF specific linker code.
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support.
|
||||
|
||||
@ -1005,7 +1005,8 @@ _bfd_coff_final_link (abfd, info)
|
||||
if (info->task_link)
|
||||
{
|
||||
finfo.failed = false;
|
||||
coff_link_hash_traverse (coff_hash_table (info), _bfd_coff_write_task_globals,
|
||||
coff_link_hash_traverse (coff_hash_table (info),
|
||||
_bfd_coff_write_task_globals,
|
||||
(PTR) &finfo);
|
||||
if (finfo.failed)
|
||||
goto error_return;
|
||||
@ -1013,7 +1014,8 @@ _bfd_coff_final_link (abfd, info)
|
||||
|
||||
/* Write out the global symbols. */
|
||||
finfo.failed = false;
|
||||
coff_link_hash_traverse (coff_hash_table (info), _bfd_coff_write_global_sym,
|
||||
coff_link_hash_traverse (coff_hash_table (info),
|
||||
_bfd_coff_write_global_sym,
|
||||
(PTR) &finfo);
|
||||
if (finfo.failed)
|
||||
goto error_return;
|
||||
@ -2497,6 +2499,13 @@ _bfd_coff_write_global_sym (h, data)
|
||||
|
||||
output_bfd = finfo->output_bfd;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
{
|
||||
h = (struct coff_link_hash_entry *) h->root.u.i.link;
|
||||
if (h->root.type == bfd_link_hash_new)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (h->indx >= 0)
|
||||
return true;
|
||||
|
||||
@ -2512,6 +2521,7 @@ _bfd_coff_write_global_sym (h, data)
|
||||
{
|
||||
default:
|
||||
case bfd_link_hash_new:
|
||||
case bfd_link_hash_warning:
|
||||
abort ();
|
||||
return false;
|
||||
|
||||
@ -2544,7 +2554,6 @@ _bfd_coff_write_global_sym (h, data)
|
||||
break;
|
||||
|
||||
case bfd_link_hash_indirect:
|
||||
case bfd_link_hash_warning:
|
||||
/* Just ignore these. They can't be handled anyhow. */
|
||||
return true;
|
||||
}
|
||||
@ -2699,6 +2708,9 @@ _bfd_coff_write_task_globals (h, data)
|
||||
boolean rtnval = true;
|
||||
boolean save_global_to_static;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct coff_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->indx < 0)
|
||||
{
|
||||
switch (h->root.type)
|
||||
|
4
bfd/configure
vendored
4
bfd/configure
vendored
@ -1116,7 +1116,7 @@ fi
|
||||
|
||||
PACKAGE=bfd
|
||||
|
||||
VERSION=2.12
|
||||
VERSION=2.12.1
|
||||
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
||||
@ -1199,7 +1199,7 @@ fi
|
||||
|
||||
|
||||
# Uncomment the next line to remove the date from the reported bfd version
|
||||
is_release=y
|
||||
#is_release=y
|
||||
|
||||
bfd_version=`echo "${VERSION}" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$/\1\2\3\4\5/'`
|
||||
|
||||
|
@ -7,9 +7,9 @@ AC_INIT(libbfd.c)
|
||||
AC_CANONICAL_SYSTEM
|
||||
AC_ISC_POSIX
|
||||
|
||||
AM_INIT_AUTOMAKE(bfd, 2.12)
|
||||
AM_INIT_AUTOMAKE(bfd, 2.12.1)
|
||||
# Uncomment the next line to remove the date from the reported bfd version
|
||||
is_release=y
|
||||
#is_release=y
|
||||
|
||||
changequote(,)dnl
|
||||
bfd_version=`echo "${VERSION}" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$/\1\2\3\4\5/'`
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD library support routines for the Hitachi H8/300 architecture.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2000, 2001
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Hacked by Steve Chamberlain of Cygnus Support.
|
||||
|
||||
@ -91,7 +91,7 @@ compatible (in, out)
|
||||
const bfd_arch_info_type *out;
|
||||
{
|
||||
/* It's really not a good idea to mix and match modes. */
|
||||
if (in->mach != out->mach)
|
||||
if (in->arch != out->arch || in->mach != out->mach)
|
||||
return 0;
|
||||
else
|
||||
return in;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD i370 CPU definition
|
||||
Copyright 1994, 1995, 1996, 1998, 1999, 2000
|
||||
Copyright 1994, 1995, 1996, 1998, 1999, 2000, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Ian Lance Taylor, Cygnus Support.
|
||||
Hacked by Linas Vepstas <linas@linas.org> in 1998, 1999
|
||||
@ -24,27 +24,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
/* The common i360/370 architecture comes in many forms */
|
||||
|
||||
static const bfd_arch_info_type *i370_compatible
|
||||
PARAMS ((const bfd_arch_info_type *, const bfd_arch_info_type *));
|
||||
|
||||
static const bfd_arch_info_type *
|
||||
i370_compatible (a, b)
|
||||
const bfd_arch_info_type *a;
|
||||
const bfd_arch_info_type *b;
|
||||
{
|
||||
BFD_ASSERT (a->arch == bfd_arch_i370);
|
||||
switch (b->arch)
|
||||
{
|
||||
default:
|
||||
return NULL;
|
||||
case bfd_arch_i370:
|
||||
return bfd_default_compatible (a, b);
|
||||
}
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
static const bfd_arch_info_type arch_info_struct[] =
|
||||
{
|
||||
/* hack alert: old old machines are really 16 and 24 bit arch ... */
|
||||
@ -58,7 +37,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"i370:360",
|
||||
3,
|
||||
false, /* not the default */
|
||||
i370_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[1]
|
||||
},
|
||||
@ -72,7 +51,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"i370:370",
|
||||
3,
|
||||
false, /* not the default */
|
||||
i370_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
0
|
||||
},
|
||||
@ -89,7 +68,7 @@ const bfd_arch_info_type bfd_i370_arch =
|
||||
"i370:common",
|
||||
3,
|
||||
true, /* the default */
|
||||
i370_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[0]
|
||||
};
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the Intel 386 architecture.
|
||||
Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001
|
||||
Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the s390 processor.
|
||||
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Contributed by Carl B. Pedersen and Martin Schwidefsky.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -23,15 +23,15 @@
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_s390_esame_arch =
|
||||
const bfd_arch_info_type bfd_s390_64_arch =
|
||||
{
|
||||
64, /* bits in a word */
|
||||
64, /* bits in an address */
|
||||
8, /* bits in a byte */
|
||||
bfd_arch_s390,
|
||||
bfd_mach_s390_esame,
|
||||
bfd_mach_s390_64,
|
||||
"s390",
|
||||
"s390:esame",
|
||||
"s390:64-bit",
|
||||
3, /* section alignment power */
|
||||
true, /* the default */
|
||||
bfd_default_compatible,
|
||||
@ -45,12 +45,12 @@ const bfd_arch_info_type bfd_s390_arch =
|
||||
32, /* bits in an address */
|
||||
8, /* bits in a byte */
|
||||
bfd_arch_s390,
|
||||
bfd_mach_s390_esa,
|
||||
bfd_mach_s390_31,
|
||||
"s390",
|
||||
"s390:390",
|
||||
"s390:31-bit",
|
||||
3, /* section alignment power */
|
||||
true, /* the default */
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&bfd_s390_esame_arch
|
||||
&bfd_s390_64_arch
|
||||
};
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* BFD support for the SPARC architecture.
|
||||
Copyright 1992, 1995, 1996, 1998, 2000 Free Software Foundation, Inc.
|
||||
Copyright 1992, 1995, 1996, 1998, 2000, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -21,22 +22,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
/* Don't mix 32 bit and 64 bit files. */
|
||||
|
||||
static const bfd_arch_info_type *sparc_compatible
|
||||
PARAMS ((const bfd_arch_info_type *, const bfd_arch_info_type *));
|
||||
|
||||
static const bfd_arch_info_type *
|
||||
sparc_compatible (a, b)
|
||||
const bfd_arch_info_type *a;
|
||||
const bfd_arch_info_type *b;
|
||||
{
|
||||
if (a->bits_per_word != b->bits_per_word)
|
||||
return NULL;
|
||||
|
||||
return bfd_default_compatible (a, b);
|
||||
}
|
||||
|
||||
static const bfd_arch_info_type arch_info_struct[] =
|
||||
{
|
||||
{
|
||||
@ -49,7 +34,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:sparclet",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[1],
|
||||
},
|
||||
@ -63,7 +48,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:sparclite",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[2],
|
||||
},
|
||||
@ -77,7 +62,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:v8plus",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[3],
|
||||
},
|
||||
@ -91,7 +76,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:v8plusa",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[4],
|
||||
},
|
||||
@ -105,7 +90,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:sparclite_le",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[5],
|
||||
},
|
||||
@ -119,7 +104,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:v9",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[6],
|
||||
},
|
||||
@ -133,7 +118,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:v9a",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[7],
|
||||
},
|
||||
@ -147,7 +132,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:v8plusb",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[8],
|
||||
},
|
||||
@ -161,7 +146,7 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
"sparc:v9b",
|
||||
3,
|
||||
false,
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
0,
|
||||
}
|
||||
@ -178,7 +163,7 @@ const bfd_arch_info_type bfd_sparc_arch =
|
||||
"sparc",
|
||||
3,
|
||||
true, /* the default */
|
||||
sparc_compatible,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
&arch_info_struct[0],
|
||||
};
|
||||
|
@ -5,8 +5,10 @@ t loop
|
||||
|
||||
s!\.o:!.lo:!
|
||||
s! @BFD_H@!!g
|
||||
s!@INCDIR@!$(INCDIR)!g
|
||||
s!@SRCDIR@/../include!$(INCDIR)!g
|
||||
s!@TOPDIR@/include!$(INCDIR)!g
|
||||
s!@SRCDIR@/../opcodes!$(srcdir)/../opcodes!g
|
||||
s!@TOPDIR@/opcodes!$(srcdir)/../opcodes!g
|
||||
s!@SRCDIR@/!!g
|
||||
s! hosts/[^ ]*\.h! !g
|
||||
s! sysdep.h!!g
|
||||
|
15
bfd/ecoff.c
15
bfd/ecoff.c
@ -1,5 +1,5 @@
|
||||
/* Generic ECOFF (Extended-COFF) routines.
|
||||
Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
|
||||
Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Original version by Per Bothner.
|
||||
Full support added by Ian Lance Taylor, ian@cygnus.com.
|
||||
@ -4393,6 +4393,13 @@ ecoff_link_write_external (h, data)
|
||||
bfd *output_bfd = einfo->abfd;
|
||||
boolean strip;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
{
|
||||
h = (struct ecoff_link_hash_entry *) h->root.u.i.link;
|
||||
if (h->root.type == bfd_link_hash_new)
|
||||
return true;
|
||||
}
|
||||
|
||||
/* We need to check if this symbol is being stripped. */
|
||||
if (h->root.type == bfd_link_hash_undefined
|
||||
|| h->root.type == bfd_link_hash_undefweak)
|
||||
@ -4474,6 +4481,7 @@ ecoff_link_write_external (h, data)
|
||||
switch (h->root.type)
|
||||
{
|
||||
default:
|
||||
case bfd_link_hash_warning:
|
||||
case bfd_link_hash_new:
|
||||
abort ();
|
||||
case bfd_link_hash_undefined:
|
||||
@ -4502,9 +4510,8 @@ ecoff_link_write_external (h, data)
|
||||
h->esym.asym.value = h->root.u.c.size;
|
||||
break;
|
||||
case bfd_link_hash_indirect:
|
||||
case bfd_link_hash_warning:
|
||||
/* FIXME: Ignore these for now. The circumstances under which
|
||||
they should be written out are not clear to me. */
|
||||
/* We ignore these symbols, since the indirected symbol is
|
||||
already in the hash table. */
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1079,6 +1079,9 @@ elf_hppa_unmark_useless_dynamic_symbols (h, data)
|
||||
{
|
||||
struct bfd_link_info *info = (struct bfd_link_info *)data;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* If we are not creating a shared library, and this symbol is
|
||||
referenced by a shared library but is not defined anywhere, then
|
||||
the generic code will warn that it is undefined.
|
||||
@ -1112,6 +1115,9 @@ elf_hppa_remark_useless_dynamic_symbols (h, data)
|
||||
{
|
||||
struct bfd_link_info *info = (struct bfd_link_info *)data;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* If we are not creating a shared library, and this symbol is
|
||||
referenced by a shared library but is not defined anywhere, then
|
||||
the generic code will warn that it is undefined.
|
||||
|
@ -709,6 +709,9 @@ elf32_mn10300_finish_hash_table_entry (gen_entry, in_args)
|
||||
|
||||
entry = (struct elf32_mn10300_link_hash_entry *) gen_entry;
|
||||
|
||||
if (entry->root.root.type == bfd_link_hash_warning)
|
||||
entry = (struct elf32_mn10300_link_hash_entry *) entry->root.root.u.i.link;
|
||||
|
||||
/* If we already know we want to convert "call" to "calls" for calls
|
||||
to this symbol, then return now. */
|
||||
if (entry->flags == MN10300_CONVERT_CALL_TO_CALLS)
|
||||
|
17
bfd/elf.c
17
bfd/elf.c
@ -665,11 +665,12 @@ _bfd_elf_make_section_from_shdr (abfd, hdr, name)
|
||||
&& (hdr->sh_offset + hdr->sh_size
|
||||
<= phdr->p_offset + phdr->p_memsz)
|
||||
&& ((flags & SEC_LOAD) == 0
|
||||
|| (phdr->p_offset + phdr->p_filesz
|
||||
>= hdr->sh_offset + hdr->sh_size)))
|
||||
|| (hdr->sh_offset + hdr->sh_size
|
||||
<= phdr->p_offset + phdr->p_filesz)))
|
||||
{
|
||||
if ((flags & SEC_LOAD) == 0)
|
||||
newsect->lma += phdr->p_paddr - phdr->p_vaddr;
|
||||
newsect->lma = (phdr->p_paddr
|
||||
+ hdr->sh_addr - phdr->p_vaddr);
|
||||
else
|
||||
/* We used to use the same adjustment for SEC_LOAD
|
||||
sections, but that doesn't work if the segment
|
||||
@ -680,7 +681,15 @@ _bfd_elf_make_section_from_shdr (abfd, hdr, name)
|
||||
LMAs, even if the VMAs are not. */
|
||||
newsect->lma = (phdr->p_paddr
|
||||
+ hdr->sh_offset - phdr->p_offset);
|
||||
break;
|
||||
|
||||
/* With contiguous segments, we can't tell from file
|
||||
offsets whether a section with zero size should
|
||||
be placed at the end of one segment or the
|
||||
beginning of the next. Decide based on vaddr. */
|
||||
if (hdr->sh_addr >= phdr->p_vaddr
|
||||
&& (hdr->sh_addr + hdr->sh_size
|
||||
<= phdr->p_vaddr + phdr->p_memsz))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1560,6 +1560,12 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
|
||||
if (sgot == NULL)
|
||||
return bfd_reloc_notsupported;
|
||||
|
||||
/* If we are addressing a Thumb function, we need to adjust the
|
||||
address by one, so that attempts to call the function pointer will
|
||||
correctly interpret it as Thumb code. */
|
||||
if (sym_flags == STT_ARM_TFUNC)
|
||||
value += 1;
|
||||
|
||||
/* Note that sgot->output_offset is not involved in this
|
||||
calculation. We always want the start of .got. If we
|
||||
define _GLOBAL_OFFSET_TABLE in a different way, as is
|
||||
@ -1612,6 +1618,13 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
|
||||
off &= ~1;
|
||||
else
|
||||
{
|
||||
/* If we are addressing a Thumb function, we need to
|
||||
adjust the address by one, so that attempts to
|
||||
call the function pointer will correctly
|
||||
interpret it as Thumb code. */
|
||||
if (sym_flags == STT_ARM_TFUNC)
|
||||
value |= 1;
|
||||
|
||||
bfd_put_32 (output_bfd, value, sgot->contents + off);
|
||||
h->got.offset |= 1;
|
||||
}
|
||||
@ -3275,6 +3288,9 @@ elf32_arm_discard_copies (h, ignore)
|
||||
{
|
||||
struct elf32_arm_pcrel_relocs_copied * s;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf32_arm_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* We only discard relocs for symbols defined in a regular object. */
|
||||
if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||
return true;
|
||||
|
@ -1930,6 +1930,9 @@ elf_cris_adjust_gotplt_to_got (h, p)
|
||||
|
||||
BFD_ASSERT (dynobj != NULL);
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_cris_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* If nobody wanted a GOTPLT with this symbol, we're done. */
|
||||
if (h->gotplt_refcount <= 0)
|
||||
return true;
|
||||
@ -2881,6 +2884,9 @@ elf_cris_discard_excess_dso_dynamics (h, inf)
|
||||
struct elf_cris_pcrel_relocs_copied *s;
|
||||
struct bfd_link_info *info = (struct bfd_link_info *) inf;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_cris_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* If a symbol has been forced local or we have found a regular
|
||||
definition for the symbolic link case, then we won't be needing
|
||||
any relocs. */
|
||||
@ -2906,6 +2912,9 @@ elf_cris_discard_excess_program_dynamics (h, inf)
|
||||
{
|
||||
struct bfd_link_info *info = (struct bfd_link_info *) inf;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_cris_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* If we're not creating a shared library and have a symbol which is
|
||||
referred to by .got references, but the symbol is defined locally,
|
||||
(or rather, not referred to by a DSO and not defined by a DSO) then
|
||||
|
@ -1982,6 +1982,9 @@ mark_PIC_calls (h, inf)
|
||||
struct elf_link_hash_entry *h;
|
||||
PTR inf ATTRIBUTE_UNUSED;
|
||||
{
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (! (h->plt.refcount > 0
|
||||
&& (h->root.type == bfd_link_hash_defined
|
||||
|| h->root.type == bfd_link_hash_defweak)
|
||||
@ -2011,10 +2014,12 @@ allocate_plt_static (h, inf)
|
||||
struct elf32_hppa_link_hash_table *htab;
|
||||
asection *s;
|
||||
|
||||
if (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
info = (struct bfd_link_info *) inf;
|
||||
htab = hppa_link_hash_table (info);
|
||||
if (((struct elf32_hppa_link_hash_entry *) h)->pic_call)
|
||||
@ -2080,10 +2085,12 @@ allocate_dynrelocs (h, inf)
|
||||
struct elf32_hppa_link_hash_entry *eh;
|
||||
struct elf32_hppa_dyn_reloc_entry *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
info = (struct bfd_link_info *) inf;
|
||||
htab = hppa_link_hash_table (info);
|
||||
if (htab->elf.dynamic_sections_created
|
||||
@ -2213,6 +2220,9 @@ clobber_millicode_symbols (h, info)
|
||||
struct elf_link_hash_entry *h;
|
||||
struct bfd_link_info *info;
|
||||
{
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->type == STT_PARISC_MILLI
|
||||
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
|
||||
{
|
||||
@ -2231,6 +2241,9 @@ readonly_dynrelocs (h, inf)
|
||||
struct elf32_hppa_link_hash_entry *eh;
|
||||
struct elf32_hppa_dyn_reloc_entry *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
eh = (struct elf32_hppa_link_hash_entry *) h;
|
||||
for (p = eh->dyn_relocs; p != NULL; p = p->next)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* i370-specific support for 32-bit ELF
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support.
|
||||
Hacked by Linas Vepstas for i370 linas@linas.org
|
||||
@ -736,6 +736,9 @@ i370_elf_adjust_dynindx (h, cparg)
|
||||
h->dynindx, *cp);
|
||||
#endif
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->dynindx != -1)
|
||||
h->dynindx += *cp;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Intel 80386/80486-specific support for 32-bit ELF
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -847,11 +847,10 @@ elf_i386_check_relocs (abfd, info, sec, relocs)
|
||||
{
|
||||
const char *name;
|
||||
bfd *dynobj;
|
||||
unsigned int strndx = elf_elfheader (abfd)->e_shstrndx;
|
||||
unsigned int shnam = elf_section_data (sec)->rel_hdr.sh_name;
|
||||
|
||||
name = (bfd_elf_string_from_elf_section
|
||||
(abfd,
|
||||
elf_elfheader (abfd)->e_shstrndx,
|
||||
elf_section_data (sec)->rel_hdr.sh_name));
|
||||
name = bfd_elf_string_from_elf_section (abfd, strndx, shnam);
|
||||
if (name == NULL)
|
||||
return false;
|
||||
|
||||
@ -1251,10 +1250,15 @@ allocate_dynrelocs (h, inf)
|
||||
struct elf_i386_link_hash_entry *eh;
|
||||
struct elf_i386_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
/* When warning symbols are created, they **replace** the "real"
|
||||
entry in the hash table, thus we never get to see the real
|
||||
symbol in a hash traversal. So look at it now. */
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
info = (struct bfd_link_info *) inf;
|
||||
htab = elf_i386_hash_table (info);
|
||||
|
||||
@ -1421,6 +1425,9 @@ readonly_dynrelocs (h, inf)
|
||||
struct elf_i386_link_hash_entry *eh;
|
||||
struct elf_i386_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
eh = (struct elf_i386_link_hash_entry *) h;
|
||||
for (p = eh->dyn_relocs; p != NULL; p = p->next)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Motorola 68k series support for 32-bit ELF
|
||||
Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -1271,6 +1271,9 @@ elf_m68k_discard_copies (h, ignore)
|
||||
{
|
||||
struct elf_m68k_pcrel_relocs_copied *s;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_m68k_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* We only discard relocs for symbols defined in a regular object. */
|
||||
if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||
return true;
|
||||
|
@ -4779,6 +4779,9 @@ mips_elf_output_extsym (h, data)
|
||||
boolean strip;
|
||||
asection *sec, *output_section;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct mips_elf_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->root.indx == -2)
|
||||
strip = false;
|
||||
else if (((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
|
||||
@ -6089,6 +6092,9 @@ mips_elf_sort_hash_table_f (h, data)
|
||||
struct mips_elf_hash_sort_data *hsd
|
||||
= (struct mips_elf_hash_sort_data *) data;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct mips_elf_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* Symbols without dynamic symbol table entries aren't interesting
|
||||
at all. */
|
||||
if (h->root.dynindx == -1)
|
||||
@ -8789,6 +8795,9 @@ mips_elf_check_mips16_stubs (h, data)
|
||||
struct mips_elf_link_hash_entry *h;
|
||||
PTR data ATTRIBUTE_UNUSED;
|
||||
{
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct mips_elf_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->fn_stub != NULL
|
||||
&& ! h->need_fn_stub)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* IBM S/390-specific support for 32-bit ELF
|
||||
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Contributed by Carl B. Pedersen and Martin Schwidefsky.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -111,6 +111,10 @@ static reloc_howto_type elf_howto_table[] =
|
||||
HOWTO(R_390_PC16, 0, 1, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC16", false, 0,0x0000ffff, true),
|
||||
HOWTO(R_390_PC16DBL, 1, 1, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC16DBL", false, 0,0x0000ffff, true),
|
||||
HOWTO(R_390_PLT16DBL, 1, 1, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT16DBL", false, 0,0x0000ffff, true),
|
||||
HOWTO(R_390_PC32DBL, 1, 2, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC32DBL", false, 0,0xffffffff, true),
|
||||
HOWTO(R_390_PLT32DBL, 1, 2, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT32DBL", false, 0,0xffffffff, true),
|
||||
HOWTO(R_390_GOTPCDBL, 1, 2, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPCDBL", false, 0,0xffffffff, true),
|
||||
HOWTO(R_390_GOTENT, 1, 2, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTENT", false, 0,0xffffffff, true),
|
||||
};
|
||||
|
||||
/* GNU extension to record C++ vtable hierarchy. */
|
||||
@ -166,6 +170,14 @@ elf_s390_reloc_type_lookup (abfd, code)
|
||||
return &elf_howto_table[(int) R_390_PC16DBL];
|
||||
case BFD_RELOC_390_PLT16DBL:
|
||||
return &elf_howto_table[(int) R_390_PLT16DBL];
|
||||
case BFD_RELOC_390_PC32DBL:
|
||||
return &elf_howto_table[(int) R_390_PC32DBL];
|
||||
case BFD_RELOC_390_PLT32DBL:
|
||||
return &elf_howto_table[(int) R_390_PLT32DBL];
|
||||
case BFD_RELOC_390_GOTPCDBL:
|
||||
return &elf_howto_table[(int) R_390_GOTPCDBL];
|
||||
case BFD_RELOC_390_GOTENT:
|
||||
return &elf_howto_table[(int) R_390_GOTENT];
|
||||
case BFD_RELOC_VTABLE_INHERIT:
|
||||
return &elf32_s390_vtinherit_howto;
|
||||
case BFD_RELOC_VTABLE_ENTRY:
|
||||
@ -650,6 +662,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
|
||||
case R_390_GOT12:
|
||||
case R_390_GOT16:
|
||||
case R_390_GOT32:
|
||||
case R_390_GOTENT:
|
||||
/* This symbol requires a global offset table entry. */
|
||||
if (h != NULL)
|
||||
{
|
||||
@ -679,6 +692,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
|
||||
|
||||
case R_390_GOTOFF:
|
||||
case R_390_GOTPC:
|
||||
case R_390_GOTPCDBL:
|
||||
if (htab->sgot == NULL)
|
||||
{
|
||||
if (htab->elf.dynobj == NULL)
|
||||
@ -689,6 +703,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
|
||||
break;
|
||||
|
||||
case R_390_PLT16DBL:
|
||||
case R_390_PLT32DBL:
|
||||
case R_390_PLT32:
|
||||
/* This symbol requires a procedure linkage table entry. We
|
||||
actually build the entry in adjust_dynamic_symbol,
|
||||
@ -711,6 +726,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
|
||||
case R_390_32:
|
||||
case R_390_PC16:
|
||||
case R_390_PC16DBL:
|
||||
case R_390_PC32DBL:
|
||||
case R_390_PC32:
|
||||
if (h != NULL && !info->shared)
|
||||
{
|
||||
@ -752,6 +768,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
|
||||
&& (sec->flags & SEC_ALLOC) != 0
|
||||
&& ((ELF32_R_TYPE (rel->r_info) != R_390_PC16
|
||||
&& ELF32_R_TYPE (rel->r_info) != R_390_PC16DBL
|
||||
&& ELF32_R_TYPE (rel->r_info) != R_390_PC32DBL
|
||||
&& ELF32_R_TYPE (rel->r_info) != R_390_PC32)
|
||||
|| (h != NULL
|
||||
&& (! info->symbolic
|
||||
@ -854,6 +871,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
|
||||
p->count += 1;
|
||||
if (ELF32_R_TYPE (rel->r_info) == R_390_PC16
|
||||
|| ELF32_R_TYPE (rel->r_info) == R_390_PC16DBL
|
||||
|| ELF32_R_TYPE (rel->r_info) == R_390_PC32DBL
|
||||
|| ELF32_R_TYPE (rel->r_info) == R_390_PC32)
|
||||
p->pc_count += 1;
|
||||
}
|
||||
@ -954,6 +972,8 @@ elf_s390_gc_sweep_hook (abfd, info, sec, relocs)
|
||||
case R_390_GOT32:
|
||||
case R_390_GOTOFF:
|
||||
case R_390_GOTPC:
|
||||
case R_390_GOTPCDBL:
|
||||
case R_390_GOTENT:
|
||||
r_symndx = ELF32_R_SYM (rel->r_info);
|
||||
if (r_symndx >= symtab_hdr->sh_info)
|
||||
{
|
||||
@ -974,6 +994,7 @@ elf_s390_gc_sweep_hook (abfd, info, sec, relocs)
|
||||
case R_390_32:
|
||||
case R_390_PC16:
|
||||
case R_390_PC16DBL:
|
||||
case R_390_PC32DBL:
|
||||
case R_390_PC32:
|
||||
r_symndx = ELF32_R_SYM (rel->r_info);
|
||||
if (r_symndx >= symtab_hdr->sh_info)
|
||||
@ -994,6 +1015,7 @@ elf_s390_gc_sweep_hook (abfd, info, sec, relocs)
|
||||
{
|
||||
if (ELF32_R_TYPE (rel->r_info) == R_390_PC16
|
||||
|| ELF32_R_TYPE (rel->r_info) == R_390_PC16DBL
|
||||
|| ELF32_R_TYPE (rel->r_info) == R_390_PC32DBL
|
||||
|| ELF32_R_TYPE (rel->r_info) == R_390_PC32)
|
||||
p->pc_count -= 1;
|
||||
p->count -= 1;
|
||||
@ -1005,6 +1027,7 @@ elf_s390_gc_sweep_hook (abfd, info, sec, relocs)
|
||||
break;
|
||||
|
||||
case R_390_PLT16DBL:
|
||||
case R_390_PLT32DBL:
|
||||
case R_390_PLT32:
|
||||
r_symndx = ELF32_R_SYM (rel->r_info);
|
||||
if (r_symndx >= symtab_hdr->sh_info)
|
||||
@ -1191,10 +1214,12 @@ allocate_dynrelocs (h, inf)
|
||||
struct elf_s390_link_hash_entry *eh;
|
||||
struct elf_s390_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
info = (struct bfd_link_info *) inf;
|
||||
htab = elf_s390_hash_table (info);
|
||||
|
||||
@ -1361,6 +1386,9 @@ readonly_dynrelocs (h, inf)
|
||||
struct elf_s390_link_hash_entry *eh;
|
||||
struct elf_s390_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
eh = (struct elf_s390_link_hash_entry *) h;
|
||||
for (p = eh->dyn_relocs; p != NULL; p = p->next)
|
||||
{
|
||||
@ -1716,6 +1744,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
case R_390_GOT12:
|
||||
case R_390_GOT16:
|
||||
case R_390_GOT32:
|
||||
case R_390_GOTENT:
|
||||
/* Relocation is to the entry for this symbol in the global
|
||||
offset table. */
|
||||
if (htab->sgot == NULL)
|
||||
@ -1803,6 +1832,16 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
abort ();
|
||||
|
||||
relocation = htab->sgot->output_offset + off;
|
||||
|
||||
/*
|
||||
* For @GOTENT the relocation is against the offset between
|
||||
* the instruction and the symbols entry in the GOT and not
|
||||
* between the start of the GOT and the symbols entry. We
|
||||
* add the vma of the GOT to get the correct value.
|
||||
*/
|
||||
if (r_type == R_390_GOTENT)
|
||||
relocation += htab->sgot->output_section->vma;
|
||||
|
||||
break;
|
||||
|
||||
case R_390_GOTOFF:
|
||||
@ -1818,12 +1857,14 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
break;
|
||||
|
||||
case R_390_GOTPC:
|
||||
case R_390_GOTPCDBL:
|
||||
/* Use global offset table as symbol value. */
|
||||
relocation = htab->sgot->output_section->vma;
|
||||
unresolved_reloc = false;
|
||||
break;
|
||||
|
||||
case R_390_PLT16DBL:
|
||||
case R_390_PLT32DBL:
|
||||
case R_390_PLT32:
|
||||
/* Relocation is to the entry for this symbol in the
|
||||
procedure linkage table. */
|
||||
@ -1853,6 +1894,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
case R_390_32:
|
||||
case R_390_PC16:
|
||||
case R_390_PC16DBL:
|
||||
case R_390_PC32DBL:
|
||||
case R_390_PC32:
|
||||
/* r_symndx will be zero only for relocs against symbols
|
||||
from removed linkonce sections, or sections discarded by
|
||||
@ -1864,6 +1906,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
if ((info->shared
|
||||
&& ((r_type != R_390_PC16
|
||||
&& r_type != R_390_PC16DBL
|
||||
&& r_type != R_390_PC32DBL
|
||||
&& r_type != R_390_PC32)
|
||||
|| (h != NULL
|
||||
&& h->dynindx != -1
|
||||
@ -1909,6 +1952,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
&& h->dynindx != -1
|
||||
&& (r_type == R_390_PC16
|
||||
|| r_type == R_390_PC16DBL
|
||||
|| r_type == R_390_PC32DBL
|
||||
|| r_type == R_390_PC32
|
||||
|| !info->shared
|
||||
|| !info->symbolic
|
||||
@ -2375,7 +2419,7 @@ static boolean
|
||||
elf_s390_object_p (abfd)
|
||||
bfd *abfd;
|
||||
{
|
||||
return bfd_default_set_arch_mach (abfd, bfd_arch_s390, bfd_mach_s390_esa);
|
||||
return bfd_default_set_arch_mach (abfd, bfd_arch_s390, bfd_mach_s390_31);
|
||||
}
|
||||
|
||||
static boolean
|
||||
|
@ -3899,8 +3899,8 @@ sh_elf_size_dynamic_sections (output_bfd, info)
|
||||
will not fill them in in the relocate_section routine. */
|
||||
if (info->shared && info->symbolic)
|
||||
sh_elf_link_hash_traverse (sh_elf_hash_table (info),
|
||||
sh_elf_discard_copies,
|
||||
(PTR) NULL);
|
||||
sh_elf_discard_copies,
|
||||
(PTR) NULL);
|
||||
|
||||
/* The check_relocs and adjust_dynamic_symbol entry points have
|
||||
determined the sizes of the various dynamic sections. Allocate
|
||||
@ -4038,6 +4038,9 @@ sh_elf_discard_copies (h, ignore)
|
||||
{
|
||||
struct elf_sh_pcrel_relocs_copied *s;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_sh_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* We only discard relocs for symbols defined in a regular object. */
|
||||
if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||
return true;
|
||||
|
@ -1467,6 +1467,17 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
if (!(outrel.r_offset & 3))
|
||||
r_type = R_SPARC_32;
|
||||
break;
|
||||
case R_SPARC_DISP8:
|
||||
case R_SPARC_DISP16:
|
||||
case R_SPARC_DISP32:
|
||||
/* If the symbol is not dynamic, we should not keep
|
||||
a dynamic relocation. But an .rela.* slot has been
|
||||
allocated for it, output R_SPARC_NONE.
|
||||
FIXME: Add code tracking needed dynamic relocs as
|
||||
e.g. i386 has. */
|
||||
if (h->dynindx == -1)
|
||||
skip = true, relocate = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (skip)
|
||||
|
@ -500,6 +500,9 @@ xstormy16_relax_plt_check (h, xdata)
|
||||
{
|
||||
struct relax_plt_data *data = (struct relax_plt_data *) xdata;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->plt.offset != (bfd_vma) -1)
|
||||
{
|
||||
bfd_vma address;
|
||||
@ -533,6 +536,9 @@ xstormy16_relax_plt_realloc (h, xdata)
|
||||
{
|
||||
bfd_vma *entry = (bfd_vma *) xdata;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->plt.offset != (bfd_vma) -1)
|
||||
{
|
||||
h->plt.offset = *entry;
|
||||
|
@ -2120,18 +2120,21 @@ elf64_alpha_output_extsym (h, data)
|
||||
boolean strip;
|
||||
asection *sec, *output_section;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct alpha_elf_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->root.indx == -2)
|
||||
strip = false;
|
||||
else if (((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
|
||||
|| (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0)
|
||||
&& (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0
|
||||
&& (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0)
|
||||
|| (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0)
|
||||
&& (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0
|
||||
&& (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0)
|
||||
strip = true;
|
||||
else if (einfo->info->strip == strip_all
|
||||
|| (einfo->info->strip == strip_some
|
||||
&& bfd_hash_lookup (einfo->info->keep_hash,
|
||||
h->root.root.root.string,
|
||||
false, false) == NULL))
|
||||
|| (einfo->info->strip == strip_some
|
||||
&& bfd_hash_lookup (einfo->info->keep_hash,
|
||||
h->root.root.root.string,
|
||||
false, false) == NULL))
|
||||
strip = true;
|
||||
else
|
||||
strip = false;
|
||||
@ -2150,44 +2153,44 @@ elf64_alpha_output_extsym (h, data)
|
||||
h->esym.asym.st = stGlobal;
|
||||
|
||||
if (h->root.root.type != bfd_link_hash_defined
|
||||
&& h->root.root.type != bfd_link_hash_defweak)
|
||||
h->esym.asym.sc = scAbs;
|
||||
&& h->root.root.type != bfd_link_hash_defweak)
|
||||
h->esym.asym.sc = scAbs;
|
||||
else
|
||||
{
|
||||
const char *name;
|
||||
{
|
||||
const char *name;
|
||||
|
||||
sec = h->root.root.u.def.section;
|
||||
output_section = sec->output_section;
|
||||
sec = h->root.root.u.def.section;
|
||||
output_section = sec->output_section;
|
||||
|
||||
/* When making a shared library and symbol h is the one from
|
||||
the another shared library, OUTPUT_SECTION may be null. */
|
||||
if (output_section == NULL)
|
||||
h->esym.asym.sc = scUndefined;
|
||||
else
|
||||
{
|
||||
name = bfd_section_name (output_section->owner, output_section);
|
||||
/* When making a shared library and symbol h is the one from
|
||||
the another shared library, OUTPUT_SECTION may be null. */
|
||||
if (output_section == NULL)
|
||||
h->esym.asym.sc = scUndefined;
|
||||
else
|
||||
{
|
||||
name = bfd_section_name (output_section->owner, output_section);
|
||||
|
||||
if (strcmp (name, ".text") == 0)
|
||||
h->esym.asym.sc = scText;
|
||||
else if (strcmp (name, ".data") == 0)
|
||||
h->esym.asym.sc = scData;
|
||||
else if (strcmp (name, ".sdata") == 0)
|
||||
h->esym.asym.sc = scSData;
|
||||
else if (strcmp (name, ".rodata") == 0
|
||||
|| strcmp (name, ".rdata") == 0)
|
||||
h->esym.asym.sc = scRData;
|
||||
else if (strcmp (name, ".bss") == 0)
|
||||
h->esym.asym.sc = scBss;
|
||||
else if (strcmp (name, ".sbss") == 0)
|
||||
h->esym.asym.sc = scSBss;
|
||||
else if (strcmp (name, ".init") == 0)
|
||||
h->esym.asym.sc = scInit;
|
||||
else if (strcmp (name, ".fini") == 0)
|
||||
h->esym.asym.sc = scFini;
|
||||
else
|
||||
h->esym.asym.sc = scAbs;
|
||||
}
|
||||
}
|
||||
if (strcmp (name, ".text") == 0)
|
||||
h->esym.asym.sc = scText;
|
||||
else if (strcmp (name, ".data") == 0)
|
||||
h->esym.asym.sc = scData;
|
||||
else if (strcmp (name, ".sdata") == 0)
|
||||
h->esym.asym.sc = scSData;
|
||||
else if (strcmp (name, ".rodata") == 0
|
||||
|| strcmp (name, ".rdata") == 0)
|
||||
h->esym.asym.sc = scRData;
|
||||
else if (strcmp (name, ".bss") == 0)
|
||||
h->esym.asym.sc = scBss;
|
||||
else if (strcmp (name, ".sbss") == 0)
|
||||
h->esym.asym.sc = scSBss;
|
||||
else if (strcmp (name, ".init") == 0)
|
||||
h->esym.asym.sc = scInit;
|
||||
else if (strcmp (name, ".fini") == 0)
|
||||
h->esym.asym.sc = scFini;
|
||||
else
|
||||
h->esym.asym.sc = scAbs;
|
||||
}
|
||||
}
|
||||
|
||||
h->esym.asym.reserved = 0;
|
||||
h->esym.asym.index = indexNil;
|
||||
@ -2199,18 +2202,18 @@ elf64_alpha_output_extsym (h, data)
|
||||
|| h->root.root.type == bfd_link_hash_defweak)
|
||||
{
|
||||
if (h->esym.asym.sc == scCommon)
|
||||
h->esym.asym.sc = scBss;
|
||||
h->esym.asym.sc = scBss;
|
||||
else if (h->esym.asym.sc == scSCommon)
|
||||
h->esym.asym.sc = scSBss;
|
||||
h->esym.asym.sc = scSBss;
|
||||
|
||||
sec = h->root.root.u.def.section;
|
||||
output_section = sec->output_section;
|
||||
if (output_section != NULL)
|
||||
h->esym.asym.value = (h->root.root.u.def.value
|
||||
+ sec->output_offset
|
||||
+ output_section->vma);
|
||||
h->esym.asym.value = (h->root.root.u.def.value
|
||||
+ sec->output_offset
|
||||
+ output_section->vma);
|
||||
else
|
||||
h->esym.asym.value = 0;
|
||||
h->esym.asym.value = 0;
|
||||
}
|
||||
else if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0)
|
||||
{
|
||||
@ -2232,8 +2235,8 @@ elf64_alpha_output_extsym (h, data)
|
||||
}
|
||||
|
||||
if (! bfd_ecoff_debug_one_external (einfo->abfd, einfo->debug, einfo->swap,
|
||||
h->root.root.root.string,
|
||||
&h->esym))
|
||||
h->root.root.root.string,
|
||||
&h->esym))
|
||||
{
|
||||
einfo->failed = true;
|
||||
return false;
|
||||
@ -2861,6 +2864,9 @@ elf64_alpha_calc_got_offsets_for_symbol (h, arg)
|
||||
{
|
||||
struct alpha_elf_got_entry *gotent;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct alpha_elf_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
for (gotent = h->got_entries; gotent; gotent = gotent->next)
|
||||
if (gotent->use_count > 0)
|
||||
{
|
||||
@ -3038,6 +3044,9 @@ elf64_alpha_calc_dynrel_sizes (h, info)
|
||||
struct alpha_elf_link_hash_entry *h;
|
||||
struct bfd_link_info *info;
|
||||
{
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct alpha_elf_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* If the symbol was defined as a common symbol in a regular object
|
||||
file, and there was no definition in any dynamic object, then the
|
||||
linker will have allocated space for the symbol in a common
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Support for HPPA 64-bit ELF
|
||||
Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -1023,6 +1023,9 @@ elf64_hppa_mark_exported_functions (h, data)
|
||||
|
||||
hppa_info = elf64_hppa_hash_table (info);
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h
|
||||
&& (h->root.type == bfd_link_hash_defined
|
||||
|| h->root.type == bfd_link_hash_defweak)
|
||||
|
@ -3052,6 +3052,9 @@ mips_elf64_sort_hash_table_f (h, data)
|
||||
struct mips_elf64_hash_sort_data *hsd
|
||||
= (struct mips_elf64_hash_sort_data *) data;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct mips_elf64_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* Symbols without dynamic symbol table entries aren't interesting
|
||||
at all. */
|
||||
if (h->root.dynindx == -1)
|
||||
@ -3090,9 +3093,9 @@ mips_elf64_sort_hash_table (info, max_local)
|
||||
hsd.min_got_dynindx = elf_hash_table (info)->dynsymcount;
|
||||
hsd.max_non_got_dynindx = max_local;
|
||||
mips_elf64_link_hash_traverse (((struct mips_elf64_link_hash_table *)
|
||||
elf_hash_table (info)),
|
||||
mips_elf64_sort_hash_table_f,
|
||||
&hsd);
|
||||
elf_hash_table (info)),
|
||||
mips_elf64_sort_hash_table_f,
|
||||
&hsd);
|
||||
|
||||
/* There shoud have been enough room in the symbol table to
|
||||
accomodate both the GOT and non-GOT symbols. */
|
||||
@ -4685,6 +4688,9 @@ mips_elf64_check_mips16_stubs (h, data)
|
||||
struct mips_elf64_link_hash_entry *h;
|
||||
PTR data ATTRIBUTE_UNUSED;
|
||||
{
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct mips_elf64_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->fn_stub != NULL
|
||||
&& ! h->need_fn_stub)
|
||||
{
|
||||
@ -6129,6 +6135,9 @@ mips_elf64_output_extsym (h, data)
|
||||
boolean strip;
|
||||
asection *sec, *output_section;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct mips_elf64_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->root.indx == -2)
|
||||
strip = false;
|
||||
else if (((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
|
||||
@ -6619,8 +6628,8 @@ mips_elf64_final_link (abfd, info)
|
||||
einfo.swap = swap;
|
||||
einfo.failed = false;
|
||||
mips_elf64_link_hash_traverse (mips_elf64_hash_table (info),
|
||||
mips_elf64_output_extsym,
|
||||
(PTR) &einfo);
|
||||
mips_elf64_output_extsym,
|
||||
(PTR) &einfo);
|
||||
if (einfo.failed)
|
||||
return false;
|
||||
|
||||
|
@ -2501,10 +2501,12 @@ func_desc_adjust (h, inf)
|
||||
struct bfd_link_info *info;
|
||||
struct ppc_link_hash_table *htab;
|
||||
|
||||
if (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
info = (struct bfd_link_info *) inf;
|
||||
htab = ppc_hash_table (info);
|
||||
|
||||
@ -2875,10 +2877,12 @@ allocate_dynrelocs (h, inf)
|
||||
struct ppc_link_hash_entry *eh;
|
||||
struct ppc_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
info = (struct bfd_link_info *) inf;
|
||||
htab = ppc_hash_table (info);
|
||||
|
||||
@ -3034,6 +3038,9 @@ readonly_dynrelocs (h, inf)
|
||||
struct ppc_link_hash_entry *eh;
|
||||
struct ppc_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
eh = (struct ppc_link_hash_entry *) h;
|
||||
for (p = eh->dyn_relocs; p != NULL; p = p->next)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* IBM S/390-specific support for 64-bit ELF
|
||||
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Contributed Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -1169,10 +1169,12 @@ allocate_dynrelocs (h, inf)
|
||||
struct elf_s390_link_hash_entry *eh;
|
||||
struct elf_s390_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
info = (struct bfd_link_info *) inf;
|
||||
htab = elf_s390_hash_table (info);
|
||||
|
||||
@ -1339,6 +1341,9 @@ readonly_dynrelocs (h, inf)
|
||||
struct elf_s390_link_hash_entry *eh;
|
||||
struct elf_s390_dyn_relocs *p;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
eh = (struct elf_s390_link_hash_entry *) h;
|
||||
for (p = eh->dyn_relocs; p != NULL; p = p->next)
|
||||
{
|
||||
@ -2325,7 +2330,7 @@ static boolean
|
||||
elf_s390_object_p (abfd)
|
||||
bfd *abfd;
|
||||
{
|
||||
return bfd_default_set_arch_mach (abfd, bfd_arch_s390, bfd_mach_s390_esame);
|
||||
return bfd_default_set_arch_mach (abfd, bfd_arch_s390, bfd_mach_s390_64);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -3607,6 +3607,9 @@ sh64_elf64_discard_copies (h, ignore)
|
||||
{
|
||||
struct elf_sh64_pcrel_relocs_copied *s;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_sh64_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* We only discard relocs for symbols defined in a regular object. */
|
||||
if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||
return true;
|
||||
|
@ -2053,11 +2053,11 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
case R_SPARC_DISP8:
|
||||
case R_SPARC_DISP16:
|
||||
case R_SPARC_DISP32:
|
||||
case R_SPARC_DISP64:
|
||||
case R_SPARC_WDISP30:
|
||||
case R_SPARC_WDISP22:
|
||||
case R_SPARC_WDISP19:
|
||||
case R_SPARC_WDISP16:
|
||||
case R_SPARC_DISP64:
|
||||
if (h == NULL)
|
||||
break;
|
||||
/* Fall through. */
|
||||
@ -2146,6 +2146,18 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
case R_SPARC_UA64:
|
||||
if (!(outrel.r_offset & 7)) r_type = R_SPARC_64;
|
||||
break;
|
||||
case R_SPARC_DISP8:
|
||||
case R_SPARC_DISP16:
|
||||
case R_SPARC_DISP32:
|
||||
case R_SPARC_DISP64:
|
||||
/* If the symbol is not dynamic, we should not keep
|
||||
a dynamic relocation. But an .rela.* slot has been
|
||||
allocated for it, output R_SPARC_NONE.
|
||||
FIXME: Add code tracking needed dynamic relocs as
|
||||
e.g. i386 has. */
|
||||
if (h->dynindx == -1)
|
||||
skip = true, relocate = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (skip)
|
||||
|
@ -1118,6 +1118,9 @@ elf64_x86_64_discard_copies (h, inf)
|
||||
struct elf64_x86_64_pcrel_relocs_copied *s;
|
||||
struct bfd_link_info *info = (struct bfd_link_info *) inf;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct elf64_x86_64_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* If a symbol has been forced local or we have found a regular
|
||||
definition for the symbolic link case, then we won't be needing
|
||||
any relocs. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* ELF linking support for BFD.
|
||||
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -330,6 +330,9 @@ elf_link_renumber_hash_table_dynsyms (h, data)
|
||||
{
|
||||
size_t *count = (size_t *) data;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->dynindx != -1)
|
||||
h->dynindx = ++(*count);
|
||||
|
||||
|
@ -57,8 +57,6 @@ static boolean elf_adjust_dynamic_symbol
|
||||
PARAMS ((struct elf_link_hash_entry *, PTR));
|
||||
static boolean elf_link_find_version_dependencies
|
||||
PARAMS ((struct elf_link_hash_entry *, PTR));
|
||||
static boolean elf_link_find_version_dependencies
|
||||
PARAMS ((struct elf_link_hash_entry *, PTR));
|
||||
static boolean elf_link_assign_sym_version
|
||||
PARAMS ((struct elf_link_hash_entry *, PTR));
|
||||
static boolean elf_collect_hash_codes
|
||||
@ -2795,10 +2793,6 @@ NAME(bfd_elf,record_link_assignment) (output_bfd, info, name, provide)
|
||||
|
||||
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
|
||||
|
||||
/* When possible, keep the original type of the symbol. */
|
||||
if (h->type == STT_NOTYPE)
|
||||
h->type = STT_OBJECT;
|
||||
|
||||
if (((h->elf_link_hash_flags & (ELF_LINK_HASH_DEF_DYNAMIC
|
||||
| ELF_LINK_HASH_REF_DYNAMIC)) != 0
|
||||
|| info->shared)
|
||||
@ -3691,6 +3685,9 @@ elf_adjust_dynstr_offsets (h, data)
|
||||
{
|
||||
struct elf_strtab_hash *dynstr = (struct elf_strtab_hash *) data;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->dynindx != -1)
|
||||
h->dynstr_index = _bfd_elf_strtab_offset (dynstr, h->dynstr_index);
|
||||
return true;
|
||||
@ -3970,6 +3967,17 @@ elf_adjust_dynamic_symbol (h, data)
|
||||
bfd *dynobj;
|
||||
struct elf_backend_data *bed;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
{
|
||||
h->plt.offset = (bfd_vma) -1;
|
||||
h->got.offset = (bfd_vma) -1;
|
||||
|
||||
/* When warning symbols are created, they **replace** the "real"
|
||||
entry in the hash table, thus we never get to see the real
|
||||
symbol in a hash traversal. So look at it now. */
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
}
|
||||
|
||||
/* Ignore indirect symbols. These are added by the versioning code. */
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
@ -4086,6 +4094,9 @@ elf_export_symbol (h, data)
|
||||
if (h->root.type == bfd_link_hash_indirect)
|
||||
return true;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->dynindx == -1
|
||||
&& (h->elf_link_hash_flags
|
||||
& (ELF_LINK_HASH_DEF_REGULAR | ELF_LINK_HASH_REF_REGULAR)) != 0)
|
||||
@ -4143,6 +4154,9 @@ elf_link_find_version_dependencies (h, data)
|
||||
Elf_Internal_Vernaux *a;
|
||||
bfd_size_type amt;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* We only care about symbols defined in shared objects with version
|
||||
information. */
|
||||
if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0
|
||||
@ -4223,6 +4237,9 @@ elf_link_assign_sym_version (h, data)
|
||||
sinfo = (struct elf_assign_sym_version_info *) data;
|
||||
info = sinfo->info;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* Fix the symbol flags. */
|
||||
eif.failed = false;
|
||||
eif.info = info;
|
||||
@ -5933,6 +5950,9 @@ elf_link_sec_merge_syms (h, data)
|
||||
{
|
||||
asection *sec;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if ((h->root.type == bfd_link_hash_defined
|
||||
|| h->root.type == bfd_link_hash_defweak)
|
||||
&& ((sec = h->root.u.def.section)->flags & SEC_MERGE)
|
||||
@ -5968,6 +5988,13 @@ elf_link_output_extsym (h, data)
|
||||
Elf_Internal_Sym sym;
|
||||
asection *input_sec;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
{
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
if (h->root.type == bfd_link_hash_new)
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Decide whether to output this symbol in this pass. */
|
||||
if (eoinfo->localsyms)
|
||||
{
|
||||
@ -6045,6 +6072,7 @@ elf_link_output_extsym (h, data)
|
||||
{
|
||||
default:
|
||||
case bfd_link_hash_new:
|
||||
case bfd_link_hash_warning:
|
||||
abort ();
|
||||
return false;
|
||||
|
||||
@ -6105,16 +6133,6 @@ elf_link_output_extsym (h, data)
|
||||
foo which points to foo@@GNU_1.2. We ignore these symbols,
|
||||
since the indirected symbol is already in the hash table. */
|
||||
return true;
|
||||
|
||||
case bfd_link_hash_warning:
|
||||
/* We can't represent these symbols in ELF, although a warning
|
||||
symbol may have come from a .gnu.warning.SYMBOL section. We
|
||||
just put the target symbol in the hash table. If the target
|
||||
symbol does not really exist, don't do anything. */
|
||||
if (h->root.u.i.link->type == bfd_link_hash_new)
|
||||
return true;
|
||||
return (elf_link_output_extsym
|
||||
((struct elf_link_hash_entry *) h->root.u.i.link, data));
|
||||
}
|
||||
|
||||
/* Give the processor backend a chance to tweak the symbol value,
|
||||
@ -7681,6 +7699,9 @@ elf_gc_sweep_symbol (h, idxptr)
|
||||
{
|
||||
int *idx = (int *) idxptr;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->dynindx != -1
|
||||
&& ((h->root.type != bfd_link_hash_defined
|
||||
&& h->root.type != bfd_link_hash_defweak)
|
||||
@ -7698,6 +7719,9 @@ elf_gc_propagate_vtable_entries_used (h, okp)
|
||||
struct elf_link_hash_entry *h;
|
||||
PTR okp;
|
||||
{
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* Those that are not vtables. */
|
||||
if (h->vtable_parent == NULL)
|
||||
return true;
|
||||
@ -7760,6 +7784,9 @@ elf_gc_smash_unused_vtentry_relocs (h, okp)
|
||||
struct elf_backend_data *bed;
|
||||
int file_align;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* Take care of both those symbols that do not describe vtables as
|
||||
well as those that are not loaded. */
|
||||
if (h->vtable_parent == NULL)
|
||||
@ -8047,6 +8074,9 @@ elf_gc_allocate_got_offsets (h, offarg)
|
||||
{
|
||||
bfd_vma *off = (bfd_vma *) offarg;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->got.refcount > 0)
|
||||
{
|
||||
h->got.offset = off[0];
|
||||
@ -8087,6 +8117,9 @@ elf_collect_hash_codes (h, data)
|
||||
unsigned long ha;
|
||||
char *alc = NULL;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* Ignore indirect symbols. These are added by the versioning code. */
|
||||
if (h->dynindx == -1)
|
||||
return true;
|
||||
|
@ -1710,6 +1710,9 @@ elfNN_ia64_global_dyn_sym_thunk (xentry, xdata)
|
||||
= (struct elfNN_ia64_dyn_sym_traverse_data *) xdata;
|
||||
struct elfNN_ia64_dyn_sym_info *dyn_i;
|
||||
|
||||
if (entry->root.root.type == bfd_link_hash_warning)
|
||||
entry = (struct elfNN_ia64_link_hash_entry *) entry->root.root.u.i.link;
|
||||
|
||||
for (dyn_i = entry->info; dyn_i; dyn_i = dyn_i->next)
|
||||
if (! (*data->func) (dyn_i, data->data))
|
||||
return false;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for linux flavored i386 a.out binaries.
|
||||
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 2001
|
||||
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -438,6 +438,9 @@ linux_tally_symbols (h, data)
|
||||
struct linux_link_hash_entry *h1, *h2;
|
||||
boolean exists;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct linux_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_undefined
|
||||
&& strncmp (h->root.root.root.string, NEEDS_SHRLIB,
|
||||
sizeof NEEDS_SHRLIB - 1) == 0)
|
||||
|
@ -873,6 +873,11 @@ ihex_write_object_contents (abfd)
|
||||
}
|
||||
|
||||
rec_addr = where - (extbase + segbase);
|
||||
|
||||
/* Output records shouldn't cross 64K boundaries. */
|
||||
if (rec_addr + now > 0xfffff)
|
||||
now = 0xffff - rec_addr;
|
||||
|
||||
if (! ihex_write_record (abfd, now, rec_addr, 0, p))
|
||||
return false;
|
||||
|
||||
|
@ -1419,7 +1419,7 @@ static const enum link_action link_action[8][8] =
|
||||
/* DEFW_ROW */ {DEFW, DEFW, DEFW, NOACT, NOACT, NOACT, NOACT, CYCLE },
|
||||
/* COMMON_ROW */ {COM, COM, COM, CREF, COM, BIG, REFC, WARNC },
|
||||
/* INDR_ROW */ {IND, IND, IND, MDEF, IND, CIND, MIND, CYCLE },
|
||||
/* WARN_ROW */ {MWARN, WARN, WARN, CWARN, CWARN, WARN, CWARN, MWARN },
|
||||
/* WARN_ROW */ {MWARN, WARN, WARN, CWARN, CWARN, WARN, CWARN, NOACT },
|
||||
/* SET_ROW */ {SET, SET, SET, SET, SET, SET, CYCLE, CYCLE }
|
||||
};
|
||||
|
||||
@ -2456,6 +2456,9 @@ _bfd_generic_link_write_global_symbol (h, data)
|
||||
(struct generic_write_global_symbol_info *) data;
|
||||
asymbol *sym;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct generic_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
if (h->written)
|
||||
return true;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for linux flavored m68k a.out binaries.
|
||||
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001
|
||||
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -442,6 +442,9 @@ linux_tally_symbols (h, data)
|
||||
struct linux_link_hash_entry *h1, *h2;
|
||||
boolean exists;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct linux_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_undefined
|
||||
&& strncmp (h->root.root.root.string, NEEDS_SHRLIB,
|
||||
sizeof NEEDS_SHRLIB - 1) == 0)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for PDP-11 a.out binaries.
|
||||
Copyright 2001 Free Software Foundation, Inc.
|
||||
Copyright 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -4305,6 +4305,13 @@ aout_link_write_other_symbol (h, data)
|
||||
bfd_size_type indx;
|
||||
bfd_size_type amt;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
{
|
||||
h = (struct aout_link_hash_entry *) h->root.u.i.link;
|
||||
if (h->root.type == bfd_link_hash_new)
|
||||
return true;
|
||||
}
|
||||
|
||||
output_bfd = finfo->output_bfd;
|
||||
|
||||
if (aout_backend_info (output_bfd)->write_dynamic_symbol != NULL)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for linux flavored sparc a.out binaries.
|
||||
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2001
|
||||
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -439,6 +439,9 @@ linux_tally_symbols (h, data)
|
||||
struct linux_link_hash_entry *h1, *h2;
|
||||
boolean exists;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct linux_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_undefined
|
||||
&& strncmp (h->root.root.root.string, NEEDS_SHRLIB,
|
||||
sizeof NEEDS_SHRLIB - 1) == 0)
|
||||
|
69
bfd/srec.c
69
bfd/srec.c
@ -167,13 +167,13 @@ srec_init ()
|
||||
}
|
||||
}
|
||||
|
||||
/* The maximum number of bytes on a line is FF. */
|
||||
/* The maximum number of address+data+crc bytes on a line is FF. */
|
||||
#define MAXCHUNK 0xff
|
||||
|
||||
/* Default size for a CHUNK. */
|
||||
#define DEFAULT_CHUNK 16
|
||||
|
||||
/* The number of bytes we actually fit onto a line on output.
|
||||
/* The number of data bytes we actually fit onto a line on output.
|
||||
This variable can be modified by objcopy's --srec-len parameter.
|
||||
For a 0x75 byte record you should set --srec-len=0x70. */
|
||||
unsigned int Chunk = DEFAULT_CHUNK;
|
||||
@ -936,7 +936,7 @@ srec_write_record (abfd, type, address, data, end)
|
||||
const bfd_byte *data;
|
||||
const bfd_byte *end;
|
||||
{
|
||||
char buffer[MAXCHUNK];
|
||||
char buffer[2 * MAXCHUNK + 6];
|
||||
unsigned int check_sum = 0;
|
||||
const bfd_byte *src = data;
|
||||
char *dst = buffer;
|
||||
@ -994,15 +994,14 @@ static boolean
|
||||
srec_write_header (abfd)
|
||||
bfd *abfd;
|
||||
{
|
||||
bfd_byte buffer[MAXCHUNK];
|
||||
bfd_byte *dst = buffer;
|
||||
unsigned int i;
|
||||
unsigned int len = strlen (abfd->filename);
|
||||
|
||||
/* I'll put an arbitary 40 char limit on header size. */
|
||||
for (i = 0; i < 40 && abfd->filename[i]; i++)
|
||||
*dst++ = abfd->filename[i];
|
||||
if (len > 40)
|
||||
len = 40;
|
||||
|
||||
return srec_write_record (abfd, 0, (bfd_vma) 0, buffer, dst);
|
||||
return srec_write_record (abfd, 0, (bfd_vma) 0,
|
||||
abfd->filename, abfd->filename + len);
|
||||
}
|
||||
|
||||
static boolean
|
||||
@ -1014,6 +1013,17 @@ srec_write_section (abfd, tdata, list)
|
||||
unsigned int octets_written = 0;
|
||||
bfd_byte *location = list->data;
|
||||
|
||||
/* Validate number of data bytes to write. The srec length byte
|
||||
counts the address, data and crc bytes. S1 (tdata->type == 1)
|
||||
records have two address bytes, S2 (tdata->type == 2) records
|
||||
have three, and S3 (tdata->type == 3) records have four.
|
||||
The total length can't exceed 255, and a zero data length will
|
||||
spin for a long time. */
|
||||
if (Chunk == 0)
|
||||
Chunk = 1;
|
||||
else if (Chunk > MAXCHUNK - tdata->type - 2)
|
||||
Chunk = MAXCHUNK - tdata->type - 2;
|
||||
|
||||
while (octets_written < list->size)
|
||||
{
|
||||
bfd_vma address;
|
||||
@ -1043,17 +1053,14 @@ srec_write_terminator (abfd, tdata)
|
||||
bfd *abfd;
|
||||
tdata_type *tdata;
|
||||
{
|
||||
bfd_byte buffer[2];
|
||||
|
||||
return srec_write_record (abfd, 10 - tdata->type,
|
||||
abfd->start_address, buffer, buffer);
|
||||
abfd->start_address, NULL, NULL);
|
||||
}
|
||||
|
||||
static boolean
|
||||
srec_write_symbols (abfd)
|
||||
bfd *abfd;
|
||||
{
|
||||
char buffer[MAXCHUNK];
|
||||
/* Dump out the symbols of a bfd. */
|
||||
int i;
|
||||
int count = bfd_get_symcount (abfd);
|
||||
@ -1062,10 +1069,10 @@ srec_write_symbols (abfd)
|
||||
{
|
||||
bfd_size_type len;
|
||||
asymbol **table = bfd_get_outsymbols (abfd);
|
||||
sprintf (buffer, "$$ %s\r\n", abfd->filename);
|
||||
|
||||
len = strlen (buffer);
|
||||
if (bfd_bwrite (buffer, len, abfd) != len)
|
||||
len = strlen (abfd->filename);
|
||||
if (bfd_bwrite ("$$ ", (bfd_size_type) 3, abfd) != 3
|
||||
|| bfd_bwrite (abfd->filename, len, abfd) != len
|
||||
|| bfd_bwrite ("\r\n", (bfd_size_type) 2, abfd) != 2)
|
||||
return false;
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
@ -1075,23 +1082,29 @@ srec_write_symbols (abfd)
|
||||
&& (s->flags & BSF_DEBUGGING) == 0)
|
||||
{
|
||||
/* Just dump out non debug symbols. */
|
||||
char buf2[40], *p;
|
||||
char buf[42], *p;
|
||||
|
||||
sprintf_vma (buf2,
|
||||
s->value + s->section->output_section->lma
|
||||
+ s->section->output_offset);
|
||||
p = buf2;
|
||||
len = strlen (s->name);
|
||||
if (bfd_bwrite (" ", (bfd_size_type) 2, abfd) != 2
|
||||
|| bfd_bwrite (s->name, len, abfd) != len)
|
||||
return false;
|
||||
|
||||
sprintf_vma (buf + 1, (s->value
|
||||
+ s->section->output_section->lma
|
||||
+ s->section->output_offset));
|
||||
p = buf + 1;
|
||||
while (p[0] == '0' && p[1] != 0)
|
||||
p++;
|
||||
sprintf (buffer, " %s $%s\r\n", s->name, p);
|
||||
len = strlen (buffer);
|
||||
if (bfd_bwrite (buffer, len, abfd) != len)
|
||||
len = strlen (p);
|
||||
p[len] = '\r';
|
||||
p[len + 1] = '\n';
|
||||
*--p = ' ';
|
||||
len += 3;
|
||||
if (bfd_bwrite (p, len, abfd) != len)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sprintf (buffer, "$$ \r\n");
|
||||
len = strlen (buffer);
|
||||
if (bfd_bwrite (buffer, len, abfd) != len)
|
||||
if (bfd_bwrite ("$$ \r\n", (bfd_size_type) 5, abfd) != 5)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -2052,6 +2052,9 @@ sunos_scan_dynamic_symbol (h, data)
|
||||
{
|
||||
struct bfd_link_info *info = (struct bfd_link_info *) data;
|
||||
|
||||
if (h->root.root.type == bfd_link_hash_warning)
|
||||
h = (struct sunos_link_hash_entry *) h->root.root.u.i.link;
|
||||
|
||||
/* Set the written flag for symbols we do not want to write out as
|
||||
part of the regular symbol table. This is all symbols which are
|
||||
not defined in a regular object file. For some reason symbols
|
||||
|
@ -3264,6 +3264,9 @@ xcoff_build_ldsyms (h, p)
|
||||
struct xcoff_loader_info *ldinfo = (struct xcoff_loader_info *) p;
|
||||
bfd_size_type amt;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
h = (struct xcoff_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
/* __rtinit
|
||||
Special handling of this symbol to make is the first symbol in
|
||||
the loader symbol table. Make sure this pass through does not
|
||||
@ -5396,6 +5399,13 @@ xcoff_write_global_symbol (h, inf)
|
||||
output_bfd = finfo->output_bfd;
|
||||
outsym = finfo->outsyms;
|
||||
|
||||
if (h->root.type == bfd_link_hash_warning)
|
||||
{
|
||||
h = (struct xcoff_link_hash_entry *) h->root.u.i.link;
|
||||
if (h->root.type == bfd_link_hash_new)
|
||||
return true;
|
||||
}
|
||||
|
||||
/* If this symbol was garbage collected, just skip it. */
|
||||
if (xcoff_hash_table (finfo->info)->gc
|
||||
&& (h->flags & XCOFF_MARK) == 0)
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* dep-in.sed: Cope with absolute paths.
|
||||
* Makefile.am (dep.sed): Subst TOPDIR.
|
||||
Run "make dep-am".
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-03-28 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* aclocal.m4: Regenerate.
|
||||
|
@ -307,7 +307,8 @@ dep.sed: dep-in.sed config.status
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e "s!@OBJDIR@!$${objdir}!"
|
||||
-e "s!@OBJDIR@!$${objdir}!" \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/binutils$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -376,11 +377,13 @@ arsup.o: arsup.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.o: bucomm.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/libiberty.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h
|
||||
coffdump.o: coffdump.c coffgrok.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
coffgrok.o: coffgrok.c bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \
|
||||
$(INCDIR)/bfdlink.h coffgrok.h
|
||||
coffdump.o: coffdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/libiberty.h coffgrok.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
coffgrok.o: coffgrok.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/libiberty.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h coffgrok.h
|
||||
debug.o: debug.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h debug.h
|
||||
@ -435,21 +438,24 @@ rddbg.o: rddbg.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
size.o: size.c ../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/libiberty.h
|
||||
srconv.o: srconv.c bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h sysroff.h coffgrok.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h sysroff.c
|
||||
srconv.o: srconv.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h sysroff.h coffgrok.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \
|
||||
sysroff.c
|
||||
stabs.o: stabs.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/demangle.h debug.h budbg.h $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def
|
||||
strings.o: strings.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
|
||||
$(INCDIR)/symcat.h $(INCDIR)/getopt.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
sysdump.o: sysdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/safe-ctype.h sysroff.h \
|
||||
sysroff.c
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/safe-ctype.h $(INCDIR)/libiberty.h \
|
||||
sysroff.h sysroff.c
|
||||
version.o: version.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h
|
||||
@ -508,7 +514,8 @@ underscore.o: underscore.c
|
||||
arparse.o: arparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h arsup.h
|
||||
arlex.o: arlex.c $(INCDIR)/libiberty.h arparse.h
|
||||
arlex.o: arlex.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
arparse.h
|
||||
sysroff.o: sysroff.c
|
||||
sysinfo.o: sysinfo.c
|
||||
syslex.o: syslex.c sysinfo.h
|
||||
@ -517,8 +524,8 @@ defparse.o: defparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/fopen-same.h dlltool.h
|
||||
deflex.o: deflex.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
|
||||
defparse.h dlltool.h
|
||||
nlmheader.o: nlmheader.c $(INCDIR)/safe-ctype.h ../bfd/bfd.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
nlmheader.o: nlmheader.c $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h \
|
||||
../bfd/bfd.h $(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
|
||||
nlmconv.h
|
||||
rcparse.o: rcparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
|
@ -1032,7 +1032,8 @@ dep.sed: dep-in.sed config.status
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e "s!@OBJDIR@!$${objdir}!"
|
||||
-e "s!@OBJDIR@!$${objdir}!" \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/binutils$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -1095,11 +1096,13 @@ arsup.o: arsup.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.o: bucomm.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/libiberty.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h
|
||||
coffdump.o: coffdump.c coffgrok.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
coffgrok.o: coffgrok.c bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \
|
||||
$(INCDIR)/bfdlink.h coffgrok.h
|
||||
coffdump.o: coffdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/libiberty.h coffgrok.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
coffgrok.o: coffgrok.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/libiberty.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h coffgrok.h
|
||||
debug.o: debug.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h debug.h
|
||||
@ -1154,21 +1157,24 @@ rddbg.o: rddbg.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
size.o: size.c ../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/libiberty.h
|
||||
srconv.o: srconv.c bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h sysroff.h coffgrok.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h sysroff.c
|
||||
srconv.o: srconv.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h sysroff.h coffgrok.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \
|
||||
sysroff.c
|
||||
stabs.o: stabs.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/demangle.h debug.h budbg.h $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def
|
||||
strings.o: strings.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
|
||||
$(INCDIR)/symcat.h $(INCDIR)/getopt.h bucomm.h config.h \
|
||||
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
sysdump.o: sysdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/safe-ctype.h sysroff.h \
|
||||
sysroff.c
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/safe-ctype.h $(INCDIR)/libiberty.h \
|
||||
sysroff.h sysroff.c
|
||||
version.o: version.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h
|
||||
@ -1227,7 +1233,8 @@ underscore.o: underscore.c
|
||||
arparse.o: arparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h arsup.h
|
||||
arlex.o: arlex.c $(INCDIR)/libiberty.h arparse.h
|
||||
arlex.o: arlex.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
arparse.h
|
||||
sysroff.o: sysroff.c
|
||||
sysinfo.o: sysinfo.c
|
||||
syslex.o: syslex.c sysinfo.h
|
||||
@ -1236,8 +1243,8 @@ defparse.o: defparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/fopen-same.h dlltool.h
|
||||
deflex.o: deflex.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
|
||||
defparse.h dlltool.h
|
||||
nlmheader.o: nlmheader.c $(INCDIR)/safe-ctype.h ../bfd/bfd.h \
|
||||
$(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
nlmheader.o: nlmheader.c $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h \
|
||||
../bfd/bfd.h $(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
|
||||
nlmconv.h
|
||||
rcparse.o: rcparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
|
@ -3,7 +3,9 @@
|
||||
/\\$/b loop
|
||||
|
||||
s!@INCDIR@!$(INCDIR)!g
|
||||
s!@TOPDIR@/include!$(INCDIR)!g
|
||||
s!@BFDDIR@!$(BFDDIR)!g
|
||||
s!@TOPDIR@/bfd!$(BFDDIR)!g
|
||||
s!@SRCDIR@/!!g
|
||||
s!@OBJDIR@/!!g
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* dep-in.sed: Cope with absolute paths.
|
||||
* Makefile.am (dep.sed): Subst TOPDIR.
|
||||
Run "make dep-am".
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-04-01 Jessica Han <jessica@cup.hp.com>
|
||||
|
||||
* config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt reloc
|
||||
|
@ -921,7 +921,8 @@ dep.sed: dep-in.sed config.status
|
||||
sed <$(srcdir)/dep-in.sed >dep.sed \
|
||||
-e "s!@INCDIR@!$${srcdir}/../include!" \
|
||||
-e "s!@BFDDIR@!$${srcdir}/../bfd!" \
|
||||
-e "s!@SRCDIR@!$${srcdir}!"
|
||||
-e "s!@SRCDIR@!$${srcdir}!" \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/gas,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^.MKDEP.*WARNING BELOW./,/^.MKDEP.*WARNING ABOVE./d' \
|
||||
@ -1084,12 +1085,14 @@ DEPTC_hppa_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/hppa.h \
|
||||
dwarf2dbg.h
|
||||
DEPTC_ia64_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
|
||||
$(srcdir)/config/tc-ia64.h $(INCDIR)/coff/internal.h \
|
||||
$(srcdir)/config/tc-ia64.h $(INCDIR)/opcode/ia64.h \
|
||||
$(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
|
||||
dwarf2dbg.h subsegs.h $(INCDIR)/obstack.h
|
||||
DEPTC_ia64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ia64.h \
|
||||
$(INCDIR)/opcode/ia64.h $(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/safe-ctype.h dwarf2dbg.h subsegs.h $(INCDIR)/obstack.h
|
||||
DEPTC_i370_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
|
||||
$(srcdir)/config/tc-i370.h $(INCDIR)/coff/internal.h \
|
||||
@ -1413,15 +1416,16 @@ DEPTC_w65_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-w65.h \
|
||||
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/w65-opc.h
|
||||
DEPTC_v850_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
|
||||
$(srcdir)/config/tc-v850.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
|
||||
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h \
|
||||
dwarf2dbg.h
|
||||
$(srcdir)/config/tc-v850.h $(INCDIR)/elf/v850.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/opcode/v850.h dwarf2dbg.h
|
||||
DEPTC_v850_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-v850.h \
|
||||
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/opcode/v850.h dwarf2dbg.h
|
||||
$(INCDIR)/elf/v850.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/safe-ctype.h \
|
||||
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h \
|
||||
dwarf2dbg.h
|
||||
DEPTC_sh64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh64.h \
|
||||
@ -2249,8 +2253,8 @@ input-file.o: input-file.c $(INCDIR)/symcat.h input-file.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
input-scrub.o: input-scrub.c $(INCDIR)/symcat.h input-file.h \
|
||||
sb.h
|
||||
listing.o: listing.c $(INCDIR)/symcat.h $(INCDIR)/safe-ctype.h \
|
||||
input-file.h subsegs.h
|
||||
listing.o: listing.c $(INCDIR)/symcat.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/safe-ctype.h input-file.h subsegs.h
|
||||
literal.o: literal.c $(INCDIR)/symcat.h subsegs.h $(INCDIR)/obstack.h
|
||||
macro.o: macro.c $(INCDIR)/safe-ctype.h sb.h macro.h
|
||||
messages.o: messages.c $(INCDIR)/symcat.h
|
||||
@ -2265,7 +2269,8 @@ symbols.o: symbols.c $(INCDIR)/symcat.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/obstack.h subsegs.h struc-symbol.h
|
||||
write.o: write.c $(INCDIR)/symcat.h subsegs.h $(INCDIR)/obstack.h \
|
||||
output-file.h dwarf2dbg.h
|
||||
gasp.o: gasp.c $(INCDIR)/safe-ctype.h sb.h macro.h
|
||||
gasp.o: gasp.c $(INCDIR)/getopt.h $(INCDIR)/safe-ctype.h \
|
||||
sb.h macro.h
|
||||
itbl-ops.o: itbl-ops.c itbl-ops.h $(INCDIR)/symcat.h
|
||||
e-crisaout.o: $(srcdir)/config/e-crisaout.c $(INCDIR)/symcat.h \
|
||||
emul-target.h
|
||||
|
@ -818,13 +818,15 @@ DEPTC_hppa_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
dwarf2dbg.h
|
||||
|
||||
DEPTC_ia64_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
|
||||
$(srcdir)/config/tc-ia64.h $(INCDIR)/coff/internal.h \
|
||||
$(srcdir)/config/tc-ia64.h $(INCDIR)/opcode/ia64.h \
|
||||
$(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
|
||||
dwarf2dbg.h subsegs.h $(INCDIR)/obstack.h
|
||||
|
||||
DEPTC_ia64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ia64.h \
|
||||
$(INCDIR)/opcode/ia64.h $(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/safe-ctype.h dwarf2dbg.h subsegs.h $(INCDIR)/obstack.h
|
||||
|
||||
DEPTC_i370_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
|
||||
@ -1216,16 +1218,17 @@ DEPTC_w65_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/w65-opc.h
|
||||
|
||||
DEPTC_v850_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
|
||||
$(srcdir)/config/tc-v850.h $(INCDIR)/coff/internal.h \
|
||||
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
|
||||
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h \
|
||||
dwarf2dbg.h
|
||||
$(srcdir)/config/tc-v850.h $(INCDIR)/elf/v850.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/opcode/v850.h dwarf2dbg.h
|
||||
|
||||
DEPTC_v850_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-v850.h \
|
||||
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/opcode/v850.h dwarf2dbg.h
|
||||
$(INCDIR)/elf/v850.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/safe-ctype.h \
|
||||
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h \
|
||||
dwarf2dbg.h
|
||||
|
||||
DEPTC_sh64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
@ -3090,7 +3093,8 @@ dep.sed: dep-in.sed config.status
|
||||
sed <$(srcdir)/dep-in.sed >dep.sed \
|
||||
-e "s!@INCDIR@!$${srcdir}/../include!" \
|
||||
-e "s!@BFDDIR@!$${srcdir}/../bfd!" \
|
||||
-e "s!@SRCDIR@!$${srcdir}!"
|
||||
-e "s!@SRCDIR@!$${srcdir}!" \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/gas,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^.MKDEP.*WARNING BELOW./,/^.MKDEP.*WARNING ABOVE./d' \
|
||||
@ -3138,8 +3142,8 @@ input-file.o: input-file.c $(INCDIR)/symcat.h input-file.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
input-scrub.o: input-scrub.c $(INCDIR)/symcat.h input-file.h \
|
||||
sb.h
|
||||
listing.o: listing.c $(INCDIR)/symcat.h $(INCDIR)/safe-ctype.h \
|
||||
input-file.h subsegs.h
|
||||
listing.o: listing.c $(INCDIR)/symcat.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/safe-ctype.h input-file.h subsegs.h
|
||||
literal.o: literal.c $(INCDIR)/symcat.h subsegs.h $(INCDIR)/obstack.h
|
||||
macro.o: macro.c $(INCDIR)/safe-ctype.h sb.h macro.h
|
||||
messages.o: messages.c $(INCDIR)/symcat.h
|
||||
@ -3154,7 +3158,8 @@ symbols.o: symbols.c $(INCDIR)/symcat.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/obstack.h subsegs.h struc-symbol.h
|
||||
write.o: write.c $(INCDIR)/symcat.h subsegs.h $(INCDIR)/obstack.h \
|
||||
output-file.h dwarf2dbg.h
|
||||
gasp.o: gasp.c $(INCDIR)/safe-ctype.h sb.h macro.h
|
||||
gasp.o: gasp.c $(INCDIR)/getopt.h $(INCDIR)/safe-ctype.h \
|
||||
sb.h macro.h
|
||||
itbl-ops.o: itbl-ops.c itbl-ops.h $(INCDIR)/symcat.h
|
||||
e-crisaout.o: $(srcdir)/config/e-crisaout.c $(INCDIR)/symcat.h \
|
||||
emul-target.h
|
||||
|
@ -4,9 +4,12 @@
|
||||
|
||||
s! \.\./! !g
|
||||
s!@INCDIR@!$(INCDIR)!g
|
||||
s!@TOPDIR@/include!$(INCDIR)!g
|
||||
s!@BFDDIR@!$(BFDDIR)!g
|
||||
s!@TOPDIR@/bfd!$(BFDDIR)!g
|
||||
s!@SRCDIR@/config!$(srcdir)/config!g
|
||||
s!@SRCDIR@/\.\./opcodes!$(srcdir)/../opcodes!g
|
||||
s!@TOPDIR@/opcodes!$(srcdir)/../opcodes!g
|
||||
s!@SRCDIR@/!!g
|
||||
s! \$(INCDIR)/ansidecl\.h!!g
|
||||
s! \$(INCDIR)/fopen-same\.h!!g
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* dep-in.sed: Cope with absolute paths.
|
||||
* Makefile.am (dep.sed): Subst TOPDIR.
|
||||
Run "make dep-am".
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-03-28 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* Makefile.am: Run "make dep-am".
|
||||
|
@ -100,7 +100,8 @@ dep.sed: dep-in.sed config.status
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e "s!@OBJDIR@!$${objdir}!"
|
||||
-e "s!@OBJDIR@!$${objdir}!" \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/gprof$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -195,10 +196,11 @@ sym_ids.o: sym_ids.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
|
||||
$(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h search_list.h \
|
||||
source.h symtab.h cg_arcs.h sym_ids.h
|
||||
utils.o: utils.c $(INCDIR)/demangle.h gprof.h $(BFDDIR)/sysdep.h \
|
||||
../bfd/config.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
|
||||
../bfd/bfd.h $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h \
|
||||
search_list.h source.h symtab.h cg_arcs.h utils.h
|
||||
utils.o: utils.c $(INCDIR)/demangle.h $(INCDIR)/ansidecl.h \
|
||||
gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/filenames.h ../bfd/bfd.h $(INCDIR)/symcat.h \
|
||||
gconfig.h $(INCDIR)/bin-bugs.h search_list.h source.h \
|
||||
symtab.h cg_arcs.h utils.h
|
||||
i386.o: i386.c gprof.h $(BFDDIR)/sysdep.h $(INCDIR)/ansidecl.h \
|
||||
../bfd/config.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
|
||||
../bfd/bfd.h $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h \
|
||||
|
@ -764,7 +764,8 @@ dep.sed: dep-in.sed config.status
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e "s!@OBJDIR@!$${objdir}!"
|
||||
-e "s!@OBJDIR@!$${objdir}!" \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/gprof$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -857,10 +858,11 @@ sym_ids.o: sym_ids.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
|
||||
$(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h search_list.h \
|
||||
source.h symtab.h cg_arcs.h sym_ids.h
|
||||
utils.o: utils.c $(INCDIR)/demangle.h gprof.h $(BFDDIR)/sysdep.h \
|
||||
../bfd/config.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
|
||||
../bfd/bfd.h $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h \
|
||||
search_list.h source.h symtab.h cg_arcs.h utils.h
|
||||
utils.o: utils.c $(INCDIR)/demangle.h $(INCDIR)/ansidecl.h \
|
||||
gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/filenames.h ../bfd/bfd.h $(INCDIR)/symcat.h \
|
||||
gconfig.h $(INCDIR)/bin-bugs.h search_list.h source.h \
|
||||
symtab.h cg_arcs.h utils.h
|
||||
i386.o: i386.c gprof.h $(BFDDIR)/sysdep.h $(INCDIR)/ansidecl.h \
|
||||
../bfd/config.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
|
||||
../bfd/bfd.h $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h \
|
||||
|
@ -3,7 +3,9 @@
|
||||
/\\$/b loop
|
||||
|
||||
s!@INCDIR@!$(INCDIR)!g
|
||||
s!@TOPDIR@/include!$(INCDIR)!g
|
||||
s!@BFDDIR@!$(BFDDIR)!g
|
||||
s!@TOPDIR@/bfd!$(BFDDIR)!g
|
||||
s!@SRCDIR@/!!g
|
||||
s!@OBJDIR@/!!g
|
||||
|
||||
|
13
ld/ChangeLog
13
ld/ChangeLog
@ -1,3 +1,16 @@
|
||||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* dep-in.sed: Cope with absolute paths.
|
||||
* Makefile.am (dep.sed): Subst TOPDIR and BFDDIR.
|
||||
Run "make dep-am".
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
Merge from mainline.
|
||||
2002-03-28 Alan Modra <amodra@bigpond.net.au>
|
||||
* configure.host: Set up for generic hosts first, then tweak as
|
||||
necessary in more specific targets.
|
||||
(HOSTING_LIBS): Include libgcc_eh.a if found.
|
||||
|
||||
2002-03-28 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
Merge from mainline.
|
||||
|
@ -1175,7 +1175,9 @@ DEP1: $(CFILES) $(GENERATED_CFILES)
|
||||
dep.sed: dep-in.sed config.status
|
||||
sed <$(srcdir)/dep-in.sed >dep.sed \
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!'
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/ld$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -1258,16 +1260,17 @@ pe-dll.o: pe-dll.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
|
||||
ld.h $(INCDIR)/bin-bugs.h ldexp.h ldlang.h ldwrite.h \
|
||||
ldmisc.h ldgram.h ldmain.h ldfile.h ldemul.h $(INCDIR)/coff/internal.h \
|
||||
../bfd/libcoff.h deffile.h pe-dll.h
|
||||
$(BFDDIR)/libcoff.h deffile.h pe-dll.h
|
||||
ldgram.o: ldgram.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h sysdep.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/bfdlink.h ld.h $(INCDIR)/bin-bugs.h ldexp.h \
|
||||
ldver.h ldlang.h ldfile.h ldemul.h ldmisc.h ldmain.h \
|
||||
mri.h ldctor.h ldlex.h
|
||||
ldlex.o: ldlex.c ../bfd/bfd.h $(INCDIR)/symcat.h sysdep.h \
|
||||
config.h $(INCDIR)/fopen-same.h $(INCDIR)/safe-ctype.h \
|
||||
ld.h $(INCDIR)/bin-bugs.h ldgram.h ldmisc.h ldexp.h \
|
||||
ldlang.h ldfile.h ldlex.h ldmain.h $(INCDIR)/libiberty.h
|
||||
ldlex.o: ldlex.c $(INCDIR)/ansidecl.h ../bfd/bfd.h \
|
||||
$(INCDIR)/symcat.h sysdep.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/safe-ctype.h ld.h $(INCDIR)/bin-bugs.h ldgram.h \
|
||||
ldmisc.h ldexp.h ldlang.h ldfile.h ldlex.h ldmain.h \
|
||||
$(INCDIR)/libiberty.h
|
||||
deffilep.o: deffilep.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/safe-ctype.h ../bfd/bfd.h $(INCDIR)/symcat.h \
|
||||
sysdep.h config.h $(INCDIR)/fopen-same.h ld.h $(INCDIR)/bin-bugs.h \
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
@ -507,7 +507,7 @@ deffilep.c ldgram.c ldlex.c
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(ld_new_SOURCES) $(EXTRA_ld_new_SOURCES)
|
||||
OBJECTS = $(ld_new_OBJECTS)
|
||||
@ -695,7 +695,7 @@ uninstall-info:
|
||||
else ii=; fi; \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
test -z "$ii" \
|
||||
test -z "$$ii" \
|
||||
|| install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
|
||||
done
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@ -808,7 +808,7 @@ maintainer-clean-recursive:
|
||||
dot_seen=no; \
|
||||
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
rev="$$subdir $$rev"; \
|
||||
test "$$subdir" = "." && dot_seen=yes; \
|
||||
test "$$subdir" != "." || dot_seen=yes; \
|
||||
done; \
|
||||
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
@ -1870,7 +1870,9 @@ DEP1: $(CFILES) $(GENERATED_CFILES)
|
||||
dep.sed: dep-in.sed config.status
|
||||
sed <$(srcdir)/dep-in.sed >dep.sed \
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!'
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/ld$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -1953,16 +1955,17 @@ pe-dll.o: pe-dll.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
|
||||
ld.h $(INCDIR)/bin-bugs.h ldexp.h ldlang.h ldwrite.h \
|
||||
ldmisc.h ldgram.h ldmain.h ldfile.h ldemul.h $(INCDIR)/coff/internal.h \
|
||||
../bfd/libcoff.h deffile.h pe-dll.h
|
||||
$(BFDDIR)/libcoff.h deffile.h pe-dll.h
|
||||
ldgram.o: ldgram.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/symcat.h sysdep.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/bfdlink.h ld.h $(INCDIR)/bin-bugs.h ldexp.h \
|
||||
ldver.h ldlang.h ldfile.h ldemul.h ldmisc.h ldmain.h \
|
||||
mri.h ldctor.h ldlex.h
|
||||
ldlex.o: ldlex.c ../bfd/bfd.h $(INCDIR)/symcat.h sysdep.h \
|
||||
config.h $(INCDIR)/fopen-same.h $(INCDIR)/safe-ctype.h \
|
||||
ld.h $(INCDIR)/bin-bugs.h ldgram.h ldmisc.h ldexp.h \
|
||||
ldlang.h ldfile.h ldlex.h ldmain.h $(INCDIR)/libiberty.h
|
||||
ldlex.o: ldlex.c $(INCDIR)/ansidecl.h ../bfd/bfd.h \
|
||||
$(INCDIR)/symcat.h sysdep.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/safe-ctype.h ld.h $(INCDIR)/bin-bugs.h ldgram.h \
|
||||
ldmisc.h ldexp.h ldlang.h ldfile.h ldlex.h ldmain.h \
|
||||
$(INCDIR)/libiberty.h
|
||||
deffilep.o: deffilep.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/safe-ctype.h ../bfd/bfd.h $(INCDIR)/symcat.h \
|
||||
sysdep.h config.h $(INCDIR)/fopen-same.h ld.h $(INCDIR)/bin-bugs.h \
|
||||
|
@ -11,11 +11,51 @@
|
||||
|
||||
HDEFINES=
|
||||
HOSTING_CRT0=/lib/crt0.o
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc'
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ]; then libgcc=../gcc/libgcc.a; else libgcc=\`${CC} -print-libgcc-file-name\`; fi; if [ -f ../gcc/libgcc_eh.a ]; then libgcc="$libgcc ../gcc/libgcc_eh.a"; else libgcc_eh=\`${CC} -print-file-name=libgcc_eh.a\`; if [ x"$libgcc_eh" != xlibgcc_eh.a ]; then libgcc="$libgcc $libgcc_eh"; fi; fi; echo $libgcc -lc $libgcc`'
|
||||
NATIVE_LIB_DIRS=
|
||||
|
||||
#
|
||||
# Generic configurations:
|
||||
#
|
||||
|
||||
case "${host}" in
|
||||
|
||||
*-*-freebsd*)
|
||||
NATIVE_LIB_DIRS=/usr/lib
|
||||
# Older versions of gcc do not use a specs file. In those cases,
|
||||
# gcc -print-file-name=specs will simply print specs. We create a
|
||||
# dummy specs files to handle this.
|
||||
echo "-dynamic-linker `${CC} --print-file-name=ld-elf.so.1`" > specs
|
||||
HOSTING_CRT0='-dynamic-linker `${CC} --print-file-name=ld-elf.so.1` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `${CC} --print-file-name=crtbegin.o`'
|
||||
HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
|
||||
;;
|
||||
|
||||
*-*-linux*aout* | *-*-linux*oldld)
|
||||
HOSTING_CRT0=/usr/lib/crt0.o
|
||||
;;
|
||||
|
||||
*-*-linux*libc1*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld-linux.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
|
||||
;;
|
||||
|
||||
*-*-linux*)
|
||||
HOSTING_CRT0='-dynamic-linker `egrep "ld[^ ]*\.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*\.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='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
#
|
||||
# Now more specific configurations
|
||||
#
|
||||
|
||||
case "${host}" in
|
||||
|
||||
*-*-linux*aout* | *-*-linux*oldld | *-*-linux*libc1*)
|
||||
# No further tweaking needed
|
||||
;;
|
||||
|
||||
alpha*-*-netbsd*)
|
||||
# The new BSD `make' has a bug: it doesn't pass empty arguments in
|
||||
# shell commands. So we need to make this value non-empty in order
|
||||
@ -26,8 +66,7 @@ alpha*-*-netbsd*)
|
||||
;;
|
||||
|
||||
arm*-*-linux-gnu*)
|
||||
HOSTING_CRT0='-p -dynamic-linker `fgrep ld-linux.so \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld-linux.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`'
|
||||
HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux,g"`
|
||||
;;
|
||||
|
||||
i[3456]86-*-bsd* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12]\.* | i[34567]86-*-freebsd*aout* | i[3456]86-*-netbsd*)
|
||||
@ -41,23 +80,23 @@ i[3456]86-*-bsd* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12]\.* | i[34
|
||||
|
||||
i[3456]86-*-sysv4*)
|
||||
HOSTING_CRT0='/usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.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` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` /usr/ccs/lib/crtn.o'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` /usr/ccs/lib/crtn.o'
|
||||
NATIVE_LIB_DIRS=/usr/ccs/lib
|
||||
;;
|
||||
|
||||
i[3456]86-sequent-ptx* | i[3456]86-sequent-sysv*)
|
||||
HOSTING_CRT0='/lib/crt0.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` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
|
||||
;;
|
||||
|
||||
i[3456]86-*-sysv*)
|
||||
HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; fi`'
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; fi` /lib/crtn.o'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; fi` /lib/crtn.o'
|
||||
;;
|
||||
|
||||
i[3456]86-*-solaris*)
|
||||
HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else ${CC} -print-file-name=crt1.o; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else ${CC} -print-file-name=crti.o; fi` /usr/ccs/lib/values-Xa.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` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
|
||||
NATIVE_LIB_DIRS=/usr/ccs/lib
|
||||
;;
|
||||
|
||||
@ -73,46 +112,31 @@ i[3456]86-*-sco* | i[3456]86-*-isc*)
|
||||
${CC} -c crtend.c -o crtend.o
|
||||
rm -f crtend.c
|
||||
HOSTING_CRT0='/lib/crt1.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` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` /lib/crtn.o'
|
||||
;;
|
||||
|
||||
i[3456]86-*-linux*aout* | i[3456]86-*-linux*oldld)
|
||||
HOSTING_CRT0=/usr/lib/crt0.o
|
||||
;;
|
||||
|
||||
i[3456]86-*-linux*libc1*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld-linux.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/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` -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; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
|
||||
;;
|
||||
|
||||
i[3456]86-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker `fgrep ld-linux.so \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld-linux.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`'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` /lib/crtn.o'
|
||||
;;
|
||||
|
||||
i[3456]86-*-lynxos*)
|
||||
HOSTING_CRT0=/lib/init1.o
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' -lm /lib/initn.o'
|
||||
;;
|
||||
|
||||
i[3456]86-pc-interix*)
|
||||
HOSTING_CRT0='$$INTERIX_ROOT/usr/lib/crt0.o'
|
||||
NATIVE_LIB_DIRS='$$INTERIX_ROOT/usr/lib/'
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -L $$X/local_bin -L $$INTERIX_ROOT/usr/lib -lc -lcpsx -lc -lcpsx $$INTERIX_ROOT/usr/lib/psxdll.a $$INTERIX_ROOT/usr/lib/psxdll2.a'
|
||||
HOSTING_LIBS='-L $$X/local_bin -L $$INTERIX_ROOT/usr/lib '"$HOSTING_LIBS"' -lcpsx -lc -lcpsx $$INTERIX_ROOT/usr/lib/psxdll.a $$INTERIX_ROOT/usr/lib/psxdll2.a'
|
||||
;;
|
||||
|
||||
i[3456]86-*-cygwin*)
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
|
||||
;;
|
||||
|
||||
ia64-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker `egrep "ld-linux-ia64.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld-linux-ia64.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`'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"`
|
||||
;;
|
||||
|
||||
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`'
|
||||
HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `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
|
||||
;;
|
||||
|
||||
@ -120,48 +144,32 @@ mips*-dec-bsd*)
|
||||
HOSTING_CRT0=/usr/lib/crt0.o
|
||||
;;
|
||||
|
||||
mips*-sgi-irix4*)
|
||||
mips*-sgi-irix4* | mips*-sgi-irix5*)
|
||||
HOSTING_CRT0=/usr/lib/crt1.o
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
|
||||
;;
|
||||
|
||||
mips*-sgi-irix5*)
|
||||
HOSTING_CRT0=/usr/lib/crt1.o
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' /usr/lib/crtn.o'
|
||||
;;
|
||||
|
||||
mips*-sgi-irix6*)
|
||||
HOSTING_CRT0='/usr/lib32/crt1.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/usr/lib32 -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors'
|
||||
HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors'
|
||||
;;
|
||||
|
||||
mips*-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/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` -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` /usr/lib/crtn.o'
|
||||
;;
|
||||
|
||||
m68*-*-linux*aout*)
|
||||
HOSTING_CRT0=/usr/lib/crt0.o
|
||||
;;
|
||||
|
||||
m68*-*-linux*libc1*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld-linux.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/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` -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; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
|
||||
;;
|
||||
|
||||
m68*-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/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` -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` /usr/lib/crtn.o'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
|
||||
;;
|
||||
|
||||
m68*-*-lynxos*)
|
||||
HOSTING_CRT0=/lib/init1.o
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' -lm /lib/initn.o'
|
||||
;;
|
||||
|
||||
m68*-motorola-sysv)
|
||||
HOSTING_CRT0='`if [ -f ../gcc/crt0.o ]; then echo ../gcc/crt0.o; elif [ -f \`${CC} -print-file-name=\`crt0.o ]; then echo \`${CC} -print-file-name=\`crt0.o; else echo /lib/crt0.o; fi`'
|
||||
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc881 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
|
||||
HOSTING_LIBS=`echo "$HOSTING_LIBS" | sed -e "s,-lc,-lc881,"`
|
||||
;;
|
||||
|
||||
m68*-sun-*)
|
||||
@ -176,62 +184,43 @@ m88*-*-dgux*)
|
||||
|
||||
m88*-motorola-sysv3)
|
||||
HOSTING_CRT0='/lib/crt0.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` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
|
||||
;;
|
||||
|
||||
powerpc*-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/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` -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` /usr/lib/crtn.o'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
|
||||
;;
|
||||
|
||||
s390x-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld64.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`'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld64.so.1,"`
|
||||
;;
|
||||
|
||||
s390-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/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` -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; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
|
||||
;;
|
||||
|
||||
sparc*-*-solaris2*)
|
||||
HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else ${CC} -print-file-name=crt1.o; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else ${CC} -print-file-name=crti.o; fi` /usr/ccs/lib/values-Xa.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` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
|
||||
HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
|
||||
NATIVE_LIB_DIRS=/usr/ccs/lib
|
||||
;;
|
||||
|
||||
sparc-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib/ld-linux.so.2 `${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`'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld-linux.so.2,"`
|
||||
;;
|
||||
|
||||
sparc64-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib64/ld-linux.so.2 `${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`'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib64/ld-linux.so.2,"`
|
||||
;;
|
||||
|
||||
x86_64-*-linux-gnu*)
|
||||
HOSTING_CRT0='-dynamic-linker /lib64/ld-linux-x86-64.so.2 `${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`'
|
||||
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"`
|
||||
;;
|
||||
|
||||
#
|
||||
# Generic configurations:
|
||||
#
|
||||
|
||||
*-*-freebsd*)
|
||||
NATIVE_LIB_DIRS=/usr/lib
|
||||
# Older versions of gcc do not use a specs file. In those cases,
|
||||
# gcc -print-file-name=specs will simply print specs. We create a
|
||||
# dummy specs files to handle this.
|
||||
echo "-dynamic-linker `${CC} --print-file-name=ld-elf.so.1`" > specs
|
||||
HOSTING_CRT0='-dynamic-linker `${CC} --print-file-name=ld-elf.so.1` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `${CC} --print-file-name=crtbegin.o`'
|
||||
HOSTING_LIBS='`${CC} -print-libgcc-file-name` -L`dirname \`${CC} --print-file-name=libc.so\`` -lc `${CC} -print-libgcc-file-name` `${CC} --print-file-name=crtend.o` `${CC} --print-file-name=crtn.o`'
|
||||
;;
|
||||
|
||||
*-*-linux*)
|
||||
HOSTING_CRT0='-dynamic-linker `egrep "ld[^ ]*\.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*.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`'
|
||||
;;
|
||||
|
||||
alpha*-*-*)
|
||||
|
@ -3,6 +3,9 @@
|
||||
/\\$/b loop
|
||||
|
||||
s!@INCDIR@!$(INCDIR)!g
|
||||
s!@TOPDIR@/include!$(INCDIR)!g
|
||||
s!@BFDDIR@!$(BFDDIR)!g
|
||||
s!@TOPDIR@/bfd!$(BFDDIR)!g
|
||||
s!@SRCDIR@/!!g
|
||||
s! \.\./bfd/hosts/[^ ]*\.h! !g
|
||||
|
||||
|
@ -1,3 +1,14 @@
|
||||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* dep-in.sed: Cope with absolute paths.
|
||||
* Makefile.am (dep.sed): Subst TOPDIR.
|
||||
Run "make dep-am".
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
Merge from mainline
|
||||
2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
* s390-dis.c (init_disasm): Use renamed architecture defines.
|
||||
|
||||
2002-03-28 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* aclocal.m4: Regenerate.
|
||||
|
@ -374,7 +374,8 @@ dep.sed: dep-in.sed config.status
|
||||
-e 's!@BFD_H@!$(BFD_H)!' \
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!'
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/opcodes$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -404,11 +405,11 @@ alpha-dis.lo: alpha-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
alpha-opc.lo: alpha-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/alpha.h $(BFD_H) $(INCDIR)/symcat.h \
|
||||
opintl.h
|
||||
arc-dis.lo: arc-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/opcode/arc.h $(BFDDIR)/elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/arc.h $(INCDIR)/elf/reloc-macros.h \
|
||||
opintl.h arc-dis.h arc-ext.h
|
||||
arc-dis.lo: arc-dis.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/opcode/arc.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/arc.h \
|
||||
$(INCDIR)/elf/reloc-macros.h opintl.h arc-dis.h arc-ext.h
|
||||
arc-opc.lo: arc-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/arc.h
|
||||
arc-ext.lo: arc-ext.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
@ -486,19 +487,25 @@ i960-dis.lo: i960-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h
|
||||
ia64-dis.lo: ia64-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \
|
||||
$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-a.lo: ia64-opc-a.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-b.lo: ia64-opc-b.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-f.lo: ia64-opc-f.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-i.lo: ia64-opc-i.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-m.lo: ia64-opc-m.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-a.lo: ia64-opc-a.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-b.lo: ia64-opc-b.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-f.lo: ia64-opc-f.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-i.lo: ia64-opc-i.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-m.lo: ia64-opc-m.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-d.lo: ia64-opc-d.c
|
||||
ia64-opc.lo: ia64-opc.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
sysdep.h config.h ia64-asmtab.h $(INCDIR)/opcode/ia64.h \
|
||||
ia64-asmtab.c
|
||||
$(BFD_H) $(INCDIR)/symcat.h ia64-asmtab.c
|
||||
ia64-gen.lo: ia64-gen.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h sysdep.h config.h ia64-opc.h \
|
||||
$(INCDIR)/opcode/ia64.h ia64-opc-a.c ia64-opc-i.c ia64-opc-m.c \
|
||||
ia64-opc-b.c ia64-opc-f.c ia64-opc-x.c ia64-opc-d.c
|
||||
$(INCDIR)/opcode/ia64.h $(BFD_H) $(INCDIR)/symcat.h \
|
||||
ia64-opc-a.c ia64-opc-i.c ia64-opc-m.c ia64-opc-b.c \
|
||||
ia64-opc-f.c ia64-opc-x.c ia64-opc-d.c
|
||||
ia64-asmtab.lo: ia64-asmtab.c
|
||||
m32r-asm.lo: m32r-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(BFD_H) $(INCDIR)/symcat.h m32r-desc.h $(INCDIR)/opcode/cgen.h \
|
||||
@ -526,7 +533,7 @@ m68hc11-opc.lo: m68hc11-opc.c $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/m68hc11.h
|
||||
m68k-dis.lo: m68k-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/floatformat.h \
|
||||
opintl.h $(INCDIR)/opcode/m68k.h
|
||||
$(INCDIR)/libiberty.h opintl.h $(INCDIR)/opcode/m68k.h
|
||||
m68k-opc.lo: m68k-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/m68k.h
|
||||
m88k-dis.lo: m88k-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
|
@ -885,7 +885,8 @@ dep.sed: dep-in.sed config.status
|
||||
-e 's!@BFD_H@!$(BFD_H)!' \
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!'
|
||||
-e 's!@SRCDIR@!$(srcdir)!' \
|
||||
-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/opcodes$$,,`'!'
|
||||
|
||||
dep: DEP
|
||||
sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
|
||||
@ -915,11 +916,11 @@ alpha-dis.lo: alpha-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
alpha-opc.lo: alpha-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/alpha.h $(BFD_H) $(INCDIR)/symcat.h \
|
||||
opintl.h
|
||||
arc-dis.lo: arc-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \
|
||||
$(INCDIR)/symcat.h $(INCDIR)/opcode/arc.h $(BFDDIR)/elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/arc.h $(INCDIR)/elf/reloc-macros.h \
|
||||
opintl.h arc-dis.h arc-ext.h
|
||||
arc-dis.lo: arc-dis.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/opcode/arc.h \
|
||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/arc.h \
|
||||
$(INCDIR)/elf/reloc-macros.h opintl.h arc-dis.h arc-ext.h
|
||||
arc-opc.lo: arc-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/arc.h
|
||||
arc-ext.lo: arc-ext.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
@ -997,19 +998,25 @@ i960-dis.lo: i960-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h
|
||||
ia64-dis.lo: ia64-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \
|
||||
$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-a.lo: ia64-opc-a.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-b.lo: ia64-opc-b.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-f.lo: ia64-opc-f.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-i.lo: ia64-opc-i.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-m.lo: ia64-opc-m.c ia64-opc.h $(INCDIR)/opcode/ia64.h
|
||||
ia64-opc-a.lo: ia64-opc-a.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-b.lo: ia64-opc-b.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-f.lo: ia64-opc-f.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-i.lo: ia64-opc-i.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-m.lo: ia64-opc-m.c ia64-opc.h $(INCDIR)/opcode/ia64.h \
|
||||
$(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
ia64-opc-d.lo: ia64-opc-d.c
|
||||
ia64-opc.lo: ia64-opc.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
sysdep.h config.h ia64-asmtab.h $(INCDIR)/opcode/ia64.h \
|
||||
ia64-asmtab.c
|
||||
$(BFD_H) $(INCDIR)/symcat.h ia64-asmtab.c
|
||||
ia64-gen.lo: ia64-gen.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h sysdep.h config.h ia64-opc.h \
|
||||
$(INCDIR)/opcode/ia64.h ia64-opc-a.c ia64-opc-i.c ia64-opc-m.c \
|
||||
ia64-opc-b.c ia64-opc-f.c ia64-opc-x.c ia64-opc-d.c
|
||||
$(INCDIR)/opcode/ia64.h $(BFD_H) $(INCDIR)/symcat.h \
|
||||
ia64-opc-a.c ia64-opc-i.c ia64-opc-m.c ia64-opc-b.c \
|
||||
ia64-opc-f.c ia64-opc-x.c ia64-opc-d.c
|
||||
ia64-asmtab.lo: ia64-asmtab.c
|
||||
m32r-asm.lo: m32r-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(BFD_H) $(INCDIR)/symcat.h m32r-desc.h $(INCDIR)/opcode/cgen.h \
|
||||
@ -1037,7 +1044,7 @@ m68hc11-opc.lo: m68hc11-opc.c $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/m68hc11.h
|
||||
m68k-dis.lo: m68k-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/floatformat.h \
|
||||
opintl.h $(INCDIR)/opcode/m68k.h
|
||||
$(INCDIR)/libiberty.h opintl.h $(INCDIR)/opcode/m68k.h
|
||||
m68k-opc.lo: m68k-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/opcode/m68k.h
|
||||
m88k-dis.lo: m88k-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
|
||||
|
@ -6,7 +6,9 @@ t loop
|
||||
s!\.o:!.lo:!
|
||||
s! @BFD_H@! $(BFD_H)!g
|
||||
s!@INCDIR@!$(INCDIR)!g
|
||||
s!@TOPDIR@/include!$(INCDIR)!g
|
||||
s!@BFDDIR@!$(BFDDIR)!g
|
||||
s!@TOPDIR@/bfd!$(BFDDIR)!g
|
||||
s!@SRCDIR@/!!g
|
||||
|
||||
s/\\\n */ /g
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* s390-dis.c -- Disassemble S390 instructions
|
||||
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
This file is part of GDB, GAS and the GNU binutils.
|
||||
@ -53,10 +53,10 @@ init_disasm (info)
|
||||
}
|
||||
switch (info->mach)
|
||||
{
|
||||
case bfd_mach_s390_esa:
|
||||
case bfd_mach_s390_31:
|
||||
current_arch_mask = 1 << S390_OPCODE_ESA;
|
||||
break;
|
||||
case bfd_mach_s390_esame:
|
||||
case bfd_mach_s390_64:
|
||||
current_arch_mask = 1 << S390_OPCODE_ESAME;
|
||||
break;
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user