* nlmconv.c (total_bss_size): Removed.
(main): Set the bss vma to always follow the data section. Move
symbols into new sections, and adjust values by output_offset.
(setup_sections): Don't copy all sections, but instead point all
text sections to .text, all data sections to .data, and all bss
sections to .bss.
(copy_sections): Adjust accordingly.
Roland Pesch [Fri, 3 Sep 1993 23:48:59 +0000 (23:48 +0000)]
* ld.texinfo: re-enable included config file; conditionalize doc
for -oformat to interact properly with SingleFormat doc config
var; rename @up/@down to @raisesections/@lowersections.
Reverted previous change, and added this one instead:
* config/tc-mips.c (macro_build): Accept 'z', and ignore it.
(macro): Use "z,s,t" for div instructions to match corresponding
change in opcode table.
(mips_ip): Added 'z'--must be zero register.
* mips-opc.c: Change div machine instruction to be z,s,t rather
than s,t. Change div macro to be d,v,t rather than d,s,t.
Likewise for divu, ddiv, ddivu. Added z,s,t case for drem, dremu,
rem and remu which generates only the corresponding div
instruction. This is for compatibility with the MIPS assembler,
which only generates the simple machine instruction when an
explicit destination of $0 is used.
* mips-dis.c (print_insn_arg): Handle 'z' (always register zero).
Only build nlmconv if configured for a NetWare target.
* configure.in: If we have some *-*-netware* target, or are using
all targets, set BUILD_NLMCONV to $(NLMCONV_PROG) in Makefile.
* Makefile.in (PROGS): Use $(BUILD_NLMCONV) rather than
$(NLMCONV_PROG).
* mips-opc.c: Move div machine instruction after macro forms.
Change d,s,t form to d,v,t. Likewise for divu, ddiv and ddivu.
This is for compatibility with the MIPS assembler, which only
generates the simple machine instruction when an explicit
destination of $0 is used.
Jim Kingdon [Thu, 2 Sep 1993 05:57:33 +0000 (05:57 +0000)]
* config/m88k/xm-dgux.h: Renamed from config/m88k/xm-m88k.h.
* config/m88k/m88k.mh: Use xm-dgux.h.
* config/m88k/xm-m88k.h: New file, with HOST_BYTE_ORDER,
MAKEVA_END and MAKEVA_ARG.
* config/m88k/xm-*.h: Include m88k/xm-m88k.h.
* printcmd.c: Remove __INT_VARARGS_H code; now in xm-m88k.h.
Jim Kingdon [Thu, 2 Sep 1993 05:35:49 +0000 (05:35 +0000)]
* config/m88k/xm-dgux.h: Renamed from config/m88k/xm-m88k.h.
* config/m88k/xm-m88k.h: New file, with HOST_BYTE_ORDER,
MAKEVA_END and MAKEVA_ARG.
* config/m88k/xm-*.h: Include m88k/xm-m88k.h.
* printcmd.c: Remove __INT_VARARGS_H code; now in xm-m88k.h.
Jim Kingdon [Thu, 2 Sep 1993 00:24:46 +0000 (00:24 +0000)]
* symtab.c (find_pc_line, find_line_common),
symtab.h (struct linetable), xcoffread.c (arrange_linetable):
Revise comments re linetable sorting.
* buildsym.c (compare_line_numbers): Sort by pc, not by line.
* coffread.c: Tell end_symtab to sort the line table.
* coffread.c: Re-work a lot of the coff-specific stuff to use stuff
in buildsym.c. This includes coff_finish_block, coff_context_stack,
coff_local_symbols, coff_file_symbols, coff_global_symbols,
coff_end_symtab and coff_add_symbol_to_list.
(read_enum_type): Deal with it now that we have a "struct pending"
not a "struct coff_pending".
Jim Kingdon [Wed, 1 Sep 1993 23:43:07 +0000 (23:43 +0000)]
* coffread.c: Re-work a lot of the coff-specific stuff to use stuff
in buildsym.c. This includes coff_finish_block, coff_context_stack,
coff_local_symbols, coff_file_symbols, coff_global_symbols,
coff_end_symtab and coff_add_symbol_to_list.
(read_enum_type): Deal with it now that we have a "struct pending"
not a "struct coff_pending".
Jim Kingdon [Wed, 1 Sep 1993 23:11:30 +0000 (23:11 +0000)]
* coffread.c: Re-work a lot of the coff-specific stuff to use stuff
in buildsym.c. This includes coff_finish_block, coff_context_stack,
coff_local_symbols, coff_file_symbols, coff_global_symbols,
coff_end_symtab and coff_add_symbol_to_list.
(read_enum_type): Deal with it now that we have a "struct pending"
not a "struct coff_pending".
Jim Kingdon [Wed, 1 Sep 1993 22:15:01 +0000 (22:15 +0000)]
* remote.c: Add comment explaining why dcache is disabled.
(remote_fetch_word, remote_store_word): Make static and #if 0.
They are not called from anywhere.
* symtab.c (find_pc_line, find_line_common),
symtab.h (struct linetable), xcoffread.c (arrange_linetable):
Revise comments re linetable sorting.
* buildsym.c (compare_line_numbers): Sort by pc, not by line.
* coffread.c: Tell end_symtab to sort the line table.
Jim Kingdon [Wed, 1 Sep 1993 22:10:37 +0000 (22:10 +0000)]
* remote.c: Add comment explaining why dcache is disabled.
(remote_fetch_word, remote_store_word): Make static and #if 0.
They are not called from anywhere.
Jim Kingdon [Wed, 1 Sep 1993 22:08:13 +0000 (22:08 +0000)]
* symtab.c (find_pc_line, find_line_common),
symtab.h (struct linetable), xcoffread.c (arrange_linetable):
Revise comments re linetable sorting.
* buildsym.c (compare_line_numbers): Sort by pc, not by line.
* coffread.c: Tell end_symtab to sort the line table.
Jim Kingdon [Wed, 1 Sep 1993 21:15:27 +0000 (21:15 +0000)]
* symtab.h (struct linetable), xcoffread.c (arrange_linetable):
Revise comments re linetable sorting.
* buildsym.c (compare_line_numbers): Sort by pc, not by line.
* coffread.c: Tell end_symtab to sort the line table.
* coffread.c: Re-work a lot of the coff-specific stuff to use stuff
in buildsym.c. This includes coff_finish_block, coff_context_stack,
coff_local_symbols, coff_file_symbols, coff_global_symbols,
coff_end_symtab and coff_add_symbol_to_list.
(read_enum_type): Deal with it now that we have a "struct pending"
not a "struct coff_pending".
Peter Schauer [Wed, 1 Sep 1993 12:10:55 +0000 (12:10 +0000)]
* mipsread.c (parse_partial_symbols): Use language from FDR if it
is unambigous. Patch from [email protected] (Paul Flinders).
* mipsread.c (ecoff_symfile_info): New struct to hold the global
pending_list.
* mipsread.c (mipscoff_symfile_init, parse_partial_symbols):
Allocate the global pending list and link it to the objfile.
* mipsread.c (is_pending_symbol, add_pending): Use global pending
list from objfile. Allocate pending list entries from the
psymbol_obstack.
* mipsread.c (free_pending): Remove. The pending list is now
freed when the psymbol_obstack is freed.
* mipsread.c (psymtab_to_symtab1): Remove pending list allocation,
the global pending list is used now.
* mipsread.c (parse_partial_symbols): Skip only the first
file indirect entry when building the dependency list.
Ian Lance Taylor [Tue, 31 Aug 1993 17:47:58 +0000 (17:47 +0000)]
* nlmconv.c (main): Force creation of .bss section. Set up the
sections before looking at the symbols. Move all common symbols
into .bss section. Automatically define _edata and _end. Only
export symbols in the export list, with multiple prefixes if
necessary. Warn if no version. Always create extended header.
Set date automatically if not already set.
(setup_sections): Count size of bss sections.
(mangle_relocs, i386_mangle_relocs): Accept section argument, and
take reloc_count as a changeable pointer; changed callers.
(i386_mangle_relocs): Remove PC relative relocs within a section,
as they require no adjustment.
* nlmheader.y: Fixed memory allocation throughout: token STRING is
now allocated on the heap, and freed if not needed. Null
terminated copyright message. Accept version with only two
strings.
(symbol_list_opt): New nonterminal, either symbol_list or empty.
(symbol_list): Use left recursion to avoid overflowing parser
stack.
(yylex): Rearranged beginning of line check. Accept quoted
strings using single quotes. End generic argument at comment
character or parentheses.
(string_list_append): Fixed.
(string_list_append1): New function.
Ian Lance Taylor [Tue, 31 Aug 1993 17:28:03 +0000 (17:28 +0000)]
* nlmcode.h (nlm_object_p): Set HAS_SYMS if there are external
references.
(nlm_swap_auxiliary_headers_{in,out}): The copyright length is
only one byte.
(nlm_get_symtab_upper_bound): Include debugging symbols in symbol
count.
(nlm_slurp_symbol_table): Make symlength unsigned. Read debugging
symbols as BFD local symbols.
(nlm_write_object_contents): Don't bother writing out exported
symbols more than once; they now appear in the symbol table more
than once (with and without a prefix) if necessary. Set offset
values to be non-zero as NLMLINK does.
Jim Kingdon [Tue, 31 Aug 1993 15:44:44 +0000 (15:44 +0000)]
* c-typeprint.c (c_print_type_base): Treat show = 0 just like
show < 0. The only case where we had been distinguishing is that
show = 0 used to print "struct " or "enum " instead of
"struct {...}" or "enum {...}" which seems clearly wrong.
Rob Savoye [Tue, 31 Aug 1993 00:01:56 +0000 (00:01 +0000)]
* gdb.t01/run.exp: Add match for VxWorks, cause I/O comes out the
console, not GDB.
* config/mt-*: Added default values for RUNTEST and RUNTESTFLAGS so
cross testing works better with "make check"
* config/unix-gdb: Use default procedures for exit and version.
* config/vx-gdb.exp: Cleaned up and massaged back to working order
with the newest VxWorks.
Peter Schauer [Mon, 30 Aug 1993 19:50:47 +0000 (19:50 +0000)]
* stabsread.h, dbxread.c (end_psymtab): Return NULL if the psymtab
was empty and thrown away.
* mipsread.c (parse_partial_symbols): Do not add empty psymtabs to
dependency list, skip self dependencies.
* mipsread.c (parse_fdr): Removed, obsolete.
* mipsread.c (parse_lines): Check for cbLine being zero, not
cbLineOffset.
* mipsread.c (struct symloc): Add pst_language.
* mipsread.c (parse_partial_symbols): Set up proper language for header
files, save it in pst_language for psymtab_to_symtab_1.
* mipsread.c (psymtab_to_symtab_1): Use pst_language.