Jeff Law [Fri, 3 Dec 1993 19:20:30 +0000 (19:20 +0000)]
Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
* tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
be either 0 or 2 (no static link or static link required). Always
assume no static link.
Jeff Law [Fri, 3 Dec 1993 18:57:28 +0000 (18:57 +0000)]
* config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
(md_apply_fix_1): Rename to md_apply_fix. Fix argument decls.
Fix comments in various places. Always return a value.
Avoid dereferencing a NULL fx_addsy.
(hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
Ken Raeburn [Fri, 3 Dec 1993 03:10:08 +0000 (03:10 +0000)]
Lots of changes for:
- sparc[lite]-coff as well as sparc-lynx
- producing coff (including debug info) under BFD_ASSEMBLER option
- cleanup of cpu-specific code in non-cpu-specific files
(especially write.c)
- providing common code to avoid duplication in cpu-specific files
(specifically, md_number_to_chars)
- stylistic changes & misc cleanup
================
* config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be dependent on
howto fields, not on format flavour.
* struc-symbol.h (struct symbol): New fields sy_obj and sy_tc, defined as types
OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those macros are defined.
* config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
(TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
(sy_tc, sy_obj): Define so that the fields look like they used to, until all
references get changed.
* write.c (fixup_segment): Lots of variables no longer register. Reordered
some code for easier reading.
* config/obj-coff.c (obj_coff_dim): dim_index no longer register. Deleted
superfluous return statement.
(obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type, obj_coff_val,
tag_init, tag_insert): Deleted superfluous return statement.
(align, obj_coff_section): Deleted debugging printfs.
* config/tc-i386.c (md_assemble): Discard some register decls. Use assignment
rather than memcpy to copy template.
(op_hash, reg_hash, prefix_hash): Default C initialization of statics is
sufficient.
* config/tc-sparc.c (print_insn): Array Reloc is now const, and points to
const.
* config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if TE_LYNX; use
coff-sparc otherwise.
[USE_NATIVE_HEADERS]: Delete this code; it isn't used.
* write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined, before processing
a fixup. Call TC_ADJUST_RELOC_COUNT just before returning. Remove some
i960-coff-specific code.
(TC_ADJUST_RELOC_COUNT): Default to doing nothing.
* config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
(i960_validate_fix): Declare.
(TC_VALIDATE_FIX): Define.
* config/tc-i960.c (i960_validate_fix): New function.
* write.c (number_to_chars_littleendian): New function. Write out bytes in
little endian order, doing size and range checking.
(number_to_chars_bigendian): New function, similar.
* write.h: Declare them.
* config/tc-*.c (md_number_to_chars): Use them.
* config/tc-vax.c (md_apply_fix): Ditto.
* config/tc-i386.c (md_apply_fix): Ditto.
* config/obj-coff.c: Rearranged code for handling line number data.
(line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case, since the
usage is different from non-BFD_ASSEMBLER case.
(in_function, clear_function, set_function): New macros, to combine some of the
functionality implemented in differnet ways in BFD_ASSEMBLER and non-... code.
Used in other functions that used to check function_lineoff &c.
(obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER, one for not.
Non-BFD_ASSEMBLER version now has temporary variable to contain char* pointer
pointed to by char** argument. Always follow CROSS_COMPILE code; easier to
read that way.
(obj_coff_ln): Don't call add_lineno or c_line_new if appline is set.
(obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for ".bf", it's
been done elsewhere.
(coff_frob_symbol): If ilne number data is pending, call add_linesym to flush it.
(coff_frob_file): Don't do that here.
* config/obj-coff.h (coff_frob_file): Declare.
(obj_frob_file): Define, to call it.
* config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
md_estimate_size_before_relax: Define them as macros calling as_fatal.
* config/tc-sparc.c: Don't define them as functions.
* ecoff.c: Added various casts for 32/64 bit cross targeting.
(ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
section so that the linker ignores it.
* ecofflink.c: Added various casts for 32/64 bit cross targeting.
(ecoff_add_bytes): Changed need argument to size_t.
(bfd_ecoff_debug_link_other): Check return value of
ecoff_add_string.
* libnlm.h (struct nlm_obj_tdata): New field backend_data.
(nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
(struct nlm_backend_data): New field no_uninitialized_data.
(nlm_no_uninitialized_data): New accessor macro.
* nlmcode.h (nlm_compute_section_file_positions): Handle
no_uninitialized_data.
(nlm_external_reloc_compare): Sort relocs by address for a
particular symbol, to make the sort more stable.
(nlm_write_object_contents): Cast the arguments to qsort. Get the
value of a debugging symbol the same way we get the value of a
normal symbol.
* nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
Set no_uninitialized_data to true.
* nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
(nlm32_sparc_backend): Set no_uninitialized_data field false.
* nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
before filling it in.
Jeff Law [Thu, 2 Dec 1993 05:48:46 +0000 (05:48 +0000)]
* som.c (som_section_type, som_decode_symcalss): New functions.
(som_get_symbol_info): Use them.
(som_slurp_symbol_table): Set the section of common and undefined
symbols correctly.
* libnlm.h (struct nlm_backend_data): New fields
optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
nlm_set_public_section, nlm_get_public_offset. Removed unused
nlm_write_reloc field. Changed nlm_write_import to remove
unnecessary symbol argument. Renamed nlm_write_externals to
nlm_write_external, and changed cound argument from bfd_vma to
bfd_size_type.
(nlm_optional_prefix_size, nlm_backend_object_p_func,
nlm_write_prefix_func, nlm_set_public_section_func,
nlm_get_public_offset_func): New accessor macros.
(nlm_write_reloc_func): Removed.
(nlm_write_external_func): Adjusted for field renaming.
* nlm32-i386.c (nlm_i386_write_import): Renamed from
nlm_i386_write_reloc. Removed old nlm_i386_write_import which
just called old nlm_i386_write_reloc.
(nlm_i386_write_external): Renamed from nlm_i386_write_externals.
Declared. Changed second argument from bfd_vma to bfd_size_type.
(nlm32_i386_backend): Adjusted for changes to fields and names.
* nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
ifdeffed out code.
(nlm_sparc_write_import): Removed second argument.
(nlm_sparc_write_external): Renamed from
nlm_sparc_write_externals. Changed second argument from bfd_vma
to bfd_size_type.
(nlm32_sparc_backend): Adjusted for changes to fields and names.
* nlmcode.h: Removed some unused code.
(nlm_object_p): Don't destroy tdata pointer. Call
backend_object_p function if it exists.
(nlm_slurp_symbol_table): Removed unused variable rcount. Call
set_public_section_func if it exists instead of checking
NLM_HIBIT.
(nlm_compute_section_file_positions): Account for
optional_prefix_size.
(nlm_write_object_contents): Account for optional_prefix_size.
Removed useless variable write_reloc_func. Changed declaration
and call of write_import_func. Call write_prefix_func if it
exists. Removed unused variables len and temp. Call
get_public_offset_func if it exists rather than setting NLM_HIBIT.
* ldgram.y (OPTION_call_shared, OPTION_non_shared): New tokens.
(command_line_option): Accept and ignore them (for now).
* ldlex.l (<COMMAND>): Handle -non_shared and -call_shared.
Ian Lance Taylor [Tue, 30 Nov 1993 21:56:40 +0000 (21:56 +0000)]
* irix-core.c: New file for Irix 4 and Irix 5 core support.
Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
* coff-mips.c: Irix 4 core file support moved to irix-core.c.
* targets.c: If IRIX_CORE defined, include irix_core_vec in
target_vector.
* config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
(HDEPFILES): Define to be irix-core.o.
* config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
(HDEPFILES): Define to be irix-core.o.
* Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
sco-core.o, which no longer exists.
(CFILES): Added all *-core.c files.
Rebuilt dependencies.
Jeff Law [Tue, 30 Nov 1993 21:43:15 +0000 (21:43 +0000)]
* write.c (TC_FORCE_RELOCATION): Provide a default definition.
(fixup_segment): Allow the target machine to specify that a
relocation must be generated for a particular fixup. Remove
#ifndef TC_HPPA hack.
* config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
* config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
be NULL. Only fixup_segment is supposed to do that.
(hppa_force_relocation): New function.
Roland Pesch [Mon, 29 Nov 1993 02:43:47 +0000 (02:43 +0000)]
* gdb.texinfo (New Features): mention threads.
(Summary, C): fix xrefs in newly contributed text.
(Threads): index entries, clarifications, example
(passim): minor typos fixed, phrasing improvements
* remote.texi (Bootstrapping): rephrase text on ^C and add index
entries; (Server): explain use of gdbserver w/real-time systems,
add example of conflicting TCP port; (MIPS Remote) break up
running text into table, highlighting commands, and add example.
Jeff Law [Sun, 28 Nov 1993 20:15:21 +0000 (20:15 +0000)]
* config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
exists before trying to peek at its name.
(pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s
for testcase.
(pa_align_subseg): Delete unused/unwanted function.
Roland Pesch [Wed, 24 Nov 1993 22:18:27 +0000 (22:18 +0000)]
* refcard.tex: avoid bad linebreaks even when REFEDITS=psrc.sed
(these probably crept w/minor changes in spacing when A4 stuff
updated recently); update copyright date consistently
* cygref.tex: bring up to date with refcard.tex
Ian Lance Taylor [Wed, 24 Nov 1993 07:42:03 +0000 (07:42 +0000)]
* ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
Changed to not actually build the external symbol information, as
that is now done by the ECOFF back end.
(ecoff_build_debug): Changed accordingly.
* ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function
called by ecoff_setup_ext.
* config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
set corresponding pointer to NULL. Don't set raw_size and
raw_syments.
(obj_ecoff_set_sym_index): Removed.
(obj_ecoff_set_ext): New function.
* config/obj-ecoff.h (obj_set_sym_index): Don't define.
(obj_ecoff_set_sym_index): Don't declare.
* config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
elf_set_index): New functions used for ECOFF_DEBUGGING.
(elf_frob_file): Reworked ECOFF debug generation to use
new functions in bfd/ecofflink.c.
Ian Lance Taylor [Wed, 24 Nov 1993 07:21:28 +0000 (07:21 +0000)]
* ecofflink.c: New file to hold ECOFF debug information linking
routines.
* ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
ecofflink.c.
(ecoff_get_extr, ecoff_set_index): New functions.
(ecoff_slurp_symbolic_info): Don't save raw_size.
(ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
(ecoff_compute_section_file_positions): Don't set EXEC_P just
because there is a start address.
(ecoff_write_object_contents): Handle external symbols here. Use
ecofflink.c functions to write out debugging information.
* elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
mips_elf_set_index): New functions.
(mips_elf_seclet_link): Discard empty sections, the .options
section and .gptab sections. Handle linking .mdebug section.
* libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
* libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
* bfd-in.h: Added prototypes for routines in ecofflink.c (some are
called by gas, so they are public).
* bfd-in2.h: Rebuilt.
* Makefile.in (BFD_LIBS): Added ecofflink.o.
(CFILES): Added ecofflink.c.
(ecofflink.o): New target. Rebuilt dependencies.
Fred Fish [Mon, 22 Nov 1993 19:08:33 +0000 (19:08 +0000)]
* gdb/config/m88k/delta88.mh (NATDEPFILES): Added corelow.o and
coredep.o to this list.
* gdb/m88k-nat.c (m88k_register_u_addr): Avoid error when passed
the number for an M88110 extended register by just returning the
address of r0.
Fred Fish [Mon, 22 Nov 1993 19:01:55 +0000 (19:01 +0000)]
* bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
* bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
* bfd/ptrace-core.c: New file for dealing with core files with
start with the ptrace_user structure found on BCS compliant systems.
* bfd/targets.c (ptrace_core_vec): New vector.
Jeff Law [Mon, 22 Nov 1993 10:37:02 +0000 (10:37 +0000)]
* Minimal support for reading SOM fixup streams. Allows
objdump -r to do something reasonable.
* som.c (som_get_reloc_upper_bound): Implement.
(som_canonicalize_reloc): Implement.
(som_set_reloc_info, som_slurp_reloc_table): New functions.