* cofflink.c (coff_link_input_bfd): syment_base is unsigned
so can't compare -ve numbers with it.
Mon Sep 12 20:31:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* configure.in (shcoff_vec): Use cofflink.o now.
* coff-sh.c: Rewritten to use new fast coff backend.
* config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET
is defined, put the tx_offset into the r_offset.
* config/tc-sh.c (line_comment_chars): Add #
(tc_reloc_mangle): Deleted.
* config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
(TC_RELOC_MANGLE): Delete.
is defined, put the tx_offset into the r_offset.
* config/tc-sh.c (line_comment_chars): Add #
(tc_reloc_mangle): Deleted.
* config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
(TC_RELOC_MANGLE): Delete.
handling of program_transform_name.
* configure.in: Test for "unlink" and "delete", define USE_DELETE_FOR_UNLINK if
only the latter is found. Not expected to be triggered on UNIX/POSIX systems.
* acconfig.h (USE_DELETE_FOR_UNLINK): Undef here, provide comments.
Update for autoconf 1.118:
* gdbinit.in: New file, created from old .gdbinit.
* .gdbinit: Deleted.
* aclocal.m4 (GAS_GDBINIT): Deleted.
* configure.in: Don't use it. Instead, generate .gdbinit from gdbinit.in.
Don't substitute cpu_type, obj_format, emulation, atof. Switched order of
AC_LINK_FILES arguments. Use AC_PREREQ to ensure that older versions of
autoconf aren't used.
* Makefile.in: Added @configure_input@ line.
(configure): Deleted rule.
[regenerated conf.in, configure]
bfd_check_format_matches, and, if ambiguous, print a list of
matching formats. If file format is not recognized, treat file as
a linker script.
* ldgram.y (yyerror): If assuming an object file is a script,
mention that. Tweak the format of the error messages.
* ldlex.l (lex_warn_invalid): If assuming an object is a script,
guess that this is not actually a script, and just report that the
file format was not recognized.
* ld.texinfo (Options): Admit that -( may be used more than once.
Add note that unrecognized object files are now treated as linker
scripts.
* ldfile.c (ldfile_input_filename): Make const.
(ldfile_assumed_script): New variable.
(try_open): Change arguments types to const.
(ldfile_find_command_file): Likewise.
(ldfile_open_command_file): Likewise. Also, set lineno to 1.
* ldfile.h: Update declarations for ldfile.c changes.
* ldlex.l: Include <ctype.h>.
(file_name_stack): Change to be const char *.
(lineno_stack): New static variable.
(<<EOF>>): Set lineno as well as ldfile_input_filename.
(lex_push_file): Make name argument const. Initialize
lineno_stack entry.
(lex_redirect): Initialize lineno_stack entry.
(lex_warn_invalid): Handle non printable characters nicely.
* ldlex.h (lex_push_file): Declare second argument as const.
* ldgram.y (ifile_p1): Recognize GROUP.
* ldlex.l: Recognize GROUP.
* ld.texinfo (Option Commands): Document GROUP.
(ns32k-*-netbsd): use ns32knbsd.
* hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD
host support.
* sparcnetbsd.c: New file, adds support for NetBSD/sparc.
* config/sparc-nbsd.mt: Likewise.
* netbsd.h: New file, definitions common to all netbsd ports.
* i386netbsd.c: Use it.
* ns32knetbsd.c: Use it.
* Makefile.in, configure.in, targets.c, config/i386-nbsd.mt,
config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to
file/variable naming conventions.
* i386netbsd.c: New file, renamed from netbsd386.c.
* ns32knetbsd.c: New file, renamed from netbsd532.c.
disassembly more efficient.
* (breakpoint_notify): Include pc in gdbtk_tcl_breakpoint
callback.
* (gdb_loc): Include pc in return value. Also, return function
name if arg was specified.
* (gdb_cmd_stub): Call gdb_flush to drain internal GDB buffers
after command completes.
* (gdbtk_init): Improve error handling.
* gdbtk.tcl: Add lots of comments. Clean up code.
* (gdbtk_tcl_fputs): Make output window redirectable.
* Add assembly window, and breapoint support.
* Make button 1 in margin toggle breakpoints.
* Use stippling to indicate breakpoint disabling.
R_NO_RELOCATION fixups.
(bfd_section_from_som_symbol): Return the absolute section if the
symbol isn't contained in any section in the output file.
(som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are
not function symbols (they are magic code labels which *can* be the
targets of cross space branches). $START$ is not a section symbol.
(struct _i386_insn): New field disp_reloc.
(GOT_symbol): New variable.
(operand_special_chars): Added square-brackets and at-sign.
(reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not NO_RELOC, just
return it.
(reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro.
(BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More dummy macros.
(tc_i386_fix_adjustable): New function. Returns zero if symbol in fixup is not
local, to prevent relocations against externals from being dropped.
(md_assemble): Initialize disp_reloc field to NO_RELOC. Pass disp_reloc field
to reloc() function, and use TC_RELOC to generate value to pass to fix_new_exp.
(md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC reloc.
(i386_operand): Initialize disp_reloc field to NO_RELOC. Handle @GOTOFF, @PLT,
@GOT operands. For GOTOFF relocations with local symbols, force generation of
the section symbol.
(md_estimate_size_before_relax): If GOT_symbol exists, decide we're generating
PIC code, and convert relocations against undefined symbols from PCREL to
PLT32.
(md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking relocs.
(md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set and return
GOT_symbol if it matches.
(F, MAP): Move macro definitions outside function.
(tc_gen_reloc): Only switch on size and pcrel if code wasn't already supplied
as PLT32. GOT32, GOTOFF, or GOTPC. Convert BFD_RELOC_32 using GOT_symbol into
GOTPC.
* tc-i386.h (TC_RELOC, tc_fix_adjustable, TC_RELOC_GLOBAL_OFFSET_TABLE,
TC_RELOC_RTSYM_LOC_FIXUP): New macros.
(NEED_FX_R_TYPE): Define.
(LOCAL_LABEL): Accept ".X" prefix too.
(GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_".
just return the symbol. If operator is O_constant, resolve the symbol's value
before returning.
(operand): Permit use of "[]" for grouping.
(clean_up_expression): For difference of two symbols in the same frag, add the
difference of their offsets into X_add_number.
(expr): Reduce difference of two symbols in same frag to their difference.
(mpw-xconfig.in): No longer use.
(target_cpu): Always add to makefiles.
(ARCHDEFS, EMUL): Add to makefile only if nonempty.
(TM_FILE, XM_FILE, NM_FILE): No longer add to makefile.
(mpw-mh-mpw): Look for in srcdir and srcroot.
Use sed instead of mpw-edit-prefix to edit prefix definitions.
(s_mips_globl): New static function; needed for Irix 5 support.
* ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
external symbol with no type, set the type to st_Proc rather than
st_Global. Don't set the index of an external st_Proc or
st_StaticProc symbol unless it is also a local symbol.
change it.
(_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an
absolute reloc. Don't dump core using r_symndx as an array index.
* cf-m68klynx.c (coff_bfd_link_add_symbols): Define.
(lynx_link_add_symbols): New static function (copy of function in
coff-i386.c).
(coff_m68k_lynxrtype_to_howto): sym argument may be NULL.
* coff-i386.c (coff_i386_rtype_to_howto): Likewise.
* coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx
value of -1, meaning an absolute reloc.
error of some sort (for example, undefined symbols), then do not
apply any relocs, just notify the user of the errors.
(elf32_hppa_backend_begin_write_processing): Do not build a symbol
extension section for an executable (it's useless).
(elf32_hppa_link_output_symbol_hook): Do nothing if there was a
link error of some sort (for example, undefined symbols).
(elf32_hppa_read_symext_info): Kludge. Turn off SEC_HAS_CONTENTS
for all the input symbol extension sections to keep the generic
BFD code happy. Temporarily turn it on to read the contents of
the symbol extension section.
* cf-i386lynx.c: Remove #if 0 code.
(i386_lynxos_coff_object_p): Remove unused function.
(coff_bfd_link_add_symbols): Define.
(lynx_link_add_symbols): New static function.
* coffcode.h (coff_bfd_link_hash_table_create): If
coff_relocate_section is defined, only define this if not already
defined.
(coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise.
* linker.c (_bfd_generic_final_link): Handle
bfd_indirect_link_order explicitly, rather than via
_bfd_default_link_order.
(set_symbol_from_hash): New static function, broken out of
_bfd_generic_link_write_global_symbol.
(_bfd_generic_link_write_global_symbol): Symbol setting code moved
to set_symbol_from_hash; call it.
(default_indirect_link_order): Add generic_linker argument.
Change all callers. If false, set the generic symbols based on
the hash table entries.
change by replacing `symbols_added' with `so_last'.
* mdebugread.c (parse_external, parse_partial_symbols): Ignore
global common symbols, they will be resolved by the runtime loader.
* mdebugread.c (parse_symbol, parse_partial_symbols, cross_ref):
Handle scSCommon like scCommon symbols.
(GENERATE_SHLIB_SCRIPT): Define as yes.
(DYNAMIC_LINK): Define as false.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
(gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
* Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
generic.em.
core_ops to current_target after adding the shared libraries.
* partial-stab.h (N_EXCL), dbxread.c (add_old_header_file,
find_corresponding_bincl_psymtab): Change `repeated header not seen'
error to a complaint, simplify complaint.
* procfs.c (signalname, errnoname): Make `name' const.
* symfile.c (reread_symbols): Use filename from old BFD to
reopen the objfile.
* values.c (record_latest_value): Don't record value in the
history chain until we are sure there won't be an error.