Ian Lance Taylor [Mon, 21 Feb 1994 17:56:38 +0000 (17:56 +0000)]
* coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
operation to avoid OSF 1.3 cc bug.
* ecoff.c (ecoff_write_object_contents): Make text_size, data_size
and bss_size bfd_size_type instead of unsigned long. Make
text_start and data_start bfd_vma instead of unsigned long.
* ecofflink.c (ecoff_add_string): Remove incorrect cast of return
value.
Ian Lance Taylor [Mon, 21 Feb 1994 02:57:01 +0000 (02:57 +0000)]
* nlmconv.c: Include libiberty.h.
start-sanitize-powerpc-netware
Support for PowerPC NetWare.
* nlmconv.c (main): For PowerPC NetWare, automatically define the
special symbols __toc_start.
(select_output_format): Handle bfd_arch_powerpc.
(mangle_relocs): Likewise.
(powerpc_mangle_relocs): New function.
end-sanitize-powerpc-netware
Peter Schauer [Sat, 19 Feb 1994 11:26:47 +0000 (11:26 +0000)]
* config/mips/tm-mips.h (FIX_CALL_DUMMY): For big endian targets,
error() on TYPE_CODE_FLT arguments whose size is greater than 8,
swap all other TYPE_CODE_FLT arguments as mips_push_arguments
ensures that floats are promoted to doubles before they are pushed
on the stack.
Peter Schauer [Sat, 19 Feb 1994 11:24:36 +0000 (11:24 +0000)]
* mdebugread.c (new_psymtab): Pass in section_offsets and set
them in the pst.
* mdebugread.c (handle_psymbol_enumerators): New function to enter
the enumerators of an ecoff enum into the partial symbol table.
* mdebugread.c (parse_partial_symbols): Call it.
* symfile.c (reread_symbols): Initialize objfile->*_psymbols.next.
* symmisc.c (dump_psymtab): Fix typo, clean up output of section
offsets. Cast psymtab->read_symtab to PTR before passing it to
gdb_print_address.
* i386-tdep.c (i386_skip_prologue): Skip over instructions that
set up the global offset table pointer in pic compiled code.
* config/mips/tm-mips.h (FIX_CALL_DUMMY): For big endian targets,
error() on TYPE_CODE_FLT arguments whose size is greater than 8,
swap all other TYPE_CODE_FLT arguments as mips_push_arguments
ensures that floats are promoted to doubles before they are pushed
on the stack.
Stu Grossman [Sat, 19 Feb 1994 07:18:09 +0000 (07:18 +0000)]
* sparclite/Makefile.in, sparclite/salib.c, sparclite/sparclite.h:
Fixup cache_on and flush_i_cache so that they work for both the
930 and 932 processors. Rewrite most low level funcs (uart
access & cache stuff) to use new ASI access macros in sparclite.h.
Also make it easy to access second serial port.
Jim Kingdon [Fri, 18 Feb 1994 21:01:55 +0000 (21:01 +0000)]
* Makefile.in (install): Do the sed for program_transform_name
ourselves instead of worrying about INSTALL_XFORM. This enables
users to override INSTALL_PROGRAM in the standard way.
* Makefile.in (c-exp.tab.o, ch-exp.tab.o, m2-exp.tab.o): Don't
depend on Makefile.in.
Ian Lance Taylor [Fri, 18 Feb 1994 17:09:13 +0000 (17:09 +0000)]
start-sanitize-powerpc-netware
Support for PowerPC NetWare.
* config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
* config/ppc-nlm.mt: New file.
* configure.in (nlm32_powerpc_vec): New target vector; use
nlm32-powerpc.o, nlm32.o, nlm.o.
* targets.c (nlm32_powerpc_vec): Declare.
* Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
(CFILES): Should add nlm32-powerpc.c, but didn't, because the
dependencies can't be sanitized.
end-sanitize-powerpc-netware
Initial support for PowerPC ELF. Done without an ABI, and
probably to be changed when I get an ABI.
* config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
* config/ppc-elf.mt: New file.
* configure.in (bfd_elf32_powerpc_vec): New target vector; use
elf32-powerpc.o, elf32.o, elf.o.
* elf32-powerpc.c: New file.
* elfcode.h (prep_headers): Add bfd_arch_powerpc case.
(elf_set_arch_mach): Likewise.
* targets.c (bfd_elf32_powerpc_vec): Declare.
* Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
(CFILES): Add elf32-powerpc.c.
Rebuilt dependencies.
Jim Kingdon [Fri, 18 Feb 1994 15:55:21 +0000 (15:55 +0000)]
* config/rs6000/{tm-rs6000lynx.h,nm-rs6000lynx.h,xm-rs6000lynx.h}:
Rename to tm-rs6000ly.h, nm-rs6000ly.h, xm-rs6000ly.h for 14
character file names.
* Makefile.in (ALLPARAM): Add these files.
* configure.in: add mips64-*-elf, mips64-*-ecoff, mips64el-*-elf,
mips64el-*-ecoff and mips64-big-*.
* defs.h: get rid of FORCE_LONG_LONG.
* mips-tdep.c (mips_find_saved_regs): add sd and sdc1 instruction
parsing. Change register size to be MIPS_REGSIZE.
Ian Lance Taylor [Thu, 17 Feb 1994 21:37:32 +0000 (21:37 +0000)]
Some support for PowerPC ELF, although it isn't in BFD yet.
* configure.in: If cpu is powerpc*, use ppc.
(ppc-*-sysv4*): Use object format elf.
* config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
defined.
(TARGET_ARCH): Make it call ppc_arch.
(ppc_arch): Declare.
(TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
(NO_STRING_ESCAPES): Define.
(LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
* config/tc-ppc.c: Only define a number of functions of OBJ_COFF
is defined.
(md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added
OBJ_COFF specific "bi" and "ei".
(md_parse_option): Fix handling of -u. Make -m601 set
PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q.
(ppc_set_cpu): New function.
(ppc_arch): New function.
(md_begin): Call ppc_set_cpu.
(ppc_insert_operand): For a signed operand accept an unsigned
value, for IBM compatibility.
(ppc_byte): Don't call stringer for strings; instead, treat two
double quotes as a single double quote.
(ppc_comm): Set sy_tc.output for a .lcomm symbol.
(ppc_biei): New function.
(ppc_tc): If not OBJ_COFF, ignore first argument.
(ppc_fix_adjustable): Call as_bad_where, not as_bad.
(ppc_is_toc_sym): New function.
(md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and
BFD_RELOC_8.
David MacKenzie [Thu, 17 Feb 1994 18:19:25 +0000 (18:19 +0000)]
* corelow.c, exec.c, irix5-nat.c, mipsread.c, objfiles.c,
osfsolib.c, rs6000-nat.c, solib.c, symfile.c, utils.c,
xcoffexec.c: Use bfd_get_error and bfd_set_error and new error names.
Roland Pesch [Wed, 16 Feb 1994 01:52:25 +0000 (01:52 +0000)]
(1) remove dangling references to old internal sections (pass1, difference)
(2) move explanation of new MIPS options from summary section to MIPS-options
section; add summaries in appropriate spots.
(3) usual minor rephrasing in passing.
Ken Raeburn [Wed, 16 Feb 1994 01:18:32 +0000 (01:18 +0000)]
(lang_size_sections): Clear bfd_error before calling bfd_relax_section, in case
it returns false but doesn't flag an error. If an error is returned, indicate
which one it is in the error message.
Ken Raeburn [Wed, 16 Feb 1994 00:59:19 +0000 (00:59 +0000)]
(b_out_get_reloc_upper_bound): For BSS section, just return 0.
(aligncode): When shrinking, the addend should be set to the current offset in
the section plus the number of bytes of padding that will actually be retained.
(b_out_relax_section): If a section contains no relocations, don't bother
processing them.
(b_out_get_relocated_section_contents): Set reloc_done. Assert that
bfd_get_section_contents returns true. Check that relocs are properly ordered.
(b_out_get_relocated_section_contents, case ALIGNDONE): Assert that reloc's
addend falls between the current source offset and the raw size of the input
section.
Changed some indentation, deleted trailing whitespace, fixed some comments,
removed some "#if 1" lines.
(output_addr): New macro.
(calljx_callback, callj_callback, get_value, abs32code, aligncode,
b_out_get_relocated_section_contents): Use it for readability.
Per Bothner [Tue, 15 Feb 1994 22:31:19 +0000 (22:31 +0000)]
* readline.c (_rl_output_character_function), display.c:
Return int, not void, to conform with the expected arg of tputs.
* readline.c (init_terminal_io): tgetflag only takes 1 arg.
* readline.c (_rl_savestring): New function.
* chardefs.h: To avoid conflicts and/or warnings, define
savestring as a macro wrapper for _rl_savestring.
* display.c (extern term_xn): It's an int flag, not a string.
* charsdefs.h, rldefs.h: Remove HAVE_STRING_H-related junk.
Jeff Law [Tue, 15 Feb 1994 07:05:04 +0000 (07:05 +0000)]
* Finish basic read-write support for SOM archive libraries. Bugs
surely remain as this hasn't been tested all that much.
* som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
(struct som_misc_symbol_info): New structure to hold info necessary
to build both normal and library symbol tables.
(som_derive_misc_symbol_info): New function to derive info necessary
to build both normal and library symbol tables.
(som_build_and_write_symbol_table): Use new function to derive misc
symbol information.
(som_slurp_symbol_table): Update backend private data for symbols
appropriately.
(som_bfd_prep_for_ar_write): New function.
(som_bfd_ar_symbol_hash): New function.
(som_bfd_ar_write_symbol_stuff): New function.
(som_write_armap): Flesh out.
(som_vec): Fix ar padding character.
* som.c: Consistently use memset rather than bzero.
Jeff Law [Sun, 13 Feb 1994 23:34:52 +0000 (23:34 +0000)]
* som.c (som_bfd_count_ar_symbols): New helper function.
(som_bfd_fill_in_ar_symbols): New helper function.
(som_slurp_armap): New function to read a SOM LST.
* gencode.c (main, gendefines): New -d option prints table of defines.
* interp.c (trap): Add a load of system calls.
(sim_memory_size): Now default to 8Mbyte.
(PARANOID): Keep vector of registers with undefined contents.
* remote-hms.c (readchar, hms_open, hms_fetch_register): Made more robust.
(remove_commands, add_commands): Add/remove hms-drain when target
is connected.
David MacKenzie [Sat, 12 Feb 1994 00:45:54 +0000 (00:45 +0000)]
Make all callers of malloc or realloc (including via obstacks)
check the result for NULL. Most set bfd_error to no_memory and
return in that case; a few are harder to fix, and are marked
with "FIXME <return type>".
* opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
* opncls.c (obstack_chunk_alloc): Define as malloc, not
bfd_xmalloc_by_size_t.
(_bfd_new_bfd): Check obstack_begin for 0 return.
* ieee.c (obstack_chunk_alloc): Define as malloc, not
bfd_xmalloc_by_size_t.
(ieee_archive_p): Check obstack_begin for 0 return and
obstack_finish for NULL return.
* hash.c (obstack_chunk_alloc): Define as malloc, not
bfd_xmalloc_by_size_t.
(bfd_hash_table_init_n): Check obstack_begin for 0 return and
obstack_finish for NULL return.
(bfd_hash_lookup): Check obstack_alloc for NULL return.
* ecofflink.c (obstack_chunk_alloc): Define as malloc, not
bfd_xmalloc_by_size_t.
bfd_ecoff_debug_accumulate
bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
(add_file_shuffle add_memory_shuffle): Check obstack_alloc for
NULL return. Return boolean, not void.
(bfd_ecoff_debug_init): Check obstack_begin for 0 return.
(bfd_ecoff_debug_accumulate): Check add_file_shuffle
and add_memory_shuffle return.
(string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
(bfd_ecoff_debug_accumulate): Check bfd_alloc.
(ecoff_add_string): Check add_memory_shuffle return.