Alexandre Oliva [Sun, 13 Oct 2002 21:22:49 +0000 (21:22 +0000)]
* config/tc-mips.c (s_gpdword): New function.
(mips_pseudo_table): Add .gpdword.
(mips_need_elf_addend_fixup): never for NEWABI.
(md_apply_fix3): Don't mark BFD_RELOC64 after GPREL16 or
GPREL32 as done.
(s_cpadd): Generate .cpadd on NEWABI.
Alexandre Oliva [Sun, 13 Oct 2002 21:22:31 +0000 (21:22 +0000)]
* elfxx-mips.c (mips_elf_calculate_relocation): Take
save_addend argument. Don't apply the 32-bit mask to a
GPREL32 value if it's to be used in another relocation. Don't
use forced-check computation of local_p to decide whether to
add gp0 to GPREL16 value. Don't use only the lowest 16 bits
of the addend of a non-in-place GPREL16 relocation.
(_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
mips_elf_calculate_relocation().
Stephane Carrez [Sat, 12 Oct 2002 14:00:55 +0000 (14:00 +0000)]
* elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
with symbols in other sections if we relaxed something; the sections
output offsets must be re-computed before.
Alexandre Oliva [Sat, 12 Oct 2002 05:23:33 +0000 (05:23 +0000)]
* config/tc-mips.h (mips_relax_frag): Take segment as argument.
(md_relax_frag): Adjust macro.
* config/tc-mips.c (mips_relax_branch): New variable.
(RELAX_BRANCH_ENCODE, RELAX_BRANCH_P, RELAX_BRANCH_LIKELY,
RELAX_BRANCH_LINK, RELAX_BRANCH_TOOBAR): New.
(RELAX_MIPS16_P): Adjust.
(append_insn): Emit branch to non-constant in a frag_var if
branch-relaxation is desirable and possible.
(OPTION_RELAX_BRANCH, OPTION_NO_RELAX_BRANCH): New options.
(OPTION_ELF_BASE): Adjust.
(md_parse_option): Handle new options.
(md_apply_fix3): Update comment on EMBEDDED_PIC conditional
branch relaxation.
(relaxed_branch_length): New function.
(md_estimate_size_before_relax): Handle branch frags.
(mips_relax_frag): Likewise.
(md_convert_frag): Handle branch frags. Warn if branch is
relaxed.
* findvar.c (read_memory_typed_address): New function.
* gdbcore.h (read_memory_typed_address): Add prototype.
* blockframe.c (sigtramp_saved_pc): Use read_memory_typed_address
to read a value destined for a CORE_ADDR, not read_memory_integer.
* f-valprint.c (f77_get_dynamic_upperbound): Ditto.
(f77_get_dynamic_lowerbound): Ditto.
* utils.c (string_to_core_addr): After turning string into
a number, convert to a CORE_ADDR using INTEGER_TO_ADDRESS
which will do necessary sign-extension, etc.
* interp.c (trap): Return int. Take extra parameter for address
of the trap instruction. Changed all callers.
Add case 33 for profiling.
* gencode.c (trapa): Handle trap 33 using the trap function.
Add read of vector for generic traps.
Jakub Jelinek [Thu, 10 Oct 2002 15:59:10 +0000 (15:59 +0000)]
* ldfile.c (ldfile_try_open_bfd): When searching skip linker scripts if
they have OUTPUT_FORMAT not matching actual output format.
* ldlang.c (lang_get_output_target): New function.
(open_output): Use it.
* ldlang.h (lang_get_output_target): New prototype.
Alan Modra [Thu, 10 Oct 2002 02:52:27 +0000 (02:52 +0000)]
* emultempl/elf32.em (output_rel_find): Prefer .rel script sections
when orphan is .rel, .rela when orphan is .rela.
(gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
first. Remove outsecname var.
Stephen Clarke [Wed, 9 Oct 2002 19:09:59 +0000 (19:09 +0000)]
* Makefile.am: Add eshelf32_linux.o and
eshlelf32_linux.o, new emulations for sh64 Linux.
* Makefile.in: Regenerate.
* configure.tgt: Add sh64eb-*-linux* and sh64-*-linux* emulations.
* emulparams/shelf32_linux.sh: New file.
* emulparams/shlelf32_linux.sh: New file.
* readelf.c (display_debug_info): Ignore empty .rela.debug_info
sections. Allow relocations against the absolute symbol. Don't
use the value in compunit.cu_abbrev_offset if we found a RELA
relocation.
Move the Dwarf 2 abbrev table to a per-compilation-unit structure,
so we can work on more than one compilation unit at a time. This
helps prepare GDB to handle inter-CU die references.
* dwarf2read.c (ABBREV_HASH_SIZE): moved definition forward in
the code to be defined before struct comp_unit_head.
(comp_unit_head): Added new members - offset, cu_head,
begin_die, next and dwarf2_abbrevs.
(dwarf2_abbrevs): Removed single static var; now member of
struct comp_unit_head.
dwarf2_build_psymtabs_hard): Complete new struct comp_unit_head
members.
(psymtab_to_symtab_1): Changed to work with the new
struct comp_unit_head.
(dwarf2_read_abbrevs): Now accepts a cu_header parameter and
constructs the dwarf2_abbrevs[] inside the cu_header.
(dwarf2_empty_abbrev_table): Now expects a ptr to a
dwarf2_abbrev table to clean up.
(dwarf2_lookup_abbrev): Now accepts a cu_header parameter and
handling of dwarf2_abbrevs inside the cu_header.
(read_partial_die): Now supports the call to the new
dwarf2_lookup_abbrev.
(read_full_die): Now supports the call to the new
dwarf2_lookup_abbrev.
* ldlang.c (lang_file_exist): Removed.
(new_afile): Revert the last change.
* ldlang.h (lang_file_exist): Removed.
* lexsup.c (parse_args): Revert the last change.
* Makefile.in (install-gdbtk): Add missing continuation backslash to insure
that shell variables, such as "transformed_name" are propagated to later shell
statements in rule.
* ld-mips-elf/branch-misc-1.d: Link at 0x500000 and use -N, to be
more compatible with non-embedded targets.
* ld-mips-elf/branch-misc-2.d: Likewise.
* ld-mips-elf/mips-elf.exp: Clean up some comments about embedded
PIC tests.
(elf): New variable, to control whether generic ELF tests are run.
(embedded_elf): New variable, to control whether ELF tests
requiring embedded PIC or embedded relocs are run.
* ui-out.h (ui_out_field_fmt_int): New prototype.
* ui-out.c (ui_out_field_fmt_int): New function allowing specification
of field width and alignment.
* stack.c (print_frame_info_base): When printing frame level, use
ui_out_field_fmt_int with a width of 2 and left alignment. Fix for
PR gdb/192
* mi-return.exp: Change expected frame output to remove extraneous
space in level field when frame level is single digit. Part of
fix for PR gdb/192.
* mi-stack.exp: Ditto.
* mi1-return.exp: Ditto.
* mi1-stack.exp: Ditto.
* mi-var-block.exp: Change expected output from -var-update
command to expect list format for "changelist". Fix for
PR gdb/672.
* mi-var-cmd.exp: Ditto.
* mi-var-child: Ditto.
* mi-cmd-var.c (mi_cmd_var_update): Fix for PR gdb/672. For m2,
output list begin and end for "changelist" rather than tuple begin/end.
(varobj_update_one): For m2, add tuple begin and end for varobj
update output.
* Makefile.tpl: Make SET_LIB_PATH substitution more autoconfy.
* Makefile.tpl: Make RPATH_ENVVAR substitution more autoconfy.
* configure.in: Make SET_LIB_PATH substitution more autoconfy.
* configure.in: Make RPATH_ENVVAR substitution more autoconfy.
* Makefile.in: Regenerate.