Ian Lance Taylor [Fri, 30 Sep 1994 17:13:08 +0000 (17:13 +0000)]
* elfcode.h (elf_bfd_final_link): Remove assertion when a non
SEC_IN_MEMORY section is found in dynobj. This can happen when
linking PIC compiled code.
Ken Raeburn [Thu, 29 Sep 1994 20:36:24 +0000 (20:36 +0000)]
* elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol in elfcode.h.
(case bfd_print_symbol_all): Print symbol's size field, except for common
symbols; print their alignment.
* elfcode.h (elf_print_symbol): Deleted.
* libelf.h (bfd_elf_print_symbol): Declare.
(bfd_elf{32,64}_print_symbol): Replace declarations with macros.
Jeff Law [Thu, 29 Sep 1994 04:26:50 +0000 (04:26 +0000)]
* hpread.c (hpread_type_translate): Handle T_UNS_LONG types with
lengths other than 32bits (HP C 9.69 represents an "unsigned char"
as an T_UNS_LONG with length 8).
Jeff Law [Thu, 29 Sep 1994 03:25:03 +0000 (03:25 +0000)]
* gas/hppa/reloc/reduce.s: Renamed from relocreduce.s
* gas/hppa/reloc/reduce2.s: Renamed from relocreduce2.s
* gas/hppa/reloc/r_no_reloc.s: Renamed from r_no_relocbug.s
Ken Raeburn [Wed, 28 Sep 1994 20:27:31 +0000 (20:27 +0000)]
(resolve_symbol_value, case O_symbol): Don't do any processing if add_symbol is
undefined or in expr_section.
(resolve_symbol_value, case O_add): For symbol plus constant-valued symbol,
convert to O_symbol and re-reduce.
(S_GET_VALUE): If symbol needs resolving, resolve it.
(indent_level): No longer static.
(print_symbol_value_1): Don't print frag address if it matches
zero_address_frag. Don't print "resolving" if already resolved. Print segment
name. Don't call print_expr_1 on an undefined symbol.
(print_expr_1): Fix whitespace before printing X_add_number.
Ian Lance Taylor [Wed, 28 Sep 1994 19:53:22 +0000 (19:53 +0000)]
* Makefile.in (arparse.c): Don't ignore errors from mv.
(sysinfo.c): Likewise. Also, depend upon arparse.c, to prevent a
parallel make from trying to build both arparse.c and sysinfo.c
simultaneously.
(nlmheader.c): Similar change.
(arparse.h): Separate target from arparse.c, so that a parallel
make does not try to build both at once. Depend upon arparse.c.
(sysinfo.h): Similar change.
Ken Raeburn [Wed, 28 Sep 1994 19:20:11 +0000 (19:20 +0000)]
(fix_new_exp): Handle O_add by creating an expression-valued symbol, and
calling fix_new_exp recursively.
(adjust_reloc_syms): If a fixup's symbol value is a sum of an undefined symbol
and a constant, fold the constant into the fixup, and refer to the undefined
symbol directly. Then process the fixup again from scratch.
(write_object_file): Before calling adjust_reloc_syms, make a pass through the
symbol list trying to resolve values.
(print_fixup): New routine, for debugging.
(write_relocs): Call bfd_install_relocation. Deleted various hacks for working
around problems with bfd_perform_relocation.
Ian Lance Taylor [Wed, 28 Sep 1994 17:41:07 +0000 (17:41 +0000)]
* config/tc-mips.c: Include subsegs.h.
(md_apply_fix): If an unconditional b or bal overflows, and we are
not assembling PIC code, replace it with a j or jal.
Ian Lance Taylor [Wed, 28 Sep 1994 16:21:32 +0000 (16:21 +0000)]
* config/default.exp: Set variables as and nm. Create tmpdir if
it does not already exist.
* ld.bootstrap/bootstrap.exp: Don't create tmpdir here.
* ld.cdtest/cdtest.exp: Likewise.
* ld.scripts/defined.exp: Likewise. Also, don't set as and nm
here. Change perror for no variables found to fail.
* ld.scripts/script.exp: New test.
* ld.scripts/script.t, ld.scripts/script.s: New files.
Jeff Law [Wed, 28 Sep 1994 06:42:24 +0000 (06:42 +0000)]
* hpread.c (struct hpread_symfile_info): Delete have_module field
and accessor macro. Minor indentation fix.
(hpread_build_psymtabs, case K_MODULE): Only start a new psymtab
and reset state variables have_name & texthigh if pst is NULL.
(hpread_build_psymtabs, case K_SRCFILE): Only reset the name of a
partial symbol table if pst is non-NULL. If pst is NULL, then
start a new psymtab.
(hpread_process_one_debug_symbol, case K_MODULE): Now empty.
(hpread_process_one_debug_symbol, case K_SRCFILE): Simplify and
correct handling of subfiles.
Ian Lance Taylor [Wed, 28 Sep 1994 00:06:27 +0000 (00:06 +0000)]
* ld.scripts: New directory.
* ld.scripts/defined.exp, ld.scripts/defined.s: New files.
* ld.scripts/defined.t: New file.
* lib/ld.exp (default_ld_simple_link): New function.
(default_ld_assemble, default_ld_nm): New functions.
* config/default.exp: Rename from unix-ld.exp.
(ld_simple_link, ld_assemble, ld_nm): New functions.
Ian Lance Taylor [Tue, 27 Sep 1994 22:41:51 +0000 (22:41 +0000)]
* ldexp.c (fold_name): For DEFINED case, don't try to look up the
name in the hash table during the first phase--the hash table does
not even exist at that point, much less have the right value.
PR 5699.
Ian Lance Taylor [Tue, 27 Sep 1994 22:25:04 +0000 (22:25 +0000)]
* Makefile.in (CC): Define.
(CXX): Move definition, change from g++ to gcc.
(EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
(RUNTEST_CC, RUNTEST_CFLAGS): Remove.
(RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
(CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
(.cc.o): Comment out.
(testdir): Remove.
(site.exp): Don't create testdir or set tmpdir.
(check): Run checks even if not running native. Use CC_FOR_TARGET
instead of RUNTEST_CC, and likewise for CXX.
(cdtest targets): Comment out.
* config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
* cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
* cdtest-main.cc, cdtest.exp: Remove.
Ian Lance Taylor [Tue, 27 Sep 1994 22:23:51 +0000 (22:23 +0000)]
* config/unix-ld.exp: Set ld using findfile.
* lib/ld.exp (default_ld_relocate): Return a value. Change format
of log messages.
(default_ld_compile): Likewise.
(default_ld_link): Likewise. Also, don't include $BFDLIB and
$LIBIBERTY in link.
* ld.bootstrap/bootstrap.exp: Rewrite.
* ld.cdtest/cdtest.exp: Rewrite.
* ld.cdtest/cdtest-foo.cc: Update from top level ld directory.
* ld.cdtest/cdtest-foo.h: Likewise.
* ld.cdtest/cdtest-main.cc: Likewise.
Ian Lance Taylor [Mon, 26 Sep 1994 22:08:57 +0000 (22:08 +0000)]
* emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
file naming problems.
* emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
* Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
(eelf32bmip.c): Rename from eelf32mipb.c. Use elf32bmip.sh.
(eelf32lmip.c): Rename from eelf32mipl.c. Use elf32lmip.sh.
* config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
* config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
Ian Lance Taylor [Mon, 26 Sep 1994 15:01:59 +0000 (15:01 +0000)]
* bfd-in.h (bfd_seek): Change declaration to not mark fp const.
* bfd-in2.h: Rebuild.
* libbfd.c (bfd_seek): Don't mark parameters const, to avoid
conflicts with declaration.
Jim Kingdon [Sun, 25 Sep 1994 13:21:22 +0000 (13:21 +0000)]
* TODO: Remove item about adding general multi-threaded stuff;
this is done.
Remove item about specifying arbitrary locations of stack frames
(this works on some machines).
Remove item about debugging functions without a frame pointer
(this works on some machines).
Remove item about re-writing macros which handle frame chaining and
frameless functions. They have been re-written at least once
since that item was written.
Remove item about gdb catching SIGINT when attached; this is done.
Remove item about having list_command not read symbols--why bother?
Peter Schauer [Sat, 24 Sep 1994 09:00:50 +0000 (09:00 +0000)]
* corelow.c (add_solib_stub): Remove copying of to_sections,
pass current_target to SOLIB_ADD. The Sep 10 change failed
if SOLIB_ADD errored out, or if SOLIB_ADD was trying to access
target memory.
* corelow.c (core_open): After reading the shared libraries,
copy the modified to_sections vector from current_target to
core_ops, so that core_close can free it later.
* config/rs6000/nm-rs6000.h, rs6000-nat.c (xcoff_relocate_core):
Pass down target parameter from SOLIB_ADD and use it instead of
directly accessing core_ops.
* solib.c: *BSD systems need <a.out.h> to be included before
<link.h>.
* i386b-nat.c: Add i386_float_info(), etc.
* config/i386/nm-nbsd.h: #define FLOAT_INFO.
* config/nm-nbsd.h: New file, for generic NetBSD native support.
* config/i386/nm-nbsd.h: Use it.
* config/sparc/nm-nbsd.h: Use it.
* config/ns32k/nm-nbsd.h: Use it.
* configure.in (i386-*-netbsd): Use config/i386/nbsd.m[ht].
(ns32k-*-netbsd): Use config/ns32k/nbsd.m[ht].
* config/i386/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/i386.
* config/ns32k/{nbsd.mh,nbsd.mh,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/ns32k.
Kung Hsu [Thu, 22 Sep 1994 20:43:39 +0000 (20:43 +0000)]
Modified Files:
ChangeLog ecoff.c read.c
* ecoff.c (ecoff_generate_asm_lineno): check if
current_stabs_filename is NULL before strcmp.
* read.c (read_a_source_file): fxi a bug in generate_asm_lineno
checking.
Ken Raeburn [Wed, 21 Sep 1994 22:21:25 +0000 (22:21 +0000)]
Combine two existing mechanisms for copying symbol attributes, and fix a bug:
* symbols.c (copy_symbol_attributes): New function. Copies BFD symbol flags
and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
(resolve_symbol_value, case O_symbol): Call it, if X_add_number is zero. Don't
call obj_frob_forward_symbol.
* read.c (pseudo_set): Call copy_symbol_attributes, but only if X_add_number is
zero.
* config/obj-elf.h (obj_frob_forward_symbol): Deleted.
Ian Lance Taylor [Wed, 21 Sep 1994 17:43:17 +0000 (17:43 +0000)]
* config/tc-ppc.c (ppc_current_block): New static variable.
(ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
ppc_current_block. Don't move around any stab symbol, just those
for common symbols.
(ppc_bs): Set ppc_current_block.
(ppc_es): Clear ppc_current_block.
(ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
from the csect of the enclosing block.
PR 5658.
Ian Lance Taylor [Wed, 21 Sep 1994 17:03:04 +0000 (17:03 +0000)]
* config/tc-mips.c (insns_since_cache_access): Remove.
(append_insn): Remove setting of insns_since_cache_access, and
special 4600 handling; it turns out not to be required.
PR 5664.
Ian Lance Taylor [Tue, 20 Sep 1994 21:16:11 +0000 (21:16 +0000)]
* ld.h (args_type): Add new field endian.
* lexsup.c (parse_args): Handle -EB and -EL by setting
command_line.endian.
* ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
* ldlang.c (lang_add_output_format): Add arguments big and little.
If command_line.endian is set, use it to select big or little
rather than the default. Changed all callers.
* ldlang.h (lang_add_output_format): Update declaration.
* emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT.
* emulparams/elf32mipl.sh: Likewise.
* emulparams/mipsbig.sh: Likewise.
* emulparams/mipsbsd.sh: Likewise.
* emulparams/mipsidt.sh: Likewise.
* emulparams/mipsidtl.sh: Likewise.
* emulparams/mipslit.sh: Likewise.
* scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT if not already defined. Pass them to
OUTPUT_FORMAT.
* scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
* scripttempl/mipsbsd.sc: Likewise.