* i386-dis.c (dis386[], dis386_twobyte[]): change pushl/popl
to pushS/popS for segment regs and byte constant so that
pushw/popw printed when in 16 bit data mode.
* i386-dis.c (dis386[]): change cwtl, cltd to cWtS, cStd to
print cbtw, cwtd in 16 bit data mode.
* i386-dis.c (putop): extra case W to support above.
* i386-dis.c (print_insn_x86): print addr32 prefix when given
address size prefix in 16 bit address mode.
Fred Fish [Sat, 24 May 1997 15:30:55 +0000 (15:30 +0000)]
* libcoff-in.h (struct coff_final_link_info): Add boolean
global_to_static member for support of task linking.
(_bfd_coff_write_task_globals): Add prototype.
* libcoff.h: Regenerate.
* coffcode.h (coff_write_object_contents): Use #ifdef to
check RS6000COFF_C, to be consistent with all other uses
in this file.
* cofflink.c (_bfd_coff_final_link): If doing task linking,
call _bfd_coff_write_task_globals.
(_bfd_coff_link_input_bfd): If doing task linking, convert
global functions to static.
(_bfd_coff_write_global_sym): If doing task linking, convert
global variables to static.
(_bfd_coff_write_task_globals): New function.
* coff-tic80.c (TIC80COFF): Define this instead of just TIC80.
(C_AUTOARG): #undef since it clashes with C_UEXT.
(C_LASTENT): #undef since it clashes with C_STATLAB.
* coffcode.h (coff_write_object_contents): Use TIC80COFF
rather than TIC80.
(coff_slurp_symbol_table): Use C_SYSTEM. Hide C_AUTOARG use
when TIC80COFF defined (clashes with C_UEXT). Explicitly
recognize C_UEXT, C_STATLAB, and C_EXTLAB as unsupported.
PR 12236
Bob Manson [Fri, 23 May 1997 22:30:29 +0000 (22:30 +0000)]
* gdb.c++/virtfunc.exp(gdb_virtfunc_restart): Make sure we run
test_calls after restarting.
* lib/gdb.exp(gdb_run_cmd): Send jump command again after
reloading.
* gdb.base/watchpoint.exp: Fix typo.
* gdb.base/setshow.exp: Check for use_gdb_stub.
* gdb.base/break.exp: Fix continue until exit test for the gdb
stub case.
* gdb.base/langs.exp: Ditto.
* config/monitor.exp(gdb_load): Handle gdb_sect_offset and
gdb_load_offset. If we weren't given a file to load, figure out
what the current file is and use it.
Ian Lance Taylor [Fri, 23 May 1997 00:26:58 +0000 (00:26 +0000)]
* coff-tic80.c (tic80_howto_table): Add PP relocations. Change
name of R_RELLONG to "RELLONG". Set rightshift and complain for
M_PPCR.
(ppbase_reloc, glob15_reloc): New static functions.
(glob16_reloc, local16_reloc): New static functions.
(rtype2howto): Handle all relocation types.
(coff_tic80_relocate_section): New static function.
(coff_relocate_section): Define to coff_tic80_relocate_section.
* Makefile.in (coff-tic80.o): Depends upon include/coff/tic80.h.
* procfs.c (init_procinfo): new function, abstracts some code
shared by create_procinfo and do_attach;
(procfs_set_inferior_syscall_traps): new function, abstracts
some code needed by procfs_init_inferior, do_attach, and
procfs_lwp_creation_handler; (procfs_first_available): new
function, find any LWP that's runnable; (procfs_thread_alive):
replace stub function with real implementation;
(procfs_lwp_creation_handler): fix bug starting new child
threads; (info_proc): bug fixes and enhancements for the
"INFO PROCESSES" command; (close_procinfo_file): call new
function "delete_thread" to cleanup GDB's thread database;
(proc_init_failed): add new argument "kill", to control whether
process is killed (so this function can be shared by
create_procinfo and do_attach); (procfs_exit_handler): handle
exit from an attached process, and cleanup procinfo handles
when the process exits; (procfs_resume, procfs_wait): cleanup
after a thread when it exits; (do_attach, do_detach): handle
attached processes with multiple threads; plus some general
improvements in the diagnostic output.
* sol-thread.c (sol_thread_alive): replace stub with real
implementation; (thread_to_lwp, lwp_to_thread): enhance to
handle threads that may have exited; (sol_thread_attach): add
startup setup stuff; (sol_thread_detach): add unpush_target
call; (sol_thread_mourn_inferior): add unpush_target call;
(sol_thread_wait, sol_thread_resume): enhance to deal with
thread exit cleanly; (sol_thread_new_objfile,
sol_thread_pid_to_str): detect unsuccessful startup and
don't crash; plus some general cleanup.
* thread.c (delete_thread): new function, allows targets to
notify gdb when a thread is no longer valid.
* infrun.c (wait_for_inferior): don't try to detect a new
thread on receiving a TARGET_EXITED event.
Ian Lance Taylor [Wed, 21 May 1997 21:42:38 +0000 (21:42 +0000)]
* coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE or
COFF_IMAGE_WITH_PE, don't subtract the section VMA from the symbol
value.
* coffgen.c (fixup_symbol_value): Add abfd parameter. Change all
callers. If PE file, don't add section VMA.
(coff_write_alien_symbol): If PE file, don't add section VMA.
* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
(_bfd_coff_write_global_sym): Likewise.
(_bfd_coff_generic_relocate_section): Likewise.
Jeff Law [Tue, 20 May 1997 23:53:47 +0000 (23:53 +0000)]
* interp.c: Replace all references to load_mem and store_mem
with references to load_byte, load_half, load_3_byte, load_word
and store_byte, store_half, store_3_byte, store_word.
(INLINE): Delete definition.
(load_mem_big): Likewise.
(max_mem): Make it global.
(dispatch): Make this function inline.
(load_mem, store_mem): Delete functions.
* mn10300_sim.h (INLINE): Define.
(RLW): Delete unused definition.
(load_mem, store_mem): Delete declarations.
(load_mem_big): New definition.
(load_byte, load_half, load_3_byte, load_word): New functions.
(store_byte, store_half, store_3_byte, store_word): New functions.
* simops.c: Replace all references to load_mem and store_mem
with references to load_byte, load_half, load_3_byte, load_word
and store_byte, store_half, store_3_byte, store_word.
Jeff Law [Sun, 18 May 1997 22:57:49 +0000 (22:57 +0000)]
* interp.c (load_mem_big): Remove function. It's now a macro
defined elsewhere.
(compare_simops): New function.
(sim_open): Sort the Simops table before inserting entries
into the hash table.
* mn10300_sim.h: Remove unused #defines.
(load_mem_big): Define.
Another 20% so performance improvement for the mn10300 simulator.
Jeff Law [Fri, 16 May 1997 22:39:08 +0000 (22:39 +0000)]
* callback.c (os_close): Mark the descriptor as being
available if the close succeeded.
(os_open): Pass 0644 as the mode of the file being created.
Bring Bob's changes over from the mec branch.
Jeff Law [Fri, 16 May 1997 16:34:52 +0000 (16:34 +0000)]
* elf-m10300.c (elf32_mn10300_relax_section): Read in all
the symbols associated with each BFD.
(mn10300_elf_relax_delete_bytes): Don't adjust the same symbol
more than once.
* elf-m10200.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-sh.c: Likewise.
Ian Lance Taylor [Fri, 16 May 1997 16:13:33 +0000 (16:13 +0000)]
* elflink.h (elf_link_add_object_symbols): Don't decrease the
alignment of a common symbol. If two symbols that look like
common symbols are found in two shared libraries, and the size is
different, use the larger size, and warn if --warn-common. If a
common symbol overrides a definition in a shared library, set the
size to the larger size, and warn if --warn-common.
Nick Clifton [Thu, 15 May 1997 17:05:24 +0000 (17:05 +0000)]
Fixed bug in previous delta. If no cpu type was specified on the command
line then the code used to default to setting an architecture of ARMv4T
rather than ARMv3M in the BFD library. This has now been corrected.
Peter Schauer [Thu, 15 May 1997 15:01:54 +0000 (15:01 +0000)]
* config/rs6000/tm-rs6000.h (SIG_FRAME_LR_OFFSET): Define.
* rs6000-tdep.c (frameless_function_invocation): Mark frames
with a zero PC as frameless to improve backtraces from core dumps
caused by dereferencing a NULL function pointer.
(frameless_function_invocation, frame_saved_pc, rs6000_frame_chain):
Handle frameless functions interrupted by a signal.
* sparc-tdep.c (sparc_init_extra_frame_info, sparc_frame_saved_pc):
Handle frameless functions interrupted by a signal.
Nick Clifton [Wed, 14 May 1997 17:00:43 +0000 (17:00 +0000)]
Added support for storing ARM Procedure Calling Standard variant, and ARM
architecture variant in the BFD and COFF structures. This goes towards
fixing PRs 11709 and 11326 and will integrate with future updates to LD and
GCC.
Jeff Law [Wed, 14 May 1997 15:01:33 +0000 (15:01 +0000)]
* mn10200-tdep.c (mn10200_skip_prologue): Don't look at the debug
symbols to find the end of the prologue.
* mn10300-tdep.c (mn10300_skip_prologue): Likewise.
Ian Lance Taylor [Tue, 13 May 1997 03:30:20 +0000 (03:30 +0000)]
* scripttempl/elfmips.sc: Remove.
* scripttempl/elf.sc: Set ENTRY based on target. Permit
TEXT_DYNAMIC to control .dynamic segment. Permit
SHLIB_TEXT_START_ADDR to set start of shared object. Support
INITIAL_READONLY_SECTIONS. Put .stub in .text. Only put
.gnu.linkonce.t* in .text when relocating. Support
OTHER_TEXT_SECTIONS. Support SHLIB_DATA_ADDR as well as
DATA_ADDR. Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
* emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
(DATA_ADDR): Don't set.
(INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
(OTHER_TEXT_SECTIONS): Set.
(OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
(MACHINE): Set to empty string.
* emulparams/elf32l4300.sh: Likewise.
* emulparams/elf32ebmip.sh: Likewise.
* emulparams/elf32elmip.sh: Likewise.
* emulparams/elf32bmip.sh: Likewise. Also:
(TEXT_DYNAMIC): Set.
* emulparams/elf32lmips.sh: Likewise.
* Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
elfmips.sc.
(eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.