Commit Graph

765 Commits

Author SHA1 Message Date
Bob Wilson
80fccad2d4 binutils ChangeLog:
2004-05-17  David Heine  <dlheine@tensilica.com>
	* objcopy.c (setup_bfd_headers): New function.
	(copy_object): Call setup_bfd_headers.
bfd ChangeLog:
	2004-05-17  David Heine  <dlheine@tensilica.com>
	* aout-target.h (MY_bfd_copy_private_header_data): Define.
	* aout-tic30.c (MY_bfd_copy_private_header_data): Define.
	* bfd.c (bfd_copy_private_header_data): Define.
	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
	interface.
	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
	* coffcode.h (coff_bfd_copy_private_header_data): Define.
	* elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
	* elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
	segments by calling copy_private_bfd_data.
	(_bfd_elf_copy_private_header_data): Define.
	* elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
	* libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
	* libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
	* mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
	* mmo.c (mmo_bfd_copy_private_header_data): Define.
	* ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
	* som.c (som_bfd_copy_private_header_data): Define.
	* targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
	* vms.c (vms_bfd_copy_private_header_data): Define.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
2004-05-17 16:40:01 +00:00
Nick Clifton
0da76f83eb Handle dwarf3 format CIE entries. 2004-05-13 14:41:18 +00:00
Nick Clifton
9598fbe5d4 Updated French translations 2004-05-13 12:54:36 +00:00
Jakub Jelinek
8c37241be3 bfd/
* elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
	into .dynsym if elf_section_data (sec)->dynindx <= 0.
	Adjust counting of last_local.
	(_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
	other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
	created by the linker nor !SHF_ALLOC.

	* elf32-i386.c (elf_i386_finish_dynamic_sections): Point
	DT_PLTGOT to the start of the .got.plt section instead of the
	.got output section.  Set sh_entsize for .got section in addition
	to .got.plt.
	(elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
	is at sgot->output_section->vma.
	* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
	DT_PLTGOT to the start of the .got.plt section instead of the
	.got output section.
	(elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
	is at sgot->output_section->vma.  Set sh_entsize for .got section
	in addition to .got.plt.
	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
	(bfd_section_from_phdr): Likewise.
	(map_sections_to_segments): Likewise.
	(assign_file_positions_for_segments): Likewise.
	(get_program_header_size): Likewise.
	* elflink.c (bfd_elf_size_dynamic_sections): Set
	elf_tdata (output_bfd)->relro from info->relro.
	* elf-bfd.h (struct elf_obj_tdata): Add relro field.
include/
	* bfdlink.h (struct bfd_link_info): Add relro, relro_start and
	relro_end fields.
	* elf/common.h (PT_GNU_EH_FRAME, PT_GNU_STACK): Add comments.
	(PT_GNU_RELRO): Define.
binutils/
	* readelf.c (get_segment_type): Handle PT_GNU_RELRO.
ld/
	* genscripts.sh: Generate -z combreloc -z now -z relro scripts
	for binaries, -shared and -pie.
	* emulparams/elf_i386.sh (SEPARATE_GOTPLT): Set.
	* emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Set.
	* emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Rename to...
	(OTHER_RELRO_SECTIONS): ... this.
	* ldlex.l (DATA_SEGMENT_RELRO_END): Add.
	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
	-z relro and -z norelro.
	(gld${EMULATION_NAME}_list_options): Add it to usage.
	(gld${EMULATION_NAME}_get_script): Return -z combreloc -z now
	-z relro scripts when appropriate.
	* scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
	Create separate .got.plt section if SEPARATE_GOTPLT.
	Move sections which are only written during relocation handling
	to the beginning of RW segment.  If NO_SMALL_DATA, move .got
	before .data.  Add DATA_SEGMENT_RELRO_END directive.
	Include OTHER_RELRO_SECTIONS.
	* ldgram.y (DATA_SEGMENT_RELRO_END): Add.
	* ldexp.c (exp_print_token): Handle DATA_SEGMENT_RELRO_END.
	(fold_unary): Likewise.
	(fold_binary): Handle -z relro.
	* ldexp.h (struct exp_data_seg): Add exp_dataseg_relro_seen and
	exp_dataseg_relro_adjust phases.  Add relro_end field.
	* ldmain.c (main): Initialize link_info.relro to FALSE.
	* ldlang.c (lang_size_sections): Handle -z relro.
ld/testsuite/
	* ld-i386/tlspic.rd: Adjust for section reordering changes
	and removal of unneeded STT_SECTION symbols from .dynsym.
	* ld-i386/tlspic.dd: Likewise.
	* ld-i386/tlspic.sd: Likewise.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsbinpic.s: Likewise.
	* ld-i386/tlsbin.dd: Likewise.
	* ld-i386/tlsbin.sd: Likewise.
	* ld-i386/tlsnopic.rd: Likewise.
	* ld-i386/tlsnopic1.s: Likewise.
	* ld-i386/combreloc.d: Likewise.
	* ld-i386/tlsnopic.dd: Likewise.
	* ld-i386/tlsnopic.sd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
	* ld-x86-64/tlspic.dd: Likewise.
	* ld-x86-64/tlsbin.dd: Likewise.
	* ld-x86-64/tlspic.sd: Likewise.
	* ld-x86-64/tlsbin.sd: Likewise.
	* ld-x86-64/tlspic.td: Likewise.
	* ld-x86-64/tlsbin.td: Likewise.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-s390/tlspic1.s: Likewise.
	* ld-s390/tlsbinpic.s: Likewise.
	* ld-s390/tlspic.rd: Likewise.
	* ld-s390/tlsbin.rd: Likewise.
	* ld-s390/tlspic.dd: Likewise.
	* ld-s390/tlsbin.dd: Likewise.
	* ld-s390/tlsbin.sd: Likewise.
	* ld-s390/tlsbin.td: Likewise.
	* ld-s390/tlspic.sd: Likewise.
	* ld-s390/tlspic.td: Likewise.
	* ld-s390/tlspic1_64.s: Likewise.
	* ld-s390/tlsbinpic_64.s: Likewise.
	* ld-s390/tlspic_64.rd: Likewise.
	* ld-s390/tlsbin_64.rd: Likewise.
	* ld-s390/tlspic_64.dd: Likewise.
	* ld-s390/tlsbin_64.dd: Likewise.
	* ld-s390/tlspic_64.sd: Likewise.
	* ld-s390/tlspic_64.td: Likewise.
	* ld-s390/tlsbin_64.td: Likewise.
	* ld-s390/tlsbin_64.sd: Likewise.
	* ld-powerpc/tlsexe32.r: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlsso32.d: Likewise.
	* ld-powerpc/tlsso32.g: Likewise.
	* ld-powerpc/tlsso32.t: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlsso.g: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
	* ld-powerpc/tlstocso.g: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-ia64/tlspic.dd: Likewise.
	* ld-ia64/tlspic.sd: Likewise.
	* ld-ia64/tlspic.td: Likewise.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlsbin.sd: Likewise.
	* ld-ia64/tlsbin.td: Likewise.
	* ld-elfvsb/elfvsb.exp: XFAIL non-PIC load offset tests on s390x.
	* ld-shared/shared.exp: Likewise.
2004-05-11 17:08:38 +00:00
H.J. Lu
e4b17d5c7a 2004-05-07 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (section_groups): New.
	(group_count): New.
	(section_headers_groups): New.
	(process_section_groups): Populate group_count, section_groups
	and section_headers_groups.
	(process_unwind): Support section group.
	(process_object): Always call process_section_groups. Free
	section_groups and section_headers_groups.
2004-05-07 15:33:36 +00:00
H.J. Lu
f2da459f65 2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (process_section_headers): Use %3lu on sh_info.
2004-04-30 14:56:03 +00:00
Nick Clifton
f893589578 Fix bug in ranlib.sh script - quote the $1 argument in case it contains spaces 2004-04-30 07:37:15 +00:00
Alan Modra
a95b5cf9a6 * objcopy.c (copy_usage, strip_usage): Fix spelling. 2004-04-27 06:31:16 +00:00
H.J. Lu
f5842774f4 binutils/
2004-04-26  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (do_section_groups): New.
	(options): Add --section-groups/-g.
	(usage): Mention --section-groups/-g.
	(parse_args): Support --section-groups/-g.
	(get_group_flags): New.
	(process_section_groups): New.
	(process_object): Call process_section_groups.

gas/

2004-04-26  H.J. Lu  <hongjiu.lu@intel.com>

	* config/obj-elf.c (obj_elf_change_section): Check if the old
	group name is NULL before comparison.

gas/testsuite/

2004-04-26  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/elf/elf.exp: Add group0a, group0b and group1 for section
	group.

	* gas/elf/group0.s: New file.
	* gas/elf/group0a.d: Likewise.
	* gas/elf/group0b.d: Likewise.
	* gas/elf/group1.e: Likewise.
	* gas/elf/group1.s: Likewise.
2004-04-27 03:59:09 +00:00
Alan Modra
46212538d6 * objdump.c (disassemble_section): Don't disassemble sections
without SEC_HAS_CONTENTS.
2004-04-24 12:39:47 +00:00
Jakub Jelinek
4c45e5c9ce bfd/
* bfd.c (bfd_get_synthetic_symtab): Define.
	* targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
	NAME##_get_synthetic_symtab.
	(struct bfd_target): Add _bfd_get_synthetic_symtab.
	* libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
	* elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
	relplt_name fields.
	(_bfd_elf_get_synthetic_symtab): New prototype.
	* elfcode.h (elf_get_synthetic_symtab): Define.
	* elf.c (_bfd_elf_get_synthetic_symtab): New function.
	* elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
	(elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
	(elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
	* bfd-in2.h: Rebuilt.
	* libbfd.h: Rebuilt.
	* elf32-i386.c (elf_i386_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.
	* elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.
	* elf32-s390.c (elf_s390_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.
	* elf64-s390.c (elf_s390_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.
	* elf32-sparc (elf32_sparc_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.
	* elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.
	* elf32-ppc.c (ppc_elf_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.
	* aout-target.h (MY_get_synthetic_symtab): Define.
	* aout-tic30.c (MY_get_synthetic_symtab): Define.
	* coff-rs6000.c (rs6000coff_vec): Add
	_bfd_nodynamic_get_synthetic_symtab.
	(pmac_xcoff_vec): Likewise.
	* coff64-rs6000.c (rs6000coff64_vec): Add
	_bfd_nodynamic_get_synthetic_symtab.
	(aix5coff64_vec): Likewise.
	* sunos.c (MY_get_synthetic_symtab): Define.
	* vms.c (vms_get_synthetic_symtab): Define.
binutils/
	* objdump.c (synthsyms, synthcount): New variables.
	(disassemble_data): Use dynsyms for stripped binaries or libraries.
	Add synthetized symbols.
	(dump_bfd): For disassemble, initialize dynsyms always and
	also synthsyms.  Free synthsyms and clear {sym,dynsym,synth}count
	before returning.
2004-04-22 14:45:32 +00:00
Alan Modra
e9f877805a * strings.c (print_strings): Cast file_off to unsigned long in
printf arg list.
2004-04-14 05:49:59 +00:00
Alan Modra
1ba93119e8 PR 86
* arsup.c (ar_save): Use smart_rename.
2004-04-07 05:11:24 +00:00
Nick Clifton
935a41f543 (display_debug_pubnames): Align offset and data columns.
(read_and_display_attr_value): Add missing break;
(debug_displays): Enable the display of the .debug_pubtypes section.
2004-04-01 10:07:44 +00:00
Stan Shebs
92e25cf8fd * mpw-config.in, mpw-make.sed, mac-binutils.r: Remove MPW
support files, no longer used.
2004-03-30 19:20:58 +00:00
Paul Brook
d507cf36a6 * bfd/elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
* binutils/readelf.c (decode_ARM_machine_flags): Add EABI v3.
	* gas/config/tc-arm.c (meabi_flags): New variable.
	(arm_parse_eabi): New function.
	(md_begin): Set flags for EABI v3.
	(arm_eabis): Add.
	(arm_long_opts): Add meabi.
	* include/elf/arm.h (EF_ERM_BE8, EF_ARM_LE8, EF_ARM_EABI_VER3): Add.
	* doc/as.texinf <ARM>: Document -meabi.
	* doc/c-arm.texi: Ditto.
2004-03-23 23:05:52 +00:00
Richard Henderson
8c9a987975 * readelf.c (display_debug_frames): Don't crash for mismatched
DW_CFA_restore_state.
2004-03-22 03:55:50 +00:00
Alan Modra
6ece5c5268 * Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.
	* po/binutils.pot: Regenerate.
2004-03-19 07:03:40 +00:00
Nathan Sidwell
6f10430691 * objdump.c (struct SFILE): Replace current pointer with pos
offset, rename size to alloc.
	(objdump_sprintf): Avoid unnecessary copies in the common case
	(disassemble_bytes): Keep sfile live throughout the
	function. Adjust usage appropriately.
2004-03-15 12:31:41 +00:00
Ben Elliston
523f6a2717 * MAINTAINERS: Update my mail address. 2004-03-10 02:58:24 +00:00
Nick Clifton
7aa52b1f65 Honour the PRIVATE keyword 2004-03-08 11:50:36 +00:00
Andreas Schwab
af865222e0 * ar.c (main): Support POSIX-compatible argument parsing.
testsuite:
	* binutils-all/ar.exp (argument_parsing): New test.
2004-02-27 11:04:36 +00:00
Nick Clifton
c7e7ca549d (process_mips_specific): Print conflictsno as an unsigned long. 2004-02-23 08:45:05 +00:00
Christopher Faylor
eff21b8ec2 * dlltool.c (gen_exp_file): Always output names for forwarded symbols. 2004-02-21 21:28:22 +00:00
Jakub Jelinek
2f01ffbf77 gas/
* stabs.c (generate_asm_file): Avoid warning about use of
	uninitialized variable.
binutils/
	* objcopy.c (copy_section): Avoid warnings.
2004-02-19 17:15:28 +00:00
Andrew Cagney
c92c35e706 Use bfd_cache_close, instead of accessing bfd->iostream directly. 2004-02-15 02:24:53 +00:00
Roland McGrath
9d2410855d . 2004-01-29 00:27:46 +00:00
Nick Clifton
d99e9f4d31 Update the copyright year 2004-01-20 13:08:47 +00:00
Maciej W. Rozycki
f8b7303064 * gettext.m4: Quote names of macros to be defined by AC_DEFUN
throughout.

* acinclude.m4: Quote names of macros to be defined by AC_DEFUN
throughout.
* aclocal.m4: Regenerate.
* configure: Regenerate.
2004-01-14 13:41:37 +00:00
Jakub Jelinek
f0312d395b * objcopy.c: Include elf-bfd.h.
(is_strip_section): Don't strip debugging sections if
	STRIP_NONDEBUG.
	(setup_section): If STRIP_NONDEBUG make SEC_ALLOC sections
	~(SEC_LOAD | SEC_HAS_CONTENTS) and on ELF targets also SHT_NOBITS.

	* objcopy.c (copy_section): Free relpp if relcount == 0.
2004-01-13 15:41:00 +00:00
Ian Lance Taylor
041821e62e * stabs.c (parse_stab_argtypes): Handle g++ ABI version 3 names.
(stab_demangle_argtypes): Likewise.
	(stab_demangle_v3_argtypes): New static function.
	(stab_demangle_v3_arg): New static function.
2004-01-12 21:04:04 +00:00
Nick Clifton
950d48e718 Do not produce any output if the output file will be empty 2004-01-12 13:10:02 +00:00
Nick Clifton
d9296b1825 Fix initialisation of debug_line_pointer_sizes array so that it is done as needed 2004-01-07 18:50:51 +00:00
Alan Modra
5e675b72e4 * objcopy.c (filter_bytes): Delete. Move code to..
(copy_section): ..here.  Simplify size adjustment.  Divide
	section lma by interleave.
2004-01-02 22:54:47 +00:00
Nick Clifton
f0660b7388 Add Russian translation 2004-01-02 17:08:05 +00:00
Alan Modra
c9e214e571 Split ChangeLog files. 2004-01-02 11:16:21 +00:00
Daniel Jacobowitz
eb18fd2294 * MAINTAINERS: Rename CONFIGURE to BUILD SYSTEM and add myself. 2003-12-31 14:24:55 +00:00
Nick Clifton
0e0c409874 Update pointer_size patch 2003-12-29 14:22:07 +00:00
Maciej W. Rozycki
4087920c2b * objcopy.c (bfd_flags_to_set, bfd_flags_to_clear): New variables
to handle flags for tweaking.
(copy_options): New options: impure, pure, readonly-text,
writable-text.
(copy_usage, copy_object, command_line_switch): Handle the new
options.
* doc/binutils.texi: Document the new options.
2003-12-23 13:01:11 +00:00
Jakub Jelinek
68b3b8dc9e * objdump.c (disassemble_bytes): Subtract rel_offset from printed
reloc address.
	(disassemble_section): Set rel_offset to section->vma instead of
	pinfo->buffer_vma.
2003-12-22 10:49:59 +00:00
Nick Clifton
6edf0760c5 Add support for m32r-linux target, including a RELA ABI and PIC. 2003-12-19 11:44:01 +00:00
Nick Clifton
6ea3dd37ae Add --only-keep-debug to the --help output. 2003-12-11 13:22:51 +00:00
Nick Clifton
f57a841aea Do not copy the object if the output file's format cannot be set to that of
the input file.	 If the input file's format is unknown, fail.
2003-12-04 18:24:07 +00:00
Ian Lance Taylor
9663f234c1 * cxxfilt.c (usage): Mention new -p/--no-params options. 2003-11-29 04:03:22 +00:00
Alan Modra
75aa66180a * Makefile.am (install-exec-local): Remove common term from string
comparison.
	* Makefile.in: Regenerate.
	* doc/Makefile.am: Don't use $<.
	* doc/Makefile.in: Regenerate.
2003-11-28 04:58:41 +00:00
Nick Clifton
195f52b5ec Ensure that we have write permission before overwriting a file. 2003-11-27 08:24:01 +00:00
Nick Clifton
9eb20dd876 Add a comment describing the difference between readelf and objdump. 2003-11-26 11:49:10 +00:00
Danny Smith
f93464114f * doc/binutils.texi (dlltool): Document dlltool --temp-prefix
option.
	* dlltool.c (usage): Likewise.
2003-11-25 19:50:04 +00:00
Ian Lance Taylor
4e48c9dd27 * cxxfilt.c (long_options): Add --no-params.
(main): Handle -p/--no-params.
	* doc/binutils.texi (c++filt): Document -p/--no-params.
2003-11-23 01:10:45 +00:00
Alan Modra
3b9ad1cc1f * objdump.c: Wrap long lines, init vars separately from decl.
(disassemble_section): Reset require_sec after call to
	find_symbol_for_address.
2003-11-19 08:21:14 +00:00