Jeff Law
2ec0dd123c
* elf-hppa.h (elf_hppa_record_segment_addrs): New function.
...
(elf_hppa_final_link): Initialize text_segment_base and
data_segment_base.
(elf_hppa_final_link_relocate): Handle SEGREL relocations.
1999-09-14 03:44:43 +00:00
Jeff Law
b2e311df32
* elf-hppa.h (elf_hppa_final_link): Remove unused variables.
...
(elf_hppa_final_link_relocate): Likewise.
(elf_hppa_relocate_insn): Likewise.
(elf_hppa_relocate_section): Initialize HOWTO.
1999-09-14 02:03:58 +00:00
Ian Lance Taylor
e5db213db2
1999-09-13 Donn Terry <donn@interix.com>
...
* coffcode.h (styp_to_sec_flags): Further refinement of COMDAT
handling to support both GNU and MS objects.
1999-09-13 23:55:22 +00:00
Ian Lance Taylor
7920749071
1999-09-13 Donn Terry <donn@interix.com>
...
* coffcode.h (coff_write_object_contents): Don't check reloc_count
when determining whether to set F_RELFLG.
1999-09-13 23:42:43 +00:00
Nick Clifton
59f2c4e703
Apply Philip Blundell's patch to prevent range checks on weak symbols.
1999-09-13 09:59:02 +00:00
Alan Modra
2f66722d55
Hackery to handle ix86 "jmp constant" as a pc-relative jump to the given
...
absolute address.
1999-09-13 06:45:15 +00:00
Jeff Law
228d307f1b
* elf-hppa.h (elf_hppa_final_link_relocate): Handle SECREL32.
...
Stub SEGREL32. Return an error for any relocation not handled.
1999-09-13 05:51:32 +00:00
Ian Lance Taylor
49147fca36
* cofflink.c (coff_link_add_symbols): Look for special MSVC string
...
constant symbols, and avoid multiple definition errors on them.
1999-09-12 16:28:20 +00:00
Ian Lance Taylor
86b21447e7
1999-09-12 Donn Terry <donn@interix.com>
...
* libbfd.c (bfd_log2): Rewrite to avoid infinite loop if most
significant bit is set.
1999-09-12 14:27:21 +00:00
Ian Lance Taylor
2fbadf2cf5
1999-09-11 Donn Terry <donn@interix.com>
...
* libpei.h (_bfd_pei_final_link_postscript): Declare.
(coff_final_link_postscript): Define.
* peigen.c (_bfd_pei_swap_aouthdr_out): Don't set value for data
directory entries here.
(_bfd_pei_final_link_postscript): New function.
1999-09-12 00:45:26 +00:00
Ian Lance Taylor
8c42d01089
1999-09-11 Donn Terry <donn@interix.com>
...
* peigen.c (_bfd_pei_swap_scnhdr_out): Remove code which sets
section flags based on the section name.
1999-09-12 00:32:32 +00:00
Ian Lance Taylor
cb43721da5
1999-09-11 Donn Terry <donn@interix.com>
...
* peicode.h (coff_swap_scnhdr_in): If COFF_IMAGE_WITH_PE, the
get the overflow of the s_nlnno field from the s_nreloc field.
* peigen.c (_bfd_pei_swap_scnhdr_out): If doing a final link, swap
the s_nlnno overflow of the .text section into the s_nreloc
field.
1999-09-12 00:30:27 +00:00
Ian Lance Taylor
5933bdc9a1
1999-09-11 Donn Terry <donn@interix.com>
...
* peigen.c (add_data_entry): Declare.
(pei_swap_aouthdr_out): Get image size right. Set linker version
more intuitively.
(pei_swap_scnhdr_out): Test for UNINIT section, not .bss.
(pe_print_idata): Code cleanup, print more info, get rid of (now)
extraneous ImageBase.
(pe_print_edata): Likewise.
(pe_print_pdata): Likewise. Print exception entries.
(pe_print_reloc): Likewise. Print MIPS_JMPADDR.
(tbl): Make const, add "UNKNOWN".
(_bfd_pe_print_private_bfd_data_common): Print timestamp.
(_bfd_pe_bfd_copy_private_bfd_data_common): Don't copy deleted
section data directory.
(_bfd_pe_bfd_copy_private_section_data): Copy pe_flags.
1999-09-12 00:22:01 +00:00
Ian Lance Taylor
7d2b58d612
1999-09-11 Donn Terry <donn@interix.com>
...
* libpei.h (_bfd_pe_bfd_get_symbol_info): Declare.
* peigen.c (_bfd_pe_bfd_get_symbol_info): New function.
* peicode.h (coff_get_symbol_info): Define.
1999-09-12 00:02:11 +00:00
Ian Lance Taylor
0717ebb780
1999-09-11 Donn Terry <donn@interix.com>
...
* config.bfd (i[3456]86-*-interix*): Set targ_cflags to
-DSTRICT_PE_FORMAT.
* coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
than __INTERIX.
(coff_classify_symbol): Re-revert 1999-08-08 patch if
STRICT_PE_FORMAT.
1999-09-11 23:46:09 +00:00
Ian Lance Taylor
650f5dd8d8
add some comments about peigen.c
1999-09-11 23:38:11 +00:00
Ian Lance Taylor
277d1b5e45
1999-09-11 Donn Terry <donn@interix.com>
...
* libpei.h: New file, broken out of peicode.h.
* peigen.c: New file, broken out of peicode.h.
* peicode.h: A bunch of code moved out to libpei.h and peigen.c.
* configure.in: Add peigen.lo to list of files required for each
PE target.
* Makefile.am: Rebuild dependencies.
(BFD32_BACKENDS): Add peigen.lo.
(BFD32_BACKENDS_CFILES): Add peigen.c.
(SOURCE_HFILES): Add libpei.h.
* configure, Makefile.in: Rebuild.
1999-09-11 23:37:28 +00:00
Ian Lance Taylor
e166a60fd9
1999-09-11 Donn Terry <donn@interix.com>
...
* peicode.h (coff_swap_scnhdr_in): Don't check for a special
section name of _BSS; check IMAGE_SCN_CNT_UNINITIALIZED_DATA
instead. Don't clear the s_paddr field for an uninitialized data
section.
1999-09-11 22:52:20 +00:00
Ian Lance Taylor
1135238bd0
1999-09-11 Donn Terry <donn@interix.com>
...
* coffcode.h (coff_mkobject_hook): Set timestamp field in
coff_data_type to f_timdat.
* peicode.h (pe_mkobject_hook): Likewise.
1999-09-11 22:46:37 +00:00
Ian Lance Taylor
05bf877ad1
1999-09-11 Donn Terry <donn@interix.com>
...
* peicode.h (coff_swap_filehdr_in): Check the NT executable magic
number if COFF_IMAGE_WITH_PE.
1999-09-11 22:41:54 +00:00
Ian Lance Taylor
4cfec37b92
1999-09-11 Donn Terry <donn@interix.com>
...
* coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
(coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
there is no SEC_DEBUGGING section.
* peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
IMAGE_FILE_DEBUG_STRIPPED.
1999-09-11 22:33:45 +00:00
Ian Lance Taylor
33d7d19757
1999-09-11 Donn Terry <donn@interix.com>
...
* pe-i386.c (COFF_LONG_FILENAMES): Define.
(COFF_SECTION_ALIGNMENT_ENTRIES): Define.
* pei-i386.c (COFF_LONG_FILENAMES): Define.
(COFF_SECTION_ALIGNMENT_ENTRIES): Define.
1999-09-11 22:17:33 +00:00
Ian Lance Taylor
402ef9d421
1999-09-11 Donn Terry <donn@interix.com>
...
* coffswap.h (IMAGE_BASE): Don't define.
* pei-arm.c (IMAGE_BASE): Don't define.
* pei-i386.c (IMAGE_BASE): Don't define.
* pei-mcore.c (IMAGE_BASE): Don't define.
* pei-ppc.c (IMAGE_BASE): Don't define.
1999-09-11 22:10:33 +00:00
Ian Lance Taylor
8add8e3099
1999-09-11 Donn Terry <donn@interix.com>
...
* cofflink.c (_bfd_coff_link_input_bfd): When writing out a
symbol, switch on the class when determining whether to modify the
value. For PE, don't modify the value of a C_FCN symbol not named
.bf.
1999-09-11 22:04:16 +00:00
Ian Lance Taylor
c0bed66d09
1999-09-11 Donn Terry <donn@interix.com>
...
* libbfd-in.h (_bfd_abort): Declare.
(abort): Define.
* bfd.c (_bfd_abort): New function.
* libbfd.h: Rebuild.
1999-09-11 21:51:55 +00:00
Ian Lance Taylor
a50f8417d5
* coff-ppc.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
...
1999-09-11 Donn Terry <donn@interix.com>
* coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE
special handling.
1999-09-11 21:39:03 +00:00
Ian Lance Taylor
b545f675c1
1999-09-11 Donn Terry <donn@interix.com>
...
* cofflink.c (_bfd_coff_link_input_bfd): If a symbol is stripped,
don't write out the associated line numbers.
1999-09-11 21:27:15 +00:00
Ian Lance Taylor
2c546cd84f
1999-09-11 Donn Terry <donn@interix.com>
...
* cofflink.c (_bfd_coff_write_global_sym): Handle section symbol
aux entries.
1999-09-11 21:15:16 +00:00
Ian Lance Taylor
d510f9a69b
1999-09-11 Donn Terry <donn@interix.com>
...
* coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING
for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such
symbols named .bf.
1999-09-11 21:04:09 +00:00
Ian Lance Taylor
eeaf533e61
* elfcode.h (write_relocs): Handle an absolute symbol in REL
...
relocs as we do for RELA relocs.
1999-09-11 20:14:57 +00:00
Ian Lance Taylor
5d3aaa749f
1999-09-11 Donn Terry <donn@interix.com>
...
* cofflink.c (coff_link_add_symbols): Don't warn about symbol type
changes when the base type is unknown.
1999-09-11 15:26:22 +00:00
Ian Lance Taylor
312191a689
1999-09-11 Donn Terry <donn@interix.com>
...
* coffgen.c (coff_print_symbol): Fix printing of aux record for
function symbols.
1999-09-11 15:16:14 +00:00
Ian Lance Taylor
703153b566
1999-09-11 Donn Terry <donn@interix.com>
...
* syms.c (BSF_DEBUGGING_RELOC): Define.
* coffgen.c (fixup_symbol_value): Relocate a symbol which has
BSF_DEBUGGING_RELOC set.
* bfd-in2.h: Rebuild.
1999-09-11 14:41:11 +00:00
Ian Lance Taylor
7b50b349e2
* ecoff.c (bfd_debug_section): Update initialization for new
...
comdat_info field.
(_bfd_ecoff_styp_to_sec_flags): Add section parameter.
* libecoff.h (_bfd_ecoff_styp_to_sec_flags): Update declaration.
1999-09-10 H.J. Lu <hjl@gnu.org>
* coff-alpha.c (alpha_ecoff_backend_data): Initialize the new
_bfd_filnmlen field.
* coff-mips.c (mips_ecoff_backend_data): Likewise.
1999-09-10 23:25:51 +00:00
Jeff Law
e48c661ee6
* elf-hppa.h (elf_hppa_final_link_relocate): Create .opd entries
...
for FPTR relocs involving local symbols.
1999-09-10 15:46:37 +00:00
Jeff Law
6a0b987115
* elf-hppa.h (elf_hppa_final_link_relocate): Get the right
...
value for the stub address in a call through a stub.
Install the value for a local symbol directly into the DLT
instead of generating a reloc. Correctly handle FPTR64 relocs.
1999-09-10 14:05:36 +00:00
Jeff Law
af7dc6449e
* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): New function.
...
(elf_hppa_remark_useless_dynamic_symbols): Similarly.
(elf_hppa_final_link): Call them.
1999-09-10 06:38:05 +00:00
Ian Lance Taylor
fc4cc5bb8f
* elflink.h (elf_fix_symbol_flags): Move weakdef handling here...
...
(elf_adjust_dynamic_symbol): ...from here.
1999-09-10 04:22:23 +00:00
Jeff Law
b1d5590577
Update some comments.
1999-09-09 14:52:15 +00:00
Jeff Law
b726396160
* elf-hppa.h (elf_hppa_howto_table); There is no DIR64WR, DIR64DR
...
relocation, remove them. SECREL64->LTOFF16WF.
(elf_hppa_final_link_relocate): Handle LTOFF* relocations. Handle
DIR* relocations.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 14:51:33 +00:00
Jeff Law
8267b1550c
* elf-hppa.h (elf_hppa_final_link_relocate): Handle PLTOFF* relocs.
...
(elf_hppa_relocate_insn): Similarly.
1999-09-09 14:20:18 +00:00
Jeff Law
6849fb4de7
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DPREL* and
...
GPREL* relocations.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 14:10:24 +00:00
Jeff Law
b233eaabc0
* elf-hppa.h (elf_hppa_link_final_relocate): Fix typos.
...
Handle LTOFF_TP* relocs.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 13:55:46 +00:00
Jeff Law
571047ad0a
* elf-hppa.h (elf_hppa_final_link_relocate): Handle PCREL* relocs.
...
Consistently deal with addends. Handle DLTIND14F and DLTREL14F.
(elf_hppa_relocate_insn): Handle PCREL* relocs.
1999-09-09 13:32:38 +00:00
Jeff Law
e5bb3efcc5
* elf-hppa.h (elf_hppa_final_link_relocate): Handle LT_OFF_FPTR*,
...
DIR32, DIR64 and FPTR64 relocations.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 13:01:11 +00:00
Jeff Law
be7582f38a
Wed Sep 8 17:56:11 1999 Jeffrey A Law (law@cygnus.com)
...
* elf-hppa.h (elf_hppa_final_link): Set the value of __gp to the
address of the .PARISC.global section.
(elf_hppa_relocate_section): Lookup and pass the PA64 hash
table entry elf_hppa_final_link_relocate. Do not give a warning
for a reloc against an external symbol if it has a PA64 hash
table entry.
(elf_hppa_final_link_relocate): Significantly rework. Handle
DLTIND relocations. Compute the final value of the relocation
before passing the value of elf_hppa_relocate_insn.
(elf_hppa_relocate_insn): Revamp to handle just bit tiwiddling
relocation support. Handle DLTIND relocation requests just like
DLTREL relocation requests. Simplify branch handling.
1999-09-08 Ulrich Drepper <drepper@cygnus.com>
* elf-hppa.h (elf_hppa_relocate_section): Catch problems with
non-allocated section as done in i386 version.
(elf_hppa_final_link_relocate): Uncomment R_PARISC_14F in switch
statement since this is no know relocation.
1999-09-09 12:01:24 +00:00
Jeff Law
084d930bff
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14F
...
relocs.
(elf_hppa_relocate_insn): Similarly.
1999-09-08 01:00:12 +00:00
Jeff Law
11c19a4e3c
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14WR and
...
DLTREL14WD relocs.
(elf_hppa_relocate_insn): Similarly.
1999-09-08 00:50:50 +00:00
Jeff Law
c8933571da
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14R and
...
DLTREL21L relocs. Pass the output bfd to elf_hppa_relocate_insn.
Pass the relocate type rather than the insn format to
elf_hppa_relocate_insn.
(elf_hppa_relocate_insn): Make switch dependent on relocation type
rather than the opcode. Handle DLTREL21L and DLTREL14R relocs.
1999-09-08 00:09:52 +00:00
Ian Lance Taylor
692b7d62e8
* coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field.
...
(bfd_coff_filnmlen): Define.
(bfd_coff_std_swap_table): Initialize new field.
* coffgen.c (coff_fix_symbol_name): Use bfd_coff_filnmlen rather
than FILNMLEN.
(coff_write_symbols): Likewise.
(coff_get_normalized_symtab): Likewise.
* coff-sh.c (bfd_coff_small_swap_table): Initialize new field.
* libcoff.h: Rebuild.
1999-09-07 04:28:27 +00:00