Stu Grossman [Tue, 14 Nov 1995 23:24:10 +0000 (23:24 +0000)]
* monitor.c (monitor_load_srec monitor_make_srec): Move all
S-record download code into srec.c.
* srec.c srec.h: New files. Contain S-record loading routines
formerly in monitor.c.
* serial.c serial.h: New routine just like fprintf, but uses
serial_t instead of FILE *.
* sh-tdep.c (frame_find_saved_regs init_extra_frame_info):
Don't add four to saved pc (makes things match manual). Also, fix
bug where we didn't get pc from stack frame correctly.
* config/sh/tm-sh.h (SAVED_PC_AFTER_CALL): Don't add four to
saved pc. Real hardware does this for you.
* sh3-rom.c (sh3_load): New routine. Sets up for download then
calls generic S-record loader.
* config/h8300/h8300.mt, config/h8500/h8500.mt,
config/m68k/monitor.mt, config/pa/hppapro.mt, config/sh/sh.mt:
Add srec.o to TDEPFILES.
Ian Lance Taylor [Tue, 14 Nov 1995 22:10:14 +0000 (22:10 +0000)]
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
were used.
(gld${EMULATION_NAME}_before_allocation): Use the environment
variable LD_RUN_PATH if -rpath was not used.
* ld.texinfo, ld.1: Document LD_RUN_PATH.
PR 8428.
David Edelsohn [Tue, 14 Nov 1995 09:32:50 +0000 (09:32 +0000)]
* Makefile.in (CONFIGURE_TARGET_MODULES): Pass --with-target-subdir.
Preserve relative path names in $srcdir. Build symlink tree if
configuring cross target dir and srcdir=. (= no VPATH support).
(configure-target-libg++): Depend on configure-target-librx.
* cfg-ml-com.in, cfg-ml-pos.in: Deleted.
* config-ml.in: New file.
* symlink-tree: New file.
* configure: Ensure srcdir="." if that's what it is.
Stan Shebs [Tue, 14 Nov 1995 04:45:54 +0000 (04:45 +0000)]
* configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
* configure: Update.
* mpw-make.sed: Reorder commands to make sed happier.
* config/te-macos.h: New file.
* config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
Stan Shebs [Tue, 14 Nov 1995 03:31:22 +0000 (03:31 +0000)]
* mpw-README: Clarify some phrasing, add notes about CodeWarrior
includes and FLEX_SKELETON setting.
* mpw-configure (--with-gnu-ld): New option, controls whether
to use PPCLink or ld with PowerMac GCC.
* mpw-build.in (all-grez, do-grez, install-grez): New targets.
* mpw-config.in: Configure grez if targeting Mac.
Stan Shebs [Mon, 13 Nov 1995 20:47:41 +0000 (20:47 +0000)]
* config.sub: Accept pmac and pmac-mpw as names for PowerMacs,
accept mpw and mac-mpw as names for m68k Macs, change macos7 to
just macos.
* configure.in: Configure grez resource compiler if targeting Mac.
* Makefile.in (all-grez, install-grez): New targets.
Stan Shebs [Sun, 12 Nov 1995 20:39:38 +0000 (20:39 +0000)]
* Makefile.in (bfd_libs_here, etc): Provide empty definitions.
* coff-rs6000.c (rs6000coff_vec): Add conditional defines
TARGET_SYM and TARGET_NAME for vector and BFD name.
* coff-pmac.c (pmac_xcoff_vec): Remove.
(TARGET_SYM, TARGET_NAME): Define.
* coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
machine to 0, not all PowerMacs are 601s.
Enable powerpc simulator for all powerpc-eabi targets, not just powerpc-eabisim if compiling with GCC. Add --enable-sim-powerpc option to control this.
* config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
generate a reloc which the linker will not handle correctly. Fix
overflow checking--R_IREL is 18 bits, not 17.
* archive.c (bfd_generic_archive_p): Check the first object file
in an archive even if target_defaulted is set. If the object file
has the wrong xvec, reject it.
* aoutx.h (NAME(aout,set_section_contents)): If a section can not
be represented, report the name via _bfd_error_handler.
(translate_to_native_sym_flags): Likewise.
* elf32-mips.c (mips_elf_final_link): Likewise.
* oasys.c (oasys_write_sections): Likewise.
Turn on INLINES if using GCC to compile simulator; Print more stuff if requests -t trace; If !WITH_ASSERT, do not check whether illegal bits in instruction are set
* coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
which checks for STYP_OVRFLO sections.
(coff_compute_section_file_positions): If RS6000COFF_C, handle
reloc and lineno count overflows.
(coff_write_object_contents): Call coff_count_linenumbers before
coff_compute_section_file_positions. If RS6000COFF_C, handle
reloc and lineno count overflows.
* xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
relocs before dealing with .pad sections. Count overflow section
headers when handling .pad sections.
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
new local variable special_sections, and pass it to
size_dynamic_sections. Look through the results, and move the
sections around in the mapping so that they are defined correctly.
* xcofflink.c (XCOFF_DESCRIPTOR): Define.
(struct xcoff_link_hash_table): Add descriptor_section and
special_sections fields.
(_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
(xcoff_link_add_symbols): Set linkage section alignment. Create
descriptor section. Check for magic symbol names (_text, etc.),
and record them in special_sections if found. Set
XCOFF_DESCRIPTOR flag for a function descriptor, and set its
descriptor field to point back to the function code symbol.
(xcoff_sweep): Always mark the special descriptor_section.
(bfd_xcoff_export_symbol): Check whether the symbol might be a
function descriptor, and mark it if it is.
(bfd_xcoff_size_dynamic_sections): Add new special_sections
parameter, and fill it in. Allocate space for the descriptor
section.
(xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
global linkage code. If an undefined function descriptor is
exported, arrange to define it. Warn about any other undefined
exported symbol.
(_bfd_xcoff_bfd_final_link): Write out the descriptor section.
(xcoff_write_global_symbol): Create a function descriptor when
necessary.
* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
* bfd-in2.h: Rebuild.
Ken Raeburn [Thu, 9 Nov 1995 09:14:01 +0000 (09:14 +0000)]
* configure.in: Added new option --with[out]-mmap. Set USE_MMAP if it is given
and mmep is available.
* acconfig.h: Undef USE_MMAP.
* configure, config.in: Regenerated.
* aoutx.h: If USE_MMAP is not defined, do all symbol and string table handling
the old way.
(aout_get_external_symbols): Don't complain if last byte of string table is
nonzero.
* libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
(bfd_free_window) [! USE_MMAP]: Don't define.
(bfd_get_file_window, _bfd_generic_get_section_contents_in_window)
[! USE_MMAP]: Abort.
* coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
compatible with AMD generated COFF files. Try to support both AMD
and GNU formats simultaneously.
(coff_a29k_relocate_section): Likewise.
* config/tc-a29k.c (md_operand): Handle $float, $double, and
$extend. Based on code from Eric Freudenthal
<[email protected]>.
* config/tc-a29k.h (LEX_DOLLAR): Define.
* read.c (LEX_DOLLAR): Define if not defined.
(lex_type): Use LEX_DOLLAR.
* libbfd.c (bfd_get_file_window): Change writable parameter from
int to boolean; update all callers. Pass MAP_SHARED if not
writable--it's required on Solaris. Cast fprintf argument to
avoid warning.
* bfd-in.h (bfd_get_file_window): Update declaration.
* bfd-in2.h: Rebuild.
* aoutx.h: Update calls to bfd_get_file_window.
* xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
Change all uses.
(xcoff_swap_ldhdr_in): New static function.
(xcoff_swap_ldsym_in): New static function.
(xcoff_link_add_symbols): If we just created a descriptor, pass it
to _bfd_generic_link_add_one_symbol, to save a hash lookup.
(xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
rather than normal symbol table.
(xcoff_mark): When considering called symbols, check whether the
descriptor is from a dynamic object, rather than the symbol
itself.
(xcoff_build_ldsyms): Likewise.
* libbfd.c (bfd_get_file_window): Change return type to boolean.
Cast realloc and malloc return values. If malloc or realloc fail,
set bfd_error_no_memory.
* bfd-in.h (bfd_get_file_window): Change type to boolean.
* bfd-in2.h: Rebuild.
* config/mips/vr4300.mt: Added simulator to default VR4300 build.
NOTE: Only the BigEndian build has the simulator included, because a
LittleEndian simulator is not constructed at the moment (it should
work, but has not been tested fully).
Initial check-in of the MIPS simulator. Work still needs to be done on
the run-time support code (interp.c) to provide better tracing, and
also to add profiling and architecture specific support. At the moment
the simulator has a fixed size, fixed address memory area, and
simulates a subset of the IDT monitor calls (enough to execute test
programs).
The other major feature (could even be a bug) is that the simulator
makes use of the GCC "long long" extension. Work has been started to
make this a build configuration option... but there is still a lot of
this to be done.
Stu Grossman [Wed, 8 Nov 1995 00:33:16 +0000 (00:33 +0000)]
* remote-mips.c (mips_initialize): Fix brain damage found by
Jamie. Basically had case statement in the wrong place...
* (mips_load): Remove unnecessary `db tty0' command. It's all
handled by mips_initialize now.
* configure: Default ${build} correctly. Avoid picking up extra
spaces when reading CC and CXX from Makefile. When doing a
Canadian Cross, use plausible default values for numerous
variables.
* configure.in: When doing a Canadian Cross, don't try to
configure tools whose configure script can't handle it.
* ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
entries until both the line number address and the function name
address are too large.
PR 8364.