Commit Graph

3122 Commits

Author SHA1 Message Date
Ian Lance Taylor
e35765a9a2 * elfcode.h (elf_slurp_reloc_table): Add dynamic parameter.
* elf.c (_bfd_elf_canonicalize_reloc): Pass new argument to
	slurp_reloc_table.
	(_bfd_elf_get_dynamic_reloc_upper_bound): New function.
	(_bfd_elf_canonicalize_dynamic_reloc): New function.
	* elf-bfd.h (struct elf_size_info): Update declaration of
	slurp_reloc_table.
	(_bfd_elf_get_dynamic_reloc_upper_bound): Declare.
	(_bfd_elf_canonicalize_dynamic_reloc): Declare.
	* elfxx-target.h: Use new dynamic reloc routines by default.
	* elf64-mips.c (mips_elf64_slurp_reloc_table): Add dynamic
	parameter.
1996-12-15 19:59:18 +00:00
David Edelsohn
21e45f8225 * libaout.h (enum machine_type): Change M_SPARCLET from 142 to 131.
At the request of matra.
1996-12-13 19:17:46 +00:00
Ian Lance Taylor
6270adfb59 Fri Dec 13 13:18:49 1996 Dan Wilder <dan@gasboy.com>
* coffcode.h (coff_set_flags): Use MC68KBCSMAGIC for bfd_arch_m68k
	if NAMES_HAVE_UNDERSCORE is defined.
1996-12-13 18:21:03 +00:00
Ian Lance Taylor
440f391466 * elflink.h (elf_link_add_object_symbols): Only add a weak
symbol if the real definition is in the dynamic symbol table.
	After finding the real definition, then, if it is dynamic, add the
	weak symbol to the dynamic symbol table.
PR 11244.
1996-12-13 02:29:37 +00:00
Ian Lance Taylor
e5c3708d54 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Make static.
PR 11253.
1996-12-12 20:27:49 +00:00
Michael Meissner
e7bab9df0f Support R_PPC_PLTREL24 1996-12-12 20:08:54 +00:00
Ian Lance Taylor
a5147005bb * ppcboot.c (ppcboot_set_arch_mach): Don't define; it's a
function.
	(ppcboot_bfd_print_private_bfd_data): Don't take the address of an
	array.
PR 11256.
1996-12-12 19:57:22 +00:00
Jeff Law
e14af8fc41 * elf32-mn10300.c (reloc_type): Remove big endian mn10300 reloc
variants.
        (elf32_mn10300_howto_table, mn10300_reloc_map): Likewise.
        (bfd_elf32_mn10300_reloc): Write data in little endian format.
        * reloc.c: Remove mn10300 big endian relocs.
        * bfd-in2.h, libbfd.h: Rebuilt.

        * elf32-mn10200.c: Update from elf32-mn10300.c.
1996-12-11 06:31:23 +00:00
Jeff Law
31cffd2ee6 * elf32-mn10300.c (elf_symbol_leading_char): Define. 1996-12-06 22:51:44 +00:00
Jeff Law
207e944c81 * elf32-mn10300.c: Add some comments.
Still cleaning up.
1996-12-06 22:23:37 +00:00
Ian Lance Taylor
6dcf1ef5de * ihex.c (ihex_scan): Always initialize buf before jumping to
error_return.
	(ihex_read_section): Likewise.
1996-12-06 22:20:24 +00:00
Jeff Law
d28f058e54 * elf32-mn10300.c (elf_mn10300_howto_table): Don't set partial-
inplace for most relocs.
1996-12-06 05:35:00 +00:00
Ian Lance Taylor
80be821d2e * elflink.h (elf_link_add_object_symbols): Calling check_relocs
even if SEC_ALLOC is not set.
	* elf32-i386.c (elf_i386_check_relocs): Don't check SEC_ALLOC
	when deciding whether to copy a reloc into a shared object.
	(elf_i386_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
	(elf32_sparc_relocate_section): Likewise.
	* elf32-i386.c (elf_i386_check_relocs): Don't set SEC_ALLOC in a
	reloc section if it is not set in the source section.
	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
	* elf.c (bfd_section_from_shdr): Mark a reloc section associated
	with a SEC_DEBUGGING section as SEC_DEBUGGING.
PR 11174.
1996-12-05 18:47:03 +00:00
Michael Meissner
e5c4495c9e #if 0 some code that is not used yet 1996-12-04 19:19:15 +00:00
Ian Lance Taylor
5dda64611e * cofflink.c (_bfd_coff_generic_relocate_section): Print an error
message for bfd_reloc_outofrange, rather than aborting.  From
	Philippe De Muyter <phdm@info.ucl.ac.be>.
1996-12-02 18:18:33 +00:00
Ian Lance Taylor
179b58d949 * cofflink.c (_bfd_coff_final_link): If there aren't any relocs in
a relocateable link, don't try to process them.  From Heinz Wrobel
	<wrobel@lpr.e-technik.tu-muenchen.de>.
1996-12-02 17:15:05 +00:00
Jeff Law
943686fa04 * elf32-mn10300.c (mn10300_info_howto): Renamed from
mn10300-Info_howto_rel.  Tweak reloc argument to be an
        Elf32_Internal_Rela.
        (USE_RELA): Define instead of USE_REL.
        (elf_info_to_howto, elf_info_howto_rel): Corresponding changes.
1996-12-02 07:44:50 +00:00
Peter Schauer
0e0f410619 * configure.in, configure: Handle mips*-sgi-irix6*.
* irix-core.c (irix_core_core_file_p):  Accept CORE_MAGICN32
	core files.
1996-12-01 08:31:05 +00:00
Ian Lance Taylor
15aafe49cc * elf32-i386.c (elf_i386_relocate_section): Warn about a
relocation against a symbol defined in a section with no output
	section.
PR 11174.
1996-11-27 17:11:05 +00:00
Ian Lance Taylor
dfc7020d17 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't require AC_C_CROSS.
* configure, config.in: Rebuild with autoconf 2.12.
1996-11-26 21:53:58 +00:00
Ian Lance Taylor
6c02f1a02c * elf-bfd.h (struct elf_link_hash_entry): Add other field.
* elf.c (_bfd_elf_link_hash_newfunc): Initialize other field.
	(swap_out_syms): Set st_other from existing st_other field.
	* elflink.h (elf_link_add_object_symbols): Store st_other in hash
	table other field.
	(elf_link_output_extsym): Set the other field from the global hash
	table entry.
	* elf32-mips.c (enum reloc_type): Add R_MIPS16_26.
	(elf_mips16_jump_howto): New static variable.
	(mips16_jump_reloc): New static function.
	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP.
	(mips_info_to_howto_rel): Handle R_MIPS16_26.
	(mips_elf_relocate_section): Handle R_MIPS16_26.  Handle R_MIPS_26
	to a mips16 symbol.
	* reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs.
	* bfd-in2.h, libbfd.h: Rebuild.
	* cpu-mips.c (arch_info_struct): Add mips:16 entry.
1996-11-26 16:43:03 +00:00
Ian Lance Taylor
f082b5eaea * configure.host: Use long long for mips-sgi-irix6*. 1996-11-26 02:38:33 +00:00
Jeff Law
12fdaaf821 * elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function.
(enum reloc_type): Add more reloc types.
        (elf32_mn10300_howto_table): Update for new reloc types.
        (elf32_mn10300_reloc_map): Update for new reloc types.
        * reloc.c: Add some new relocs for the mn10300 series.
        * bfd-in2.h, libbfd.h: Rebuilt.
Last week's reloc work.
1996-11-25 15:59:07 +00:00
Jeff Law
23def2765b * som.c (setup_sections): Don't lose for a space which has
no data, but some symbols.
binutils/11140
1996-11-23 20:30:54 +00:00
Ian Lance Taylor
a600a89e4f * sunos.c (struct sunos_link_hash_table): Add got_needed field.
(sunos_link_hash_table_create): Initialize got_needed.
	(sunos_create_dynamic_sections): Only set .got section size if it
	is not already set.  Set got_needed.
	(bfd_sunos_size_dynamic_sections): Check got_needed.  Only set
	sdynptr, and only handle dynamic sections, if dynamic sections are
	needed.
	(sunos_scan_std_relocs): Pass false to create_dynamic_sections.
	Initialize .got section.
	(sunos_scan_ext_relocs): Likewise.
	(sunos_write_dynamic_symbol): Set up PLT entry even if this is not
	a dynamic symbol.
	(sunos_finish_dynamic_link): Check got_needed.  Only set up
	dynamic linking information if needed.
PR 11074.
1996-11-22 16:39:17 +00:00
Rob Savoye
aa09d6b2fb * config.bfd: Added VersaDOS format to the Ericsson configuration. 1996-11-21 19:04:56 +00:00
Jeff Law
c3239e6693 * elf32-mn10300.c: Rough cut at relocs for the mn10300. 1996-11-20 23:31:13 +00:00
Dawn Perchik
cf13e3fc30 * filemode.c: Include sysdep.h.
* ihex.c: Add casts to eliminate compiler warnings.
    * sunos.c: Add casts to eliminate compiler warnings.
1996-11-12 23:28:49 +00:00
Michael Meissner
9e23db7616 Add more support for V.4 shared libs 1996-11-11 15:40:04 +00:00
David Edelsohn
affcfcf9af * elf32-m32r.c (elf_m32r_howto_table, R_M32R_24): Use
complain_overflow_unsigned.
1996-10-29 23:09:51 +00:00
Ian Lance Taylor
c0e8bfc01c add missing end-sanitize-v850 1996-10-29 22:04:56 +00:00
Martin Hunt
421a2956fe Tue Oct 29 12:53:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* elf32-d10v.c (elf_d10v_howto_table): Don't complain on
	overflows for R_D10V_16 and R_D10V_18.
1996-10-29 20:55:52 +00:00
Ian Lance Taylor
061cc10b03 * ieee.c (ieee_write_section_part): Use LMA rather than VMA.
(do_with_relocs): Likewise.
	(do_as_repeat): Likewise.
	(copy_expression): Likewise.
PR 10946.
1996-10-29 18:26:11 +00:00
Stu Grossman
27c7e9077d * aclocal.m4, configure: Set USE_BINARY_FOPEN for *-*-windows. 1996-10-24 16:10:11 +00:00
Jeff Law
90ffe48b18 * elf32-v850.c: Add comments about assumptions about
char, short & long sizes.
        (elf32_v850_bfd_final_link_relocate): Fix sign extension
        problems for several relocs.
Still fixing sda/tda/zda stuff.
1996-10-23 21:10:55 +00:00
Ian Lance Taylor
84be2a8fa2 * xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym.
Store import file index in ldindx.
	(xcoff_build_ldsyms): Assume that ldsym was not previously
	allocated.  For an imported symbol, copy ldindx into l_ifile.
1996-10-23 04:22:34 +00:00
Jeff Law
c322f1b523 * elf32-v850.c (elf_v850_howto_table): Fix ordering of
R_V850_ZDAOFFSET and R_V850_TDAOFFSET.  Fix various
        fields in R_V850_TDAOFFSET.
        (elf32_v850_bfd_final_link_relocate): Tweak pc-relative
        relocs to work more like other relocs.  Handle R_V850_TDAOFF
        relocations.
v850 tda, sda & zda stuff.
1996-10-23 04:10:41 +00:00
Jeff Law
725b96f599 * elf32-v850.c: Include bfdlink.h.
(bfd_elf32_v850_reloc): Return an error if we get a reloc
        we can't handle.
        (elf32_v850_bfd_final_link_relocate): New function.
        (v850_elf_relocation_section): Likewise.
        (elf_backend_relocate_section): Define.
New-style linker for the v850 (necessary to handle zda, sda & tda).
sda & tda relocs seem to be working.  No tda reloc support yet.
1996-10-23 01:24:24 +00:00
Ian Lance Taylor
40c0ea5ad6 * binary.c (binary_set_section_contents): Ignore sections which
don't have SEC_LOAD and SEC_ALLOC set.
PR 10914.
1996-10-22 21:23:50 +00:00
Ian Lance Taylor
68553b6361 * elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64.
(mips32_64bit_reloc): New static function.
	(mips_reloc_map): Add entry for BFD_RELOC_64.
	(mips_elf_relocate_section): Handle R_MIPS_64.
1996-10-21 23:56:13 +00:00
Jeff Law
9c52f4b2f7 * linker.c (_bfd_generic_final_link): Avoid losing static
symbols in the .bss section.
Something Stu noticed.
1996-10-21 18:15:24 +00:00
Ian Lance Taylor
bd4dd3d011 * linker.c (default_indirect_link_order): Print an error message
when attempting to do a relocateable link with different object
	file formats, rather than calling abort.
1996-10-21 14:56:17 +00:00
David Edelsohn
5691054491 * reloc.c (m32r relocs): Rename them.
* bfd-in2.h, libbfd.h: Regenerated.
	* elf32-m32r.c: Update.
	(m32r_elf_10_pcrel_reloc): New function.
	(elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it.
	(elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks.
1996-10-17 17:46:53 +00:00
Jeff Law
b6d08fce22 * elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
        (elf_v850_howto_table): Corresponding changes.
        (elf_v850_reloc_map): Corresponding changes.
        * reloc.c: Add additional V850 relocations.
        * bfd-in2.h, libbfd.h: Rebuilt.
1996-10-17 04:45:29 +00:00
Jeff Law
4948949ea2 * linker.c (_bfd_generic_final_link): Set "linker_mark" for
all sections that will be included in the output file.
        (_bfd_generic_link_output_symbols): Discard symbols in sections
        which are being discarded.
Fixes 4 failures in the g++ testsuite on the v850.
1996-10-16 20:27:18 +00:00
Jeff Law
e1d98a0a65 * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
no longer want in pc-relative relocs.
Fixing some g++ testsuite failures.
1996-10-16 17:26:50 +00:00
Jeff Law
05f1baaa20 * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
accept a reloc against an undefined sybmol!
jeez.  I'm going to go sit in the corner and hide.
1996-10-16 04:18:51 +00:00
Stu Grossman
1336da39bd * elf32-v850.c: Define elf_symbol_leading_char to be '_'. 1996-10-15 23:19:29 +00:00
Ian Lance Taylor
ede836b9aa * VERSION: Bump for new relocation. 1996-10-15 20:58:52 +00:00
Ian Lance Taylor
c24453fece * hosts/i386bsd.h: If NBPG is not defined, define it as
PAGE_SIZE, for recent versions of FreeBSD.
1996-10-15 16:41:38 +00:00