bfd/
2007-09-18 Richard Sandiford <richard@codesourcery.com>
* elfxx-mips.c (mips_got_page_range): New structure.
(mips_got_page_entry): Likewise.
(mips_got_info): Add page_gotno and got_page_entries fields.
(mips_elf_got_per_bfd_arg): Add max_pages field. Delete
primary_count and current_count fields.
(mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
(mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
(mips_elf_get_got_for_bfd): New function, split out from
mips_elf_make_got_per_bfd. Initialize the page_gotno and
got_page_entries fields when creating a new GOT structure.
(mips_elf_make_got_pages_per_bfd): New function.
(mips_elf_merge_got_with): New function, split out from
mips_elf_make_got_per_bfd. Merge page entries as well as
non-page entries. Use the minimum of max_pages and the sum
of the page_gotnos to estimate the number of page entries.
(mips_elf_merge_gots): Use the minimum of max_pages and the
bfd's page_gotno to estimate the number of page entries.
Use the above functions.
(mips_elf_multi_got): Add page entries as well as non-page entries
to the individual per-bfd GOTs. Initialize got_per_bfd_arg.max_pages.
Initialize the page_gotno and got_page_entries fields when creating
a new primary GOT. Use the minimum of pages and page_gotno when
adding the number of pages entries to local_gotno.
(mips_elf_create_got_section): Initialize the page_gotno and
got_page_entries fields of the GOT structure.
(mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
(mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
functions, split out from...
(_bfd_mips_elf_relocate_section): ...here.
(_bfd_mips_elf_check_relocs): Record GOT page entries too.
(_bfd_mips_relax_section): Use mips_elf_get_section_contents.
(_bfd_mips_elf_always_size_sections): Use the smaller of the
loadable_size- and page_gotno-derived estimates.
ld/testsuite/
2007-09-18 Richard Sandiford <richard@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Nick Clifton [Tue, 13 Nov 2007 10:40:29 +0000 (10:40 +0000)]
* config/tc-mn10300.c (mn10300_force_relocation): Force a reloc to be generated for alignment fixups.
* config/tc-mn10300.h (TC_FORCE_RELOCATION): Call mn10300_force_relocation.
* elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the accidental termination of DWARF location list entries.
(mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc is encountered that is larger than or not a mutliple of the number of bytes being deleted.
When adjusting symbols, any symbols inside the region being deleted must be moved to the end of the region.
Move align relocs forward if there is room for them after the deletion of the region.
Alan Modra [Tue, 13 Nov 2007 05:56:10 +0000 (05:56 +0000)]
PR 5233
* elf.c (rewrite_elf_program_header): Formatting. Add
first_matching_lma and first_suggested_lma booleans and use
instead of testing matching_lma and suggested_lma for zero.
Markus Deuling [Mon, 12 Nov 2007 06:43:16 +0000 (06:43 +0000)]
2007-11-12 Markus Deuling <deuling@de.ibm.com>
* xtensa-tdep.c (ARG_1ST): Replace ARGS_FIRST_REG by its expression.
(ARGS_FIRST_REG): Remove.
(areg_numer): New function.
(xtensa_pseudo_register_read, xtensa_frame_prev_register)
(xtensa_extract_return_value, xtensa_store_return_value)
(xtensa_frame_cache): Replace AREG_NUMBER by areg_number.
(AREG_NUMBER): Remove.
(XTENSA_IS_ENTRY, ARG_NOF, ARG_1ST): Add gdbarch as parameter.
(xtensa_frame_cache): Update use of XTENSA_IS_ENTRY.
(xtensa_push_dummy_call): Update use of ARG_NOF.
(extract_call_winsize): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch.
(xtensa_extract_return_value, xtensa_store_return_value): Update call
of extract_call_winsize.
Alan Modra [Mon, 12 Nov 2007 00:27:53 +0000 (00:27 +0000)]
* config/tc-ppc.c (md_assemble): If -mregnames, when parsing
PPC_OPERAND_CR always parse as expression to allow register name
followed by an expression.
Kevin Buettner [Fri, 9 Nov 2007 23:38:51 +0000 (23:38 +0000)]
* mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add missing
register number to map. Adjust warning check and error/warning
return value code to match expectations of this function's callers.
Joel Brobecker [Fri, 9 Nov 2007 19:04:35 +0000 (19:04 +0000)]
* stack.c (print_frame_arguments_choices): New static global.
(print_frame_arguments): Likewise.
(print_this_frame_argument_p): New function.
(print_frame_args): Print the argument value only when appropriate.
(_initialize_task): Add new "set/show print frame-arguments" command.
Danny Smith [Fri, 9 Nov 2007 08:35:29 +0000 (08:35 +0000)]
Apply delta accidentally omitted from 2007-11-05 commit.
* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
and .bss section use the default.
Joseph Myers [Thu, 8 Nov 2007 00:10:06 +0000 (00:10 +0000)]
2007-11-07 Joseph Myers <joseph@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Right-align
struct values smaller than one doubleword; left-align those
larger. Pass structs containing a single floating-point value in
registers.
libiberty:
2007-11-07 Joseph Myers <joseph@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* floatformat.c (mant_bits_set): New.
(floatformat_to_double): Use it. Note no special handling of
split formats.
(floatformat_from_double): Note no special handing of split
formats.
(floatformat_ibm_long_double_is_valid,
floatformat_ibm_long_double): New.
(floatformat_ieee_single_big, floatformat_ieee_single_little,
floatformat_ieee_double_big, floatformat_ieee_double_little,
floatformat_ieee_double_littlebyte_bigword, floatformat_vax_f,
floatformat_vax_d, floatformat_vax_g, floatformat_i387_ext,
floatformat_m68881_ext, floatformat_i960_ext,
floatformat_m88110_ext, floatformat_m88110_harris_ext,
floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword,
floatformat_ia64_spill_big, floatformat_ia64_spill_little,
floatformat_ia64_quad_big, floatformat_ia64_quad_little): Update
for addition of split_half field.
gdb:
2007-11-07 Joseph Myers <joseph@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* gdbtypes.c (floatformats_ibm_long_double): New.
* gdbtypes.h (floatformats_ibm_long_double): Declare.
* ia64-tdep.c (floatformat_ia64_ext): Update for addition of
split_half field.
* mips-tdep.c (n32n64_floatformat_always_valid,
floatformat_n32n64_long_double_big, floatformats_n32n64_long):
Remove.
(mips_gdbarch_init): Use floatformats_ibm_long_double instead of
floatformats_n32n64_long.
* ppc-linux-tdep.c (ppc_linux_init_abi): Use 128-bit IBM long
double.
* doublest.c (convert_floatformat_to_doublest,
convert_doublest_to_floatformat): Handle split floating-point
formats.
* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Handle IBM long
double arguments.
(ppc64_sysv_abi_push_dummy_call): Likewise.
(do_ppc_sysv_return_value): Handle IBM long double return.
Nick Clifton [Wed, 7 Nov 2007 11:36:42 +0000 (11:36 +0000)]
* doc/binutils.texi: Update to FDL 1.2.
(Top): consistent punctuation in menu entries.
(Index): Rename from Binutils Index.
* doc/fdl.texi: Update from http://www.gnu.org/licenses/fdl.texi.
Markus Deuling [Wed, 7 Nov 2007 06:53:41 +0000 (06:53 +0000)]
2007-11-07 Markus Deuling <deuling@de.ibm.com>
* shnbsd-tdep.c (shnbsd_supply_gregset, shnbsd_collect_gregset): Use
get_regcache_arch to get at the current architecture by regcache.
* xstormy16-tdep.c (xstormy16_frame_prev_register): Use get_frame_arch
to get at the current architecture by frame_info.
* fbsd-nat.c (fbsd_make_corefile_notes): Use get_regcache_arch to get
at the current architecture by regcache.
* gnu-v3-abi.c (gnuv3_skip_trampoline): Use get_frame_arch to get at
the current architecture by frame_info.
(build_gdb_vtable_type): Replace current_gdbarch by gdbarch.
* aix-thread.c (special_register_p): Add gdbarch as parameter.
(fetch_regs_kernel_thread, store_regs_kernel_thread): Add gdbarch to
caller of special_register_p.
Markus Deuling [Wed, 7 Nov 2007 06:36:57 +0000 (06:36 +0000)]
2007-11-07 Markus Deuling <deuling@de.ibm.com>
* s390-nat.c (supply_gregset, fill_gregset): Use get_regcache_arch to
get at the current architecture by regcache.
(SUBOFF): Add gdbarch to macro definition.