Commit Graph

29225 Commits

Author SHA1 Message Date
Ian Lance Taylor
c842b53ae1 * write.c (is_dnrange): Stop as soon as the address becomes
larger.
	(relax_frag): Add segment parameter.  Only call symbol_get_frag
	once.  Only call is_dnrange if the symbol is in the same segment,
	and the symbol address is larger.
	(relax_segment): Pass segment to md_relax_frag and relax_frag.
	* write.h (relax_frag): Update declaration.
	* config/tc-fr30.c (fr30_relax_frag): Add segment parameter.  Pass
	it to relax_frag.
	* config/tc-m32r.c (m32r_relax_frag): Likewise.
	* config/tc-m32r.h (md_relax_frag): Add segment parameter.
	(m32r_relax_frag): Update declaration.
	* config/tc-mips.h (md_relax_frag): Add segment parameter.
	* config/tc-tic54x.h (md_relax_frag): Likewise.
	* doc/internals.texi (CPU backend): Update documentation for
	md_relax_frag.
2001-02-13 21:27:52 +00:00
DJ Delorie
6433dece0a Regenerate 2001-02-13 21:05:09 +00:00
DJ Delorie
c9430732f0 * include/coff/pe.h: Rename PEP64AOUTHDR to PEPAOUTHDR. Rename
PEP64AOUTSZ to PEPAOUTSZ.
2001-02-13 21:01:44 +00:00
DJ Delorie
cbff5e0d66 * peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: Define
as _bfd_XXi_only_swap_filehdr_out.
(pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set
pe->force_minimum_alignment to TRUE.
(pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to
PEI_TARGET_SUBSYSTEM.
(pe_print_private_bfd_data): Call
_bfd_XX_print_private_bfd_data_common() instead of
_bfd_pe_print_private_bfd_data_common().
(pe_bfd_copy_private_bfd_data): Call
_bfd_XX_bfd_copy_private_bfd_data_common() instead of
_bfd_pe_bfd_copy_private_bfd_data_common().
(coff_bfd_copy_private_section_data): Define as
_bfd_XX_bfd_copy_private_section_data instead of
_bfd_pe_bfd_copy_private_section_data.
(coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead
of a _bfd_pe_get_symbol_info.

* peigen.c: Delete.

* peXXigen.c: Renamed from peigen.c.
(COFF_WITH_XX): Define this macro (will get expanded into
COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being
compiled as peigen.c or pepigen.c.
[COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to
define the canonical PEP structures and definitions.
(_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in
effect, enforce minimum file and section alignments.  If
extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to
pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN,
so, by default, this is a no-op).

* libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep.
(_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map
_bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to
_bfd_pefoo if it's not defined.  Use these macros to define
coff swap macros.

* libcoff.h (pe_tdata): Add members target_subsystem and
force_minimum_alignment.

* efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to
COFF_WITH_pep.
(PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM.

* configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of
peigen.lo.

* coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep.
(AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and
PEPAOUTHDR.

* Makefile.in (BFD64_BACKENDS): Mention pepigen.lo.
(BFD64_BACKENDS_CFILES): Mention pepigen.c
(peigen.c): Add rule to generate from peXXigen.c.
(pepigen.c): Ditto.
(pepigen.lo): List dependencies for pepigen.lo.

* unwind-ia64.c (unw_decode_x1): Declare code arg with
ATTRIBUTE_UNUSED.
(unw_decode_x2): Ditto.
(unw_decode_x3): Ditto.
(unw_decode_x4): Ditto.

* pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ.
Rename from PEPAOUTHDR.
2001-02-13 19:23:08 +00:00
Alan Modra
fddf5b5bc2 Handle long jumps for .code16 and .arch < 386 by using a two
instruction sequence consisting of a conditional jump of the
opposite sense around an unconditional jump to the target.
Add jumps/nojumps .arch modifier.
2001-02-13 12:44:19 +00:00
Alan Modra
c90cedf93e Update copyright date. 2001-02-13 11:17:48 +00:00
Alan Modra
6fad6acb13 Fix parsing of multi-char operators. 2001-02-13 11:13:53 +00:00
Alan Modra
df8634e34b (elf32_hppa_set_gp): Handle weak $global$.
If $global$ referenced but not defined, set its value here.
2001-02-13 10:14:14 +00:00
Nick Clifton
179ae6ea64 Fix definition of NEGBRANCH 2001-02-12 23:29:49 +00:00
Jan Hubicka
51e0a107ce 2001-02-09 Bo Thorsen <bo@suse.de>
* elf64-x86-64.c (elf64_x86_64_check_relocs): Set .rela.got section
	alignment to 3.
	(elf64_x86_64_check_relocs): Write R_X86_64_GOTPCREL GOT entry
	and relocation.
	(elf64_x86_64_relocate_section): Fix formatting.
	(elf64_x86_64_relocate_section): Fix addend for relocation of
	R_X86_64_(8|16|32|PC8|PC16|PC32).
2001-02-12 16:54:08 +00:00
Jan Hubicka
23df107806 * elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL.
* tc-i386.c (i386_displacement): Fix handling of
	BFD_RELOC_X86_64_GOTPCREL.
	(i386_validate_fix): Likewise.
2001-02-12 16:47:15 +00:00
Jan Hubicka
76f227a511 * i386.h (i386_optab): SSE integer converison instructions have
64bit versions on x86-64.
	* i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
	instructions.
	(putop): Handle 'Y'
2001-02-12 16:42:49 +00:00
Phil Blundell
b1e2e654ad 2001-02-12 Philip Blundell <pb@futuretv.com>
* config/tc-arm.c (do_ldst): Improve warnings for unpredictable
	ldrt/strt instructions.
2001-02-12 13:32:25 +00:00
H.J. Lu
f0e1d18ad3 2001-02-11 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_bfd_final_link): Use file_align for STMTAB
	alignment.
2001-02-12 00:23:37 +00:00
H.J. Lu
9a580d9af6 2001-02-11 H.J. Lu <hjl@gnu.org>
* config/default.exp: Set up gcc_gas_flag.

	* binutils-all/objcopy.exp (copy_setup): Process gcc_gas_flag
	for Linux only.

	* binutils-all/testprog.c: Include <string.h> and don't use
	exit ().
2001-02-12 00:21:59 +00:00
Nick Clifton
708b82c780 fix formatting 2001-02-11 23:22:25 +00:00
Nick Clifton
b401d8e517 oops - omitted from previous delta 2001-02-11 23:21:01 +00:00
Michael Sokolov
3c44da9aef * unwind-ia64.c: Don't use ANSI C preprocessor stringisation and string
literal concatenation.
2001-02-11 23:13:38 +00:00
Nick Clifton
9117d2197e Apply several patches from Maciej W. Rozycki 2001-02-11 23:11:41 +00:00
Michael Sokolov
ecd0338944 * readelf.c (struct unw_aux_info): Remove const from the info member.
(process_unwind): Don't type-cast the third argument to the
	GET_DATA_ALLOC macro.
2001-02-11 23:11:39 +00:00
Michael Sokolov
847ee773ea * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
directory.
	* Makefile.in: Regenerate.
2001-02-11 22:56:42 +00:00
Michael Sokolov
9f93bca5c7 * Makefile.am (stamp-lib): ranlib the libbfd.a in the build directory.
* Makefile.in: Regenerate.
2001-02-11 22:53:28 +00:00
Nick Clifton
88ec60c7e0 fix seg fault in reloc reading code 2001-02-11 22:14:01 +00:00
Eli Zaretskii
17cc6a06fb * gdb.texinfo (Environment): Document that `path' does not change
the value of PATH in GDB's own environment (it did in the past,
	but that was changed on March 15, 1994).  Reported by Doug Evans
	<dje@transmeta.com>.
2001-02-11 13:37:32 +00:00
Eli Zaretskii
65d5a54a0c * NEWS: Document that "info symbol" works with COFF debug info and
its variants.

	* minsyms.c (lookup_minimal_symbol_by_pc_section): Don't skip
	symbols whose SYMBOL_BFD_SECTION is NULL.
2001-02-11 06:11:38 +00:00
Eli Zaretskii
56caf160f3 * gdbint.texinfo: Fix up @itemize lists so that @item is alone on
its line.  Fix markup of commands.  Add an index and index entries.
2001-02-11 05:48:30 +00:00
Nick Clifton
e02fedb69d Remove annoying entry....:-) 2001-02-10 22:30:07 +00:00
Nick Clifton
8eaec934e2 Remove extraneous whitespace 2001-02-10 22:26:55 +00:00
Chris Demetriou
97238fbd09 2001-02-10 Chris Demetriou <cgd@broadcom.com>
* configure.in: Make 'mipself' and 'mipsecoff' emulations
        map to MIPS-specific files, as they used to do before the
        change on 2000-05-21.
        * configure: Regerate.
2001-02-10 22:25:10 +00:00
Nick Clifton
f5e2196691 Document new --unwind option to readelf. 2001-02-10 22:20:55 +00:00
Chris Demetriou
0f074f60a4 2001-02-10 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c (md_parse_option): Don't try to compile
        ELF-only option code if not ELF.
2001-02-10 21:41:12 +00:00
Peter Schauer
a8079a9b4c Get rid of AIX specific PC_LOAD_SEGMENT, replace with PC_SOLIB.
* xcoffsolib.c (xcoff_solib_address):  Renamed from
	pc_load_segment_name.  Return NULL if address is not in a shared
	library.  Cleanup shared library name construction, using xasprintf.
	Format shared library member names consistent with format in exec.c.
	(solib_info):  Format shared library member names consistent with
	format in exec.c.
	* config/rs6000/nm-rs6000.h:  Replace PC_LOAD_SEGMENT with PC_SOLIB,
	using xcoff_solib_address for PC_SOLIB definition.
	* stack.c (print_frame):  Remove PC_LOAD_SEGMENT code, no longer
	needed.
2001-02-10 12:01:11 +00:00
Peter Schauer
4b2e486790 * mipsread.c (read_alphacoff_dynamic_symtab): Replace alloca calls
with xmalloc calls and cleanups.
2001-02-10 11:12:06 +00:00
Peter Schauer
d737ece6da * rs6000-nat.c (child_xfer_memory): Add missing parameter
'struct mem_attrib *' required by 2001-01-23 change.
2001-02-10 11:05:39 +00:00
Richard Henderson
f3988fd901 * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add
.IA_64.unwind.* pattern to unwind table section and
        .IA_64.unwind_info* pattern to unwind info section.
2001-02-10 01:44:39 +00:00
Richard Henderson
91a2ae2a30 * config/tc-ia64.h (md_elf_section_type): New macro.
(ELF_TC_SPECIAL_SECTIONS): Drop .IA_64.unwind and .IA_64.unwind_info
        (they're now handled via ia64_elf_section_type.

        * config/tc-ia64.c (unwind): New members saved_text_seg,
        saved_text_subseg, and force_unwind_entry.
        (optimize_unw_records): New function to optimize away unnecessary
        unwind directives.
        (ia64_elf_section_type): New function.
        (output_unw_records): Generate unwind info only if the size is
        non-zero or if it's forced for some other reason (e.g.,
        handlerdata or a personality routine).
        (generate_unwind_image): Don't switch back to previous
        section---stay inside the unwind info section instead so that
        handlerdata that may follow goes into the right place.
        (dot_handlerdata): Force generation of unwind entry and save the
        current active text segment before generating unwind image.
        (dot_unwentry): Force generation of unwind entry.
        (dot_personality): Ditto.
        (dot_endp): Generate unwind table entry only if there is
        some unwind info or the unwind entry was forced.

        * config/tc-ia64.c (make_unw_section_name): New macro to form
        unwind section name.
        (generate_unwind_image): Add "text_name" argument.  Use it to
        form unwind section name.
        (dot_handlerdata): Determine current segment (section) name and
        pass it to generate_unwind_image().
        (dot_endp): Determine current segment (section) name and use
        it to determine the appropriate unwind section name.
        (ia64_md_do_align): Add missing ATTRIBUTE_UNUSED declarations to
        n, fill, and max arguments.
2001-02-10 01:42:04 +00:00
Richard Henderson
81545d45ad * elfxx-ia64.c (is_unwind_section_name): New function. Returns
true if section name is an unwind table section name.
        (elfNN_ia64_additional_program_headers): Count each unwind section
        separately.
        (elfNN_ia64_modify_segment_map): Install one unwind program header
        for each unwind separate section.  Note: normally the linker
        script merges the unwind sections that go into a single segment,
        so this still generates at most one unwind program header per
        segment.

        * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Accept any section
        name for SHT_IA_64_UNWIND, not just .IA_64.unwind.
        (elfNN_ia64_fake_sections): Mark sections with names that start
        with .IA_64.unwind but not with .IA_64.unwind_info as an IA-64
        unwind section.

        * elfxx-ia64.c (elfNN_ia64_final_write_processing): New function.
        Use it to make sh_info in unwind section point to the text section
        it applies to.
2001-02-10 01:41:06 +00:00
Nick Clifton
a85d7ed0f0 Add s390 support 2001-02-10 00:58:38 +00:00
Nick Clifton
356d255deb Suppress extra addition of ImageBase. 2001-02-09 18:38:58 +00:00
Alexandre Oliva
de68de201f * config/tc-sh.c (md_pseudo_table): Add uaquad. Use s_uacons for
2byte, 4byte and 8byte.
2001-02-09 18:21:42 +00:00
Jakub Jelinek
069f40e56f * elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function. 2001-02-09 17:53:16 +00:00
Jakub Jelinek
eadfa8abf1 * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
(sparc64_elf_relocate_section): Likewise.
2001-02-09 17:31:11 +00:00
Alan Modra
7bb10502ed Don't #ifdef inside printf in case printf is a macro. 2001-02-09 16:33:21 +00:00
Mark Kettenis
9fc54e1950 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32
similar to R_SPARC_32.
* elf64-sparc.c	(sparc64_elf_howto_table): Likewise.
2001-02-09 16:19:25 +00:00
Jakub Jelinek
780248c402 * configure.tgt (sparc64-*-linux-gnu*): Add elf32_sparc into
targ_extra_libpath.
	(sparc-*-linux-gnu*): Add elf64_sparc into targ_extra_libpath.
2001-02-09 15:55:14 +00:00
H.J. Lu
1f655a0986 2001-02-08 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_check_relocs): Reserve R_386_PC32
	relocation entries for weak definitions when building DSO with
	-Bsymbolic.
2001-02-09 06:58:59 +00:00
Jim Kingdon
c5bb12431c Updates to "make TAGS":
* Makefile.in (ALLDEPFILES): Remove altos-xdep.c arm-convert.s
	arm-xdep.c convex-tdep.c convex-xdep.c pyr-tdep.c pyr-xdep.c
	tahoe-tdep.c.
	(TAGFILES_NO_SRCDIR): Add $(SUBDIR_CLI_SRCS).
2001-02-09 01:47:34 +00:00
Richard Henderson
ca88208ac8 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Respect weakness
before visibility.  Locally defined protected symbols are not
        dynamic.
2001-02-09 00:29:58 +00:00
Geoffrey Keating
4603e845c0 * config.bfd: Enable coff64 for rs6000-*. Patch from
<hzoli@austin.ibm.com>.
2001-02-09 00:11:24 +00:00
Stephane Carrez
fef67c28c8 * ld-srec/srec.exp (run_srec_test): m6811 code has references
to soft registers, define them with --defsym.
	* ld-selective/selective.exp: Likewise.
2001-02-08 18:57:47 +00:00