* elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
(bfd_elf*_mkobject): Don't define here ...
* elfxx-target.h: ... but rather here. Default always_size_sections
hook to NULL.
* elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
what the #defines in elf-bfd.h transmuted it to anyway.
* section.c: Add SEC_LINKER_CREATED flag.
* bfd-in2.h: Rebuild.
* elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
relocation section flags.
(elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
SEC_IN_MEMORY to recognize generated bits.
* elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
Likewise.
* elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
mips_elf_create_compact_rel_section, mips_elf_create_got_section,
mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
* elf32-ppc.c (ppc_elf_create_linker_section,
ppc_elf_size_dynamic_sections): Likewise.
* elf32-sparc.c (elf32_sparc_check_relocs,
elf32_sparc_size_dynamic_sections): Likewise.
* elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
section flags.
(_bfd_elf_create_dynamic_sections): Likewise.
(_bfd_elf_make_linker_section_rela): Likewise.
* elflink.h (elf_link_create_dynamic_sections): Likewise.
(bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
(elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
to identify generated bits.
(elf_link_input_bfd): Likewise.
* Makefile.in (MAKEINFO): Check for the existence of the Makefile,
rather than the makeinfo program.
(do-info): Depend upon all-texinfo.
This ensures that MAKEINFO will have the right value when building
texinfo itself.
* config/tc-m68k.c (m68k_ip): Accept 'B' as a size for an
immediate value.
(md_assemble): If the size is 'B', set fx_signed.
(md_apply_fix_2): Use fx_signed when checking for overflow.
* write.h (struct fix): Add fx_signed field.
* write.c (fix_new_internal): Initialize fx_no_overflow and
fx_signed fields.
(fixup_segment): Use fx_signed when checking for overflow.
* config/obj-coff.c (fixup_segment): Check fx_no_overflow and
fx_signed when checking for overflow.
Based on patch from Ronald F. Guilmette <[email protected]>:
* read.c (read_a_source_file): Check for conditional operators
before doing an MRI pending alignment.
* config/tc-m68k.h (m68k_conditional_pseudoop): Declare.
(tc_conditional_pseudop): Define.
* config/tc-m68k.c (m68k_conditional_pseudop): New function.
* doc/internals.texi (CPU backend): Describe
tc_conditional_pseudoop.
Based on patch from Ronald F. Guilmette <[email protected]>:
* config/tc-m68k.c (m68k_rel32_from_cmdline): New static
variable.
(md_begin): Check m68k_rel32_from_cmdline before setting
m68k_rel32.
(m68k_mri_mode_change): Likewise.
(md_longopts): Add --disp-size-default-16 and
--disp-size-default-32.
(md_parse_option): Handle new options.
(md_show_usage): Mention new options.
* doc/c-m68k.texi (M68K-Opts): Document new options.
Based on patch from Ronald F. Guilmette <[email protected]>:
* config/tc-m68k.c (m68k_index_width_default): New static
variable.
(m68k_ip): Use m68k_index_width_default to set the size of a base
register whose size was not given.
(md_longopts): Add --base-size-default-16 and
--base-size-default-32.
(md_parse_option): Handle new options.
(md_show_usage): Mention new options.
* doc/c-m68k.texi (M68K-Opts): Document new options.
* gas/mips/mips16.s, gas/mips/mips16.d: New test.
* gas/mips/mips.exp: Run mips16 test.
* gas/mips/mips.exp: Run dli test unconditionally.
* gas/mips/dli.s: Add text symbol. Add nops to round to 16 byte
boundary.
* gas/mips/dli.d: Corresponding changes.
Jeff Law [Tue, 31 Dec 1996 23:26:11 +0000 (23:26 +0000)]
* mn10300_sim.h (struct _state): Put all registers into a single
array to make gdb implementation easier.
(REG_*): Add definitions for all registers in the state array.
(SEXT32, SEXT40, SEXT44, SEXT60): Remove unused macros.
* simops.c: Related changes.
Ian Lance Taylor [Tue, 31 Dec 1996 18:03:09 +0000 (18:03 +0000)]
* config/tc-sparc.c (md_apply_fix3): Rename from md_apply_fix, and
add segment argument. If OBJ_ELF, treat a relocation against a
symbol in a linkonce section like a relocation against an external
symbol.
* config/tc-sparc.h (MD_APPLY_FIX3): Define.
Mark Alexander [Tue, 31 Dec 1996 15:02:30 +0000 (15:02 +0000)]
* config/mips/tm-mips.h: Undefine BREAKPOINT, replace
with separate LITTLE_BREAKPOINT and BIG_BREAKPOINT definitions;
this fixes problem with setting breakpoints in little-endian
programs in the simulator.
Mark Alexander [Tue, 31 Dec 1996 15:01:12 +0000 (15:01 +0000)]
* config/i386/xm-windows.h: Undo previous change to SIGTRAP
and SIGQUIT values; it messed up non-MIPS targets.
* config/mips/tm-mips.h: Undefine BREAKPOINT, replace
with separate LITTLE_BREAKPOINT and BIG_BREAKPOINT definitions;
this fixes problem with setting breakpoints in little-endian
programs in the simulator.
Ian Lance Taylor [Mon, 30 Dec 1996 23:50:56 +0000 (23:50 +0000)]
* xcofflink.c (xcoff_build_ldsyms): When exporting all defined
symbols, don't export a symbol which is defined by an object in an
archive which contains shared objects.
PR 11379.
Ian Lance Taylor [Mon, 30 Dec 1996 22:37:30 +0000 (22:37 +0000)]
* interp.c (store_word, load_word): New static functions.
(mips16_entry): New static function.
(SignalException): Look for mips16 entry and exit instructions.
(simulate): Use the correct index when setting fpr_state after
doing a pending move.
David Edelsohn [Mon, 30 Dec 1996 08:34:35 +0000 (08:34 +0000)]
* remote-sim.c (gdbsim_open_p): New static local.
(gdbsim_open): Call unpush_target if sim open. Set gdbsim_open_p.
(gdbsim_close): Only call sim_close if sim open. Reset gdbsim_open_p.
Fred Fish [Sun, 29 Dec 1996 18:01:29 +0000 (18:01 +0000)]
* Makefile.in (ALL_MACHINES): Add tic80-dis.o and tic80-opc.o.
* disassemble.c (ARCH_tic80): Define if ARCH_all is defined.
(disassembler): Add bfd_arch_tic80 support to set disassemble
to print_insn_tic80.
* tic80-dis.c (print_insn_tic80): Add stub.
Fred Fish [Sat, 28 Dec 1996 22:33:53 +0000 (22:33 +0000)]
* Makefile.in (mm.o): New target that combines all the functions
into a single object module. This avoids client programs picking
up part of the allocation routines from mmalloc and part from libc,
which can lead to undefined behavior.
(CFILES): Add mm.c
(TARGETOBJS): Define to be either the individual objects or the
single combined object.
(TARGETLIB): Create the archive using TARGETOBJS.
* mm.c: New file that simply #includes the other source C files.
Fred Fish [Sat, 28 Dec 1996 05:59:26 +0000 (05:59 +0000)]
* NOTES.config (Implementation): as.h #define's "GAS" not "gas",
includes config.h instead of host.h, tc.h instead of tp.h, and
targ-env.h instead of target-environment.h.
Also, obj-format.h includes targ-cpu.h instead of
target-processor.h.
start-sanitize-tic80
(Laying groundwork, that will be incrementally fleshed out,
for TIc80 support)
* configure.in (case ${generic_target}): Add tic80-*-coff entry.
* configure: Rebuild with autoconf.
* config/obj-coff.h (coff/tic80.h): Include if TC_TIC80 defined.
(TARGET_FORMAT): Define to "coff-tic80".
* config/tc-tic80.c: New file for TIc80 support.
* config/tc-tic80.h: New file for TIc80 support.
end-sanitize-tic80
Fred Fish [Sat, 28 Dec 1996 04:09:34 +0000 (04:09 +0000)]
(Lay some groundwork for TIc80 port that will be filled in incrementally.)
* TODO: Correct a misspelling.
start-sanitize-tic80
* coff-tic80.c: New file for TI TMS320C80 (MVP).
* cpu-tic80.c: New file for TI TMS320C80 (MVP).
* configure.in (case $vec): Add tic80coff_vec entry.
* configure: Regenerate with autoconf.
* archures.c (bfd_tic80_arch): Declare.
* bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
* config.bfd (case ${targ}): Add tic80*-*-coff* target.
* targets.c (tic80coff_vec): Add decl as extern bfd_target.
(bfd_target_vector): Add tic80coff_vec entry.
end-sanitize-tic80
Mark Alexander [Fri, 27 Dec 1996 04:04:44 +0000 (04:04 +0000)]
* valprint.c (print_longest): Don't lose upper bits
of 64-bit values on Windows.
* config/i386/xm-windows.h: Leave CC_HAS_LONG_LONG defined,
undefine PRINTF_HAS_LONG_LONG, so that 64-bit values will
be printed without loss of upper bits.
* sparclet-stub.c: a few clean-ups, removing dead code
* config/sparc/tm-sparclet.h: make registers ASR15, ASR19 invisible
(they're not useful, you can't change, write or even read them)
* sparclet-rom.c: Remove includes of Unix system files.
Add function "sparclet_supply_register" so that parse_register_dump
will not seg-fault by calling a null function pointer.
Remove XMODEM support (unfinished work?).
Remove flag "MO_HANDLE_NL", so monitor's output can be read by humans.
Add fill command.
Remove colon from getreg.resp_delim so PSR register will work.
Remove pointer to sparclet_load (downloading SREC's doesn't work).
Null out local register names for %g0, all %cc and all %asr regs,
since the monitor can't report them. Will return zero instead.
* sparclet-stub.c: New -- remote protocol support for sparclet CPU.
* config/sparc/tm-sparclet.h: Re-arrange REGISTER_NAMES:
Add back %g0 and %psr, add %cc coprocessor regs, add %asr regs.
Adjust NUM_REGS and REGISTER_BYTES accordingly
Jeff Law [Tue, 24 Dec 1996 17:34:41 +0000 (17:34 +0000)]
* remote-e7000.c (want_h8300h, want_nopc_h8300h): Renamed
from want and want_nopc.
(want_h8300s, want_nopc_h8300s): New variables for H8/S register
lists.
(e7000_fetch_registers): Use H8/300H or H8/S register list string
as needed.
(e7000_wait): Likewise.
Bringing over a change from hmse-h8s-beta branch.