Mark Mitchell [Sun, 27 Jun 1999 11:05:15 +0000 (11:05 +0000)]
* elf32-mips.c (mips_elf_swap_msym_in): New function.
(mips_elf_swap_msym_out): New function.
(mips_elf_create_msym_section): Likewise.
(MIPS_ELF_MSYM_SECTION_NAME): New macro.
(_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
(_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
section not named .msym.
(_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
.msym directly. Set appropriate attributes for the .msym
section.
(mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
(mips_elf_link_hash_newfunc): Clear it.
(mips_elf_create_dynamic_sections): Create the .msym section
on IRIX6.
(mips_elf_size_dynamic_sections): Allocate space for the
.msym section. Add a DT_MIPS_MSYM entry.
(mips_elf_finish_dynamic_symbol): Write out a .msym entry for
the symbol.
(mips_elf_finish_dynamic_sections): Assign a value for
DT_MIPS_MSYM. Add .msym entries for the section symbols as well.
Mark Mitchell [Sat, 26 Jun 1999 21:17:49 +0000 (21:17 +0000)]
* elf32-mips.c (irix_compat_t): New enumeration.
(ABI_N32_P): New macro.
(IRIX_COMPAT): Likewise.
(SGI_COMPAT): Implement in terms of IRIX_COMPAT.
(mips_elf_relocate_section): Fix typo.
David Mosberger <davidm@hpl.hp.com>
* dwarf2dbg.c (dwarf2_gen_line_info): Don't call
out_end_sequence() when the address decreases due to a new frag.
(gen_dir_list): Set ls.file[i].dir to j + 1 (not j) because file
numbering starts with 1.
David Mosberger <davidm@hpl.hp.com>
* dwarf2.c (struct arange): New type.
(struct comp_unit): Replace LOW and HIGH by member ARANGE.
(arange_add): New function.
(decode_line_info): Keep track of address ranges that a compilation
unit covers.
(comp_unit_contains_address): Return true if address is contained
in _any_ of the address ranges associated with a compilation unit.
(_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
on the first comp_unit that contains the address.
David Mosberger <davidm@hpl.hp.com>
* dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
(decode_line_info): Add variable STASH and initialize it to point
to the per-bfd dwarf2_debug info. Remove static variable
dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
Jeff Law [Thu, 24 Jun 1999 20:01:44 +0000 (20:01 +0000)]
ð
* elf-hppa.c (elf_hppa_final_write_processing): New function.
* elf32-hppa.c: Remove everything related to symbol extension
sections & records. Use the common elf_hppa_final_write_processing.
Jeff Law [Thu, 24 Jun 1999 20:01:42 +0000 (20:01 +0000)]
d
* elf-hppa.c (elf_hppa_final_write_processing): New function.
* elf32-hppa.c: Remove everything related to symbol extension
sections & records. Use the common elf_hppa_final_write_processing.
Ian Lance Taylor [Tue, 22 Jun 1999 21:01:24 +0000 (21:01 +0000)]
From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx
field to 0, not -1.
(ppc_elf_finish_dynamic_sections): Check for positive section
dynindx field, rather than comparing against -1.
(ppc_elf_relocate_section): Only return false if undefined_symbol
or reloc_overflow fail, not always upon encountering an error.
Ian Lance Taylor [Tue, 22 Jun 1999 20:39:46 +0000 (20:39 +0000)]
Based on patches from Mumit Khan <khan@xraylith.wisc.EDU>:
* configure.in: Define EXECUTABLE_SUFFIX.
* dlltool.c: Include "dyn-string.h". Include <stdarg.h> based on
ANSI_PROTOTYPES, not __STDC__.
(outfile): Remove.
(gen_exp_file): Change uses of outfile to use alloca.
(make_one_lib_file, make_head, make_tail): Likewise.
(gen_lib_file): Likewise.
(look_for_prog): New static function.
(deduce_name): Rewrite to use look_for_prog.
(mcore_elf_gen_out_file): Use dyn_string_t rather than outfile.
* dllwrap.c: Don't include <stdio.h>, <errno.h>, <string.h>,
<stdlib.h>, or <unistd.h>. Include <sys/stat.h> and either
<stdarg.h> or <varargs.h>.
(driver_name): Initialize to NULL, not "gcc".
(dlltool_name): Initialize to NULL, not "dlltool".
(display, inform, look_for_prog, deduce_name): New static
functions.
(usage): Mention -mno-cygwin.
(OPTION_MNO_CYGWIN): Define.
(main): Handle -mno-cygwin. Deduce driver_name and dlltool_name.
* resrc.c (look_for_default): Make static. Remove unused local
path. Check using EXECUTABLE_SUFFIX.
(read_rc_file): Allocate enough space to hold EXECUTABLE_SUFFIX.
* Makefile.am: Rebuild dependencies.
(dllwrap_LDADD): Add $(INTLLIBS).
* configure, Makefile.in, config.in: Rebuild.
Ian Lance Taylor [Tue, 22 Jun 1999 19:04:42 +0000 (19:04 +0000)]
* subsegs.c (subseg_text_p): Rewrite non BFD_ASSEMBLER case to use
a list of names, to try obj_segment_name, and to try abbreviated
names when using COFF without long section names.
Jeff Law [Tue, 22 Jun 1999 12:20:30 +0000 (12:20 +0000)]
* elf-hppa.h: New file. Common stuff for elf32 and elf64 PA
support.
* elf32-hppa.c: Include elf-hppa.h.
(ARCH_SIZE): Define.
(elf_hppa_reloc_type_lookup): Delete. Found in the common code
now.
(elf32_hppa_info_to_howto): Similarly.
(elf_hppa_howto_table): Similarly.
(elf_hppa_reloc_type_lookup): Similarly.
(hppa_elf_gen_reloc_type): Similarly.
* elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
Ian Lance Taylor [Mon, 21 Jun 1999 10:11:52 +0000 (10:11 +0000)]
* alpha-dis.c: Don't include <stdlib.h>.
* arm-dis.c: Include "sysdep.h".
* tic30-dis.c: Don't include <stdlib.h> or <string.h>. Include
"sysdep.h".
* Makefile.am: Rebuild dependencies.
* Makefile.in: Rebuild.
Ian Lance Taylor [Mon, 21 Jun 1999 10:03:29 +0000 (10:03 +0000)]
* config/tc-arm.c (ldst_extend): Add parentheses to avoid
warning.
(do_ldst): Move assignment out of if condition.
(md_apply_fix3): Add casts to avoid printf format warnings. Add
parentheses to avoid warning.
Jeff Law [Fri, 18 Jun 1999 13:35:16 +0000 (13:35 +0000)]
* tc-hppa.c: General cleanups of ELF support. No more spaces
and subspaces for ELF.
(GDB_DEBUG_SPACE_NAME): Delete definition for ELF.
(GDB_STRINGS_SUBSPACE_NAME): Likewise.
(GDB_SYMBOLS_SUBSPACE_NAME): Likewise
(UNWIND_SECTION_NAME): Likewise.
(space/subspace related structures): Conditionalize definitions
on OBJ_SOM.
(space/subspace directives and support routines): Conditionalize
definitions and references/uses on OBJ_SOM.
(label_symbol_struct): For ELF, track the symbol's segment. For
SOM track its space.
(pa_define_label, pa_undefine_label, pa_get_label): Corresponding
changes.
(USE_ALIASES): Kill for both SOM & ELF.
(pa_def_subspaces, pa_def_spaces): Corresponding changes.
(pa_space, pa_subspace): Corresponding changes.
(pa_spaces_begin): Corresponding chagnes.
(md_begin): Do not muck around with space/subspace stuff for
OBJ_ELF.
(md_apply_fix): Temporarily disable argument relocation stuff
for OBJ_ELF.
(tc_gen_reloc): Temporarily disable relocation generation for
OBJ_ELF
(pa_build_unwind_subspace): Similarly.
Ian Lance Taylor [Sun, 13 Jun 1999 19:38:06 +0000 (19:38 +0000)]
* cg_dfn.c: Include "libiberty.h"
(DFN_INCR_DEPTH): Define instead of DFN_DEPTH.
(dfn_stack): Define as pointer rather than array.
(pre_visit): Reallocate dfn_stack as needed.
Ian Lance Taylor [Sun, 13 Jun 1999 19:02:25 +0000 (19:02 +0000)]
* objdump.c (disassemble_bytes): If the disassembler returns an
error, print out anything it may have printed to the buffer. From
H.J. Lu <hjl@gnu.org>.
Ian Lance Taylor [Sun, 13 Jun 1999 17:04:42 +0000 (17:04 +0000)]
Rework last checkin to the following:
* i386-dis.c (FWAIT_OPCODE): Define.
(used_prefixes): New static variable.
(fetch_data): Don't print an error message if we have already
fetched some bytes successfully.
(ckprefix): Clear used_prefixes. Use FWAIT_OPCODE, not 0x9b.
(prefix_name): New static function.
(print_insn_i386): If setjmp fails, indicating a data error, but
we have managed to fetch some bytes, print the first one as a
prefix or a .byte pseudo-op. If fwait is followed by a non
floating point instruction, print the first prefix. Set
used_prefixes when prefixes are used. If any prefixes were not
used after disassembling the instruction, print the first prefix
instead of printing the instruction.
(putop): Set used_prefixes when prefixes are used.
(append_seg, OP_E, OP_G, OP_REG, OP_I, OP_sI, OP_J): Likewise.
(OP_DIR, OP_SIMD_Suffix): Likewise.
Mark Mitchell [Sun, 13 Jun 1999 14:49:51 +0000 (14:49 +0000)]
* elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
* elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
* elflink.h (elf_link_remove_section_and_adjust_dynindices): New
function.
(bfd_elf_size_dynamic_sections): Use it.
Ian Lance Taylor [Sun, 13 Jun 1999 13:56:26 +0000 (13:56 +0000)]
* i386-dis.c (FWAIT_OPCODE): Define.
(fetch_data): Don't print an error message if we have already
found an fwait prefix.
(ckprefix): Use FWAIT_OPCODE rather than 0x9b.
(print_insn_i386): If setjmp fails, indicating a data error, but
we have found an fwait prefix, then print it as an fwait
instruction. In any case, return the number of bytes consumed, if
any, rather than always returning -1.
Ian Lance Taylor [Sun, 13 Jun 1999 10:16:43 +0000 (10:16 +0000)]
* defparse.y (explist): Remove separate expline to eliminate
shift/reduce conflict.
From Kai-Uwe Rommel <rommel@ars.de>:
* defparse.y: Add tokens NONSHARED, SINGLE, MULTIPLE,
INITINSTANCE, INITGLOBAL, TERMINSTANCE, and TERMGLOBAL.
(command): Add option_list after LIBRARY.
(attr): Accept and ignore NONSHARED, SINGLE, and MULTIPLE.
(option_list, option): New nonterminals.
* deflex.l: Recognize NONSHARED, SINGLE, MULTIPLE, INITINSTANCE,
INITGLOBAL, TERMINSTANCE, and TERMGLOBAL.
Ian Lance Taylor [Sun, 13 Jun 1999 09:23:04 +0000 (09:23 +0000)]
1999-06-13 Alan Modra <alan@spri.levels.unisa.edu.au>
* elf32-i386.c (elf_howto_table): Change R_386_PC8 from
complain_overflow_bitfield to complain_overflow_signed.
Ian Lance Taylor [Sat, 12 Jun 1999 22:40:18 +0000 (22:40 +0000)]
* ld-checks/asm.s: Use a symbol name for .lcomm.
* ld-checks/checks.exp: Use different names for the two tests.
Don't add extra text when invoking fail.