Alexandre Oliva [Wed, 7 May 2003 05:09:25 +0000 (05:09 +0000)]
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
error message for mixing different-endian files. Check for ABI
compatibility of input files with the selected emulation.
Alexandre Oliva [Wed, 7 May 2003 05:08:02 +0000 (05:08 +0000)]
* config/default.exp (gcc_gas_flags): Force ABI to n32 on
mips64-linux.
* ld-elf/merge.d: Xfail on mips64*-linux-gnu*.
* ld-mips-elf/mips-elf-flags.exp (ldemul): Set to o32-compatible
on mips-sgi-irix6*, mips64-linux-gnu and mips64el-linux-gnu.
(good_combination, bad_combination): Use it.
Add -32 or -mabi=o64 wherever the ABI was formerly implied.
Alexandre Oliva [Wed, 7 May 2003 04:14:57 +0000 (04:14 +0000)]
* ldmain.h (overflow_cutoff_limit): Declare.
* ldmain.c (overflow_cutoff_limit): Define, initialized to 10.
(reloc_overflow): Limit error messages based on it.
* lexsup.c (parse_args) <OPTION_VERBOSE>: Set cutoff to
unlimited.
Alan Modra [Mon, 5 May 2003 14:12:05 +0000 (14:12 +0000)]
* elf32-i386.c (allocate_dynrelocs): For undef weak syms with
non-default visibility, a) don't make them dynamic, b) discard
space for dynamic relocs.
* elf64-x86-64.c (allocate_dynrelocs): Likewise.
* elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
non-default visibility, a) don't allocate plt entries, b) don't
allocate .got relocs, c) discard dyn rel space,
(ppc_elf_relocate_section): d) don't generate .got relocs, e)
don't generate dynamic relocs.
* elf64-ppc.c (allocate_dynrelocs): As above.
(ppc64_elf_relocate_section): As above.
Andreas Jaeger [Mon, 5 May 2003 08:50:43 +0000 (08:50 +0000)]
* elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
relocation entries for weak undefined symbols with non-default
visibility.
(elf64_x86_64_relocate_section): Initialize the GOT entries and
skip R_386_32/R_386_PC32 for weak undefined symbols with
non-default visibility.
H.J. Lu [Mon, 5 May 2003 05:46:53 +0000 (05:46 +0000)]
bfd/
2003-05-04 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
relocation entries for weak undefined symbols with non-default
visibility.
(elf_i386_relocate_section): Initialize the GOT entries and
skip R_386_32/R_386_PC32 for weak undefined symbols with
non-default visibility.
* elfxx-ia64.c (allocate_fptr): Don't allocate function
descriptors for weak undefined symbols with non-default
visibility.
(allocate_dynrel_entries): Don't allocate relocation entries
for symbols resolved to 0.
(set_got_entry): Don't install dynamic relocation for weak
undefined symbols with non-default visibility.
(set_pltoff_entry): Likewise.
* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
with non-default visibility.
(elf_link_output_extsym): Don't make weak undefined symbols
with non-default visibility dynamic.
H.J. Lu [Mon, 5 May 2003 00:37:02 +0000 (00:37 +0000)]
2003-05-04 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_merge_symbol): Don't record a hidden/internal
symbol dynamic. Check indirection when removing the old
definition for symbols with non-default visibility.
(elf_add_default_symbol): Skip when told by elf_merge_symbol.
Andrew Cagney [Sun, 4 May 2003 17:34:51 +0000 (17:34 +0000)]
2003-05-02 Andrew Cagney <cagney@redhat.com>
* sentinel-frame.c (sentinel_frame_prev_register): Replace
REGISTER_BYTE with register_offset_hack.
* regcache.c (init_regcache_descr): When REGISTER_BYTE_P, check
that REGISTER_BYTE is consistent with the regcache.
* gdbarch.sh (REGISTER_BYTE): Add a predicate.
* gdbarch.h, gdbarch.c: Regenerate.
Joel Brobecker [Sun, 4 May 2003 03:50:13 +0000 (03:50 +0000)]
From Thierry Schneider <tpschneider1@yahoo.com>:
* mi-cmds.h (mi_cmd_symbol_list_lines): Add declaration.
* mi-cmds.c (mi_cmds): Add entry for new MI command.
* mi-cmd-symbol.c (mi_cmd_symbol_list_lines): New source file
for all symbol-related commands.
* readelf.c (struct Frame_Chunk): Add cfa_exp.
(frame_display_row): Just print "exp" for cfa or register
defined by a location expression.
(display_debug_frames): Handle DW_CFA_def_cfa_expression,
DW_CFA_expression, DW_CFA_MIPS_advance_loc8.
Andrew Cagney [Sat, 3 May 2003 19:39:23 +0000 (19:39 +0000)]
2003-05-03 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (PUSH_DUMMY_CODE): New architecture method, add
comments noteing that it replaces the old FIX_CALL_DUMMY code.
* gdbarch.h, gdbarch.c: Re-generate.
* d10v-tdep.c (d10v_push_dummy_code): New function.
(d10v_gdbarch_init): Set push_dummy_code.
* infcall.c (legacy_push_dummy_code): New function.
(generic_push_dummy_code): New function.
(push_dummy_code): New function.
(call_function_by_hand): Call push_dummy_code. Pass bp_addr,
instead of dummy_addr, to push_dummy_call. Move call to
generic_save_call_dummy_addr to outside of CALL_DUMMY_LOCATION
switch.
* sparc-tdep.c (sparc_gdbarch_init): Mention push_dummy_code.
Andrew Cagney [Sat, 3 May 2003 00:26:34 +0000 (00:26 +0000)]
2003-05-02 Andrew Cagney <cagney@redhat.com>
* std-regs.c (value_of_builtin_frame_pc_reg): Delete #ifdef
PC_REGNUM, re-indent.
* stack.c (frame_info): Use "pc" for the name of get_frame_pc when
PC_REGNUM isn't set.
Elena Zannoni [Fri, 2 May 2003 14:23:39 +0000 (14:23 +0000)]
gdb:
2003-05-02 Elena Zannoni <ezannoni@redhat.com>
* charset.c (GDB_DEFAULT_TARGET_CHARSET,
GDB_DEFAULT_HOST_CHARSET): Move to earlier in the file.
(host_charset_name, target_charset_name): New vars for use by
set/show commands.
(host_charset_enum, target_charset_enum): New enums for set/show
commands.
(set_charset_sfunc, set_host_charset_sfunc,
set_target_charset_sfunc): New functions.
(set_host_charset, set_target_charset): Make static.
(list_charsets, set_host_charset_command,
set_target_charset_command): Delete functions.
(show_charset_command): Rewrite as....
(show_charset): Hook this up with the set/show command mechanism.
(_initialize_charset): Change names of charsets to match the
set/show enums. Use host_charset_name and target_charset_name.
Use set/show mechanism for charset, host-charset, target-charset
commands. Do not make 'show host-charset' and 'show
target-charset' be aliases of 'show charset'.
* charset.h (set_host_charset, set_target_charset): Don't export,
they are not used outside the file.
gdb/testsuite:
2003-05-01 Elena Zannoni <ezannoni@redhat.com>
* gdb.base/charset.exp: Update based on new behavior of set/show
charset commands.
gdb/doc:
2003-05-02 Elena Zannoni <ezannoni@redhat.com>
* gdb.texinfo (Character Sets): Update to reflect new behavior of
set/show charsets commands.
Andreas Jaeger [Fri, 2 May 2003 08:19:12 +0000 (08:19 +0000)]
* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
(ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
(elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
ELF_LINK_NON_GOT_REF from weakdef.
Andrew Cagney [Thu, 1 May 2003 23:21:08 +0000 (23:21 +0000)]
2003-05-01 Andrew Cagney <cagney@redhat.com>
* disasm.c (gdb_disassemble_from_exec): Delete global variable.
(gdb_disassembly): Make "di" non static, always initialize and
cleanup. Always use dis_asm_read_memory.
(gdb_dis_asm_read_memory): Delete function.
2003-05-01 Andrew Cagney <cagney@redhat.com>
* gdb.asm/asm-source.exp: Check that "disassm" and "x/i" of a
variable do not give memory errors.
* z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls.
(unpack_instr): Fix representation of segmented addresses.
(intr_name): Added, contains names of the parameters to the EI/DI
instructions.
(unparse_instr): Fix display of EI/DI parameters.
* expr.h: Fix comments in operatorT typedef.
* config/tc-z8k.c: Add 2003 to copyright message.
Fold s_segm() and s_unseg() into one function s_segm(parm) which
decides by the parameter.
(md_begin): Don't set linkrelax. Only set Z8002 default if no
command line argument was given to select the intended
architecure.
(get_interrupt_operand): Warn if NOP type code is emitted.
(newfix): New parameter 'size', forward it to 'fix_new_exp'.
(apply_fix): Call newfix with additional 'size' parameter.
(build_bytes): Remove unused variable 'nib'. Detect overflow in
4 bit immediate arguments.
(md_longopts): Add 'linkrelax' option.
(md_parse_option): Adapt to new s_segm function. Set 'linkrelax'
variable when 'linkrelax' command line option is specified.
(md_show_usage): Display 'linkrelax' option.
(md_apply_fix3): Fix cases R_IMM4L, R_JR, and R_IMM8. Add cases
R_CALLR and R_REL16.
* config/tc-z8k.h: Undef WARN_SIGNED_OVERFLOW_WORD.
* expr.h: Fix comments in operatorT typedef.
* config/tc-z8k.c: Add 2003 to copyright message.
Fold s_segm() and s_unseg() into one function s_segm(parm) which
decides by the parameter.
(md_begin): Don't set linkrelax. Only set Z8002 default if no
command line argument was given to select the intended
architecure.
(get_interrupt_operand): Warn if NOP type code is emitted.
(newfix): New parameter 'size', forward it to 'fix_new_exp'.
(apply_fix): Call newfix with additional 'size' parameter.
(build_bytes): Remove unused variable 'nib'. Detect overflow in
4 bit immediate arguments.
(md_longopts): Add 'linkrelax' option.
(md_parse_option): Adapt to new s_segm function. Set 'linkrelax'
variable when 'linkrelax' command line option is specified.
(md_show_usage): Display 'linkrelax' option.
(md_apply_fix3): Fix cases R_IMM4L, R_JR, and R_IMM8. Add cases
R_CALLR and R_REL16.
* config/tc-z8k.h: Undef WARN_SIGNED_OVERFLOW_WORD.
Alan Modra [Thu, 1 May 2003 10:22:46 +0000 (10:22 +0000)]
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
weakdef sym has already been adjusted before treating it specially.
* elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
(ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
H.J. Lu [Thu, 1 May 2003 01:00:30 +0000 (01:00 +0000)]
gas/
2003-04-30 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.c (ia64_number_to_chars): New function pointer.
(ia64_float_to_chars): Likewise.
(dot_byteorder): Set target_big_endian, ia64_number_to_chars
and ia64_float_to_chars by tc_segment_info_data.endian from
the current segment if byteorder == -1.
(md_begin): Call dot_byteorder to set target_big_endian.
(md_atof): Call ia64_float_to_chars to convert floating point.
(ia64_float_to_chars_bigendian): New function.
(ia64_float_to_chars_littleendian): Likewise.
(ia64_elf_section_change_hook): Likewise.
* config/tc-ia64.h (ia64_number_to_chars): New.
(md_number_to_chars): Changed to (*ia64_number_to_chars)
(ia64_elf_section_change_hook): New.
(md_elf_section_change_hook): Defined.
(ia64_segment_info_type): New struct.
(TC_SEGMENT_INFO_TYPE): Defined.
gas/testsuite/
2003-04-30 H.J. Lu <hjl@gnu.org>
* gas/ia64/ia64.exp: Add order.
* gas/ia64/order.s: New file.
* gas/ia64/order.d: Likewise.
H.J. Lu [Thu, 1 May 2003 00:40:41 +0000 (00:40 +0000)]
2003-04-30 H.J. Lu <hjl@gnu.org>
* objdump.c (only): Change it to char **.
(only_size): New.
(only_used): New.
(disassemble_data): Check only as an array.
(dump_data): Likewise.
(dump_relocs): Likewise.
(main): Treat only as an array.
Andrew Cagney [Wed, 30 Apr 2003 22:01:38 +0000 (22:01 +0000)]
2003-04-30 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (deprecated_tm_print_insn_info): Rename
"tm_print_insn_info".
(TARGET_PRINT_INSN_INFO): Delete macro.
(dis_asm_read_memory): Delete function declaration.
(dis_asm_memory_error, dis_asm_print_address): Ditto.
(tm_print_insn_info): Delete variable definition.
(_initialize_gdbarch): Do not initialize "tm_print_insn_info".
* gdbarch.h, gdbarch.c: Re-generate.
* d10v-tdep.c (display_trace): Replace "tm_print_insn_info" with
"deprecated_tm_print_insn_info".
* mcore-tdep.c (mcore_dump_insn): Ditto.
* mips-tdep.c (mips_gdbarch_init): Ditto.
* sparc-tdep.c (_initialize_sparc_tdep): Ditto.
* v850-tdep.c (v850_scan_prologue, v850_gdbarch_init): Ditto.
* ia64-tdep.c (_initialize_ia64_tdep): Ditto.
* printcmd.c (print_insn): Use "deprecated_tm_print_insn_info"
instead of TARGET_PRINT_INSN_INFO, add comment.
* s390-tdep.c (s390_get_frame_info): Instead of
"dis_asm_read_memory", use "deprecated_tm_print_insn_info".
(s390_check_function_end, s390_is_sigreturn): Ditto.
* corefile.c (dis_asm_read_memory): Move to "disasm.c".
(dis_asm_memory_error, dis_asm_print_address): Ditto.
* disasm.c: Include "gdbcore.h".
(_initialize_disasm): New function, initialize
"deprecated_tm_print_insn_info".
(deprecated_tm_print_insn_info): New variable.
(dis_asm_read_memory): Moved from "corefile.c", made static.
(dis_asm_print_address, dis_asm_memory_error): Ditto.
* Makefile.in (disasm.o): Update dependencies.
2003-04-28 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Replace
read_fp, TARGET_READ_FP and FP_REGNUM, with deprecated_read_fp,
DEPRECATED_TARGET_READ_FP and DEPRECATED_REGNUM.
H.J. Lu [Wed, 30 Apr 2003 21:38:55 +0000 (21:38 +0000)]
gas/
2003-04-30 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.c (stmt_float_cons): Fix alignment for real10
and add real16.
(md_pseudo_table): Add "xreal16", "xreal16.ua", "real16" and
"real16.ua".
(md_atof): Add 6 byte padding of zero for real16.
gas/testsuite/
2003-04-29 H.J. Lu <hjl@gnu.org>
* gas/ia64/ia64.exp: Add real.
* gas/ia64/real.s: New file.
* gas/ia64/real.d: Likewise.