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.
Ian Lance Taylor [Sat, 12 Jun 1999 22:15:51 +0000 (22:15 +0000)]
* write.c (adjust_reloc_syms): Rather than never reducing reloc
which refer to symbols in linkonce sections, permit reducing the
relocs if the symbol is local.
Ian Lance Taylor [Sat, 12 Jun 1999 21:24:56 +0000 (21:24 +0000)]
This fixes ! to work as documented in a memory region attribute list.
From Thomas Zenker <thz@lennartz-electronic.de>:
* ldgram.y (attributes_opt): Use attributes_list instead of NAME.
(attributes_list, attributes_string): New nonterminals.
* ldlang.c (lang_set_flags): Add invert parameter. Don't handle
'!'.
* ldlang.c (lang_set_flags): Update declaration.
Ian Lance Taylor [Sat, 12 Jun 1999 14:00:03 +0000 (14:00 +0000)]
* emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
entry_symbol as an undefined symbol when doing a relocateable
link. From <jeffdb@goodnet.com>.
Ian Lance Taylor [Sat, 12 Jun 1999 13:30:24 +0000 (13:30 +0000)]
* readelf.c (get_elf_class): Use correct printf format for type.
(get_data_encoding): Likewise.
(get_osabi_name): Likewise.
(process_file_header): Don't pass an extra argument to printf.
(process_dynamic_segment): Cast dynamic_size to long before
printing.
(decode_location_expression): Cast byte_get to long before
printing.
Ian Lance Taylor [Fri, 11 Jun 1999 21:07:46 +0000 (21:07 +0000)]
* struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
* symbols.c: Likewise.
* config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
sy_next field when taking address, rather than symbol_next.
Ian Lance Taylor [Fri, 11 Jun 1999 21:06:44 +0000 (21:06 +0000)]
* dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to
offsetT.
(out_set_addr): Don't use BYTES_PER_ADDRESS. Instead, get the
value from the output file architecture.
(dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code.
* dwarf2dbg.h: Change bfd_vma to addressT.