Ian Lance Taylor [Tue, 11 Mar 1997 20:10:20 +0000 (20:10 +0000)]
* config/tc-m88k.c (m88k_do_align): Don't use a special nop
alignment if a zero fill pattern was explicitly specified.
* config/tc-sh.c (sh_do_align): Likewise.
Mark Alexander [Tue, 11 Mar 1997 15:49:20 +0000 (15:49 +0000)]
First cut at supporting simulators in gdbserver:
* configure, configure.in: Allow gdbserver to be configured
for cross-target environments.
* gdbserver/Makefile.in: Add simulator support.
* gdbserver/configure.in: Eliminate assumption that host == target.
Simplify using gdb/configure.tgt and gdb/configure.host.
Fix other minor configuration errors.
* gdbserver/low-sparc.c: Fix compile error.
* gdbserver/remote-utils.c: Eliminate assumption that registers
and addresses are four bytes. Fix minor compile errors and warnings.
* gdbserver/server.c: Rewrite numerous instances of identical code
for starting inferior processes to call new function start_inferior.
Eliminate assumption that registers and addresses are four bytes.
* gdbserver/server.h: Add missing prototypes to eliminate compiler
warnings.
* gdbserver/low-sim.c: New file to mate gdbserver with simulators.
* config/mips/vr5000.mt: Add Vr5000 simulator support to gdbserver.
* config/i386/linux.mh: Eliminate gdbserver support as a first step
in moving such support from host to target makefile fragments.
* config/i386/linux.mt: Move gdbserver support here from linux.mh.
Ian Lance Taylor [Tue, 11 Mar 1997 06:46:46 +0000 (06:46 +0000)]
From Eric Youngdale <[email protected]>:
* elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define.
* elf.c (bfd_elf_print_symbol): Correct errors in last change.
* elflink.h (elf_link_add_object_symbols): Handle cases in which a
versioned symbol appears in both a regular and a shared object.
(elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when
appropriate. Improve error message.
(struct elf_outext_info): Rename from elf_finfo_failed. Change
all uses. Add localsyms field.
(elf_bfd_final_link): When generating a shared library, call
elf_link_output_extsym to output all local symbols.
(elf_link_output_extsym): Handle symbols which were forced to
become local.
Ian Lance Taylor [Tue, 11 Mar 1997 06:14:44 +0000 (06:14 +0000)]
From Eric Youngdale <[email protected]>:
* config/obj-elf.c (obj_elf_symver): Check for duplicate or
illegal symbol version names.
(elf_frob_symbol): Check for external default versions.
* symtab.h (INIT_SAL): New macro to initialize symtab_and_line,
to insure consistant initialization of unused fields to zero.
* symtab.c: replace initializations of sals with new macro INIT_SAL.
* breakpoint.c: ditto.
* infrun.c: ditto.
* infcmd.c: ditto.
* source.c: add call to INIT_SAL macro.
Ian Lance Taylor [Mon, 10 Mar 1997 04:53:55 +0000 (04:53 +0000)]
From Eric Youngdale <[email protected]>:
* config/obj-elf.h (struct elf_obj_sy): Define.
(OBJ_SYMFIELD_TYPE): Define to elf_obj_sy struct. Change all
users.
* config/obj-elf.c (obj_elf_symver): Just record the name.
(obj_symbol_new_hook): Initialized versioned_name field.
(elf_frob_symbol): If there is a versioned_name, either rename the
symbol, or add an alias with that name.
Ian Lance Taylor [Mon, 10 Mar 1997 04:43:42 +0000 (04:43 +0000)]
From Eric Youngdale <[email protected]>:
* elf-bfd.h (elf_symbol_type): Add version field.
* elfcode.h (elf_slurp_symbol_table): Set version field.
* elflink.h (elf_link_add_object_symbols): When creating an
indirect symbol for a default version symbol, set DEF_DYNAMIC if
appropriate. Set up an indirection from the nondefault version of
the symbol as well.
(NAME(bfd_elf,size_dynamic_sections)): Call
elf_link_assign_sym_version before checking whether there are any
versions. Always record the version name as a dynamic symbol.
Initialize counters.
(elf_link_assign_sym_version): After finding a version, see if a
symbol should be forced to local scope. Create a new version
definition if appropriate.
(elf_link_output_extsym): Correct indirect symbol handling.
* elf.c (bfd_elf_print_symbol): Print version information.
(bfd_section_from_shdr): Turn version sections into BFD sections.
(elf_fake_sections): Only copy cverdefs and cverrefs into sh_info
if sh_info is not already set.
(_bfd_elf_copy_private_section_data): Copy sh_info for version
sections.
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Tell
_bfd_stringtab_add to copy the name into permanent memory if
appropriate.
Fred Fish [Sat, 8 Mar 1997 16:23:57 +0000 (16:23 +0000)]
* scripttempl/tic80coff.sc (ENTRY): Entry symbol is __start
rather than _start.
(__edata): Define this rather than "edata".
(__end): Define this rather than "end".
* coffcode.h (bfd_coff_backend_data): Change
_bfd_coff_compute_section_file_positions to return a boolean
value. Change all callers.
(coff_compute_section_file_positions): Change return type to
boolean. If the size of the last section changed, then output a
zero byte at the end of the file.
* libcoff.h: Rebuild.
PR 11806.
* xcofflink.c (_bfd_xcoff_bfd_final_link): Always allocate space
for at least 6 output symbols.
(xcoff_write_global_symbol): When emitting TOC entry relocs, also
emit a TC csect to represent the space they take up. For an XO
symbol, just emit a reference, not a csect.
PR 11793.
Andrew Cagney [Fri, 7 Mar 1997 09:15:56 +0000 (09:15 +0000)]
New files:
sim-io - interface to external IO
sim-events - event queue management
sim-core - hardware memory model (device
support optional but comming
soon).
Jeff Law [Thu, 6 Mar 1997 21:17:49 +0000 (21:17 +0000)]
* elf32-mn10300.c (mn10300_elf_final_link_relocate): New function.
(mn10300_elf_relocate_section): Likewise.
(elf_backend_relocate_section): Define.
New style linker for the mn10300.
Jeff Law [Thu, 6 Mar 1997 20:58:22 +0000 (20:58 +0000)]
* config/tc-mn10300.c (md_assemble): Don't use any MN10300 specific
relocs anymore. Tweak fx_offset for pc-relative relocs.
Cleanup/simplification of mn10300 port. Bring over changes from mn10200 port.
Jeff Law [Thu, 6 Mar 1997 20:55:44 +0000 (20:55 +0000)]
* elf32-mn10300.c (reloc_type): Remove PCREL{8,16,32}_{1,2}BYTE
relocs. Replace them with generic PCREL_{8,16,32} relocs.
(elf32_mn10300_howto_table): Likewise.
(elf32_mn10300_reloc_map): Likewise.
(bfd_elf32_mn10300_reloc): Delete unused function.
Simplify the mn10300 port. Stuff I noticed while working on the mn10200.
Fred Fish [Thu, 6 Mar 1997 19:53:29 +0000 (19:53 +0000)]
start-sanitize-tic80
* coff-tic80.c (rtype2howto): If passed a relocation type we don't
understand, just set the howto field to NULL, and the caller will
print an appropriate error message.
end-sanitize-tic80
* coffcode.h (coff_slurp_reloc_table): Pull duplicate declarations and
code fragment out of both legs of #ifdef RELOC_PROCESSING ... #endif
block. Use NULL for initializations of "ptr" rather than bare 0.
* coff-h8300.c: Fix typo in comment.
* coff-h8500.c: Ditto.
* coff-w65.c: Ditto
* coff-z8k.c: Ditto.
Ulrich Drepper [Mon, 3 Mar 1997 21:32:39 +0000 (21:32 +0000)]
(elf_link_add_object_symbols): Use correct sh_size
entry for reading verdef records.
Use correct braces for computing increments of extverdaux and
exteverdef record pointers.
Ian Lance Taylor [Fri, 28 Feb 1997 22:16:45 +0000 (22:16 +0000)]
* targets.c (bfd_default_vector): Make non-const.
(find_target): New static function, broken out of
bfd_find_target.
(bfd_set_default_target): New function.
(bfd_find_target): Call find_target. When defaulting, use
bfd_default_vector[0] if it is not NULL.
* libbfd-in.h (bfd_default_vector): Adjust declaration.
* bfd-in2.h, libbfd.h: Rebuild.
Ian Lance Taylor [Fri, 28 Feb 1997 20:10:49 +0000 (20:10 +0000)]
* syms.c (bfd_is_local_label): Return false if the symbol has no
name.
* coff-i960.c (coff_i960_is_local_label_name): New function.
(coff_bfd_is_local_label_name): Define.
* coff-m68k.c (m68k_coff_is_local_label_name): New function.
(coff_bfd_is_local_label_name): Define.
* coff-rs6000.c (xcoff_is_local_label_name): New function.
(coff_bfd_is_local_label_name): Define.
* elf.c (_bfd_elf_is_local_label_name): Treat symbols beginning
with .. or _.L_ as local.
* elf32-i386.c (elf_i386_is_local_label_name): New function.
(bfd_elf32_bfd_is_local_label_name): Define.
* evax-alpha.c (evax_bfd_is_local_label_name): Treat symbols
beginning with $ as local.
Ian Lance Taylor [Fri, 28 Feb 1997 04:11:09 +0000 (04:11 +0000)]
* elfxx-target.h (bfd_elfNN_bfd_is_local_label_name): Define as
_bfd_elf_is_local_label_name if not already defined.
* elf.c (_bfd_elf_is_local_label_name): New function.
* elf-bfd.h (_bfd_elf_is_local_label_name): Declare.
Mark Alexander [Fri, 28 Feb 1997 03:00:51 +0000 (03:00 +0000)]
* mips-tdep.c (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR):
New macros for testing, setting, and clearing bit 0 of addresses.
Change numerous bits of code where bit 0 was being manipulated
to use these macros.
Ian Lance Taylor [Fri, 28 Feb 1997 02:07:54 +0000 (02:07 +0000)]
* targets.c (BFD_JUMP_TABLE_SYMBOLS): Change _bfd_is_local_label
to _bfd_is_local_label_name.
(bfd_target): Likewise.
* syms.c (bfd_is_local_label): Define as function, not macro.
(bfd_is_local_name): Define.
* libbfd.c (bfd_generic_is_local_label_name): Rename from
bfd_generic_is_local_label, and take a string rather than a
symbol.
* libbfd-in.h (_bfd_nosymbols_bfd_is_local_label): Don't define.
(_bfd_nosymbols_bfd_is_local_label_name): Define.
(bfd_generic_is_local_label): Don't declare.
(bfd_generic_is_local_label_name): Declare.
* bfd-in2.h, libbfd.h: Rebuild.
* All backends: Change local_label to local_label_name.
Ian Lance Taylor [Thu, 27 Feb 1997 23:38:19 +0000 (23:38 +0000)]
* elf32-mips.c (struct mips_got_info): Add assigned_gotno field.
(mips_elf_relocate_got_local): Change return type to boolean.
Don't assume that the first zero entry is unassigned; instead, use
assigned_gotno.
(mips_elf_relocate_section): Check return value of
mips_elf_relocate_got_local.
(mips_elf_create_got_section): Initialize assigned_gotno field.
Ian Lance Taylor [Thu, 27 Feb 1997 22:48:47 +0000 (22:48 +0000)]
* stabs.texinfo (String Field): Document type number pairs here,
instead of in the Sun specific section.
(Include Files): The GNU linker supports the N_BINCL
optimization. Clarify the N_BINCL value, and what it is used
for.
(Procedures): Document N_FUN with an empty string to mark the end
of a function.
(Typedefs): Mention that Sun compilers may use N_GSYM for a type.
(Sun Differences): Remove this node, as the information is now
elsewhere in the main document.
(Stab Section Basics): Mention that the GNU linker may optimize
stabs and remove the leading N_UNDF symbol.
Mark Alexander [Thu, 27 Feb 1997 21:45:29 +0000 (21:45 +0000)]
* remote-mips.c: Remove form feeds (^L) from source.
(mips_initialize): LSI PMON doesn't support 'set regsize' command.
(pmon_wait): Don't need to exit and re-enter debug mode on LSI
PMON after a continue; it causes target program misbehavior.
(mips_fetch_register): Don't fetch unsupported registers; this
cuts down on wasted serial traffic.
Ian Lance Taylor [Thu, 27 Feb 1997 18:30:47 +0000 (18:30 +0000)]
* gasp.c (hash_add_to_string_table): Correct misspelling in error
message, and add newline.
(process_file): Don't process assignments in the label if this is
a equ or assign pseudo-op.
(process_pseudo_op): Swap first argument to do_assign for K_ASSIGN
and K_EQU, to match documentation.
Stu Grossman [Thu, 27 Feb 1997 18:09:22 +0000 (18:09 +0000)]
* configure.in configure (HPUX/OSF thread support): Enable this
only when running GCC, since HP's thread header files use ANSI C
which is not supported by their default compiler.
Ian Lance Taylor [Thu, 27 Feb 1997 17:49:00 +0000 (17:49 +0000)]
* configure.in: Define BSD44_FORMAT if the target looks like a
BSD4.4 derived system.
* configure: Rebuild.
* Makefile.in (.c.o): Add @DEFS@.
* gmon_io.c (gmon_out_read): In BSD44_FORMAT code, get profrate
from profrate field, not version field.