Andrew Cagney [Wed, 8 Jul 1998 08:00:36 +0000 (08:00 +0000)]
Add a printf fmt style version of sim_events_schedule.
This allows the caller to specify extra trace information that is
only evaluated when tracing is enabled.
Jeff Law [Wed, 8 Jul 1998 03:55:07 +0000 (03:55 +0000)]
* readelf.c (byte_get): Use PARAMS in prototype.
(error): Make it work with non-ANSI compilers.
(warn): Likewise.
(get_ver_flags): Don't use an ANSI prototype in the definition.
* Makefile.am (ldver.texi): New target.
(ld.info, ld.dvi): Depend upon ldver.texi.
* ld.texinfo: Include ldver.texi. Mention version number on title
page and in top node.
* Makefile.in: Rebuild.
* doc/Makefile.am (gasver.texi): New target.
(as.info, as.dvi): Depends upon gasver.texi.
* doc/as.texinfo: Include gasver.texi. Mention version number on
title page and in top node.
* doc/Makefile.in: Rebuild.
* listing.c (listing_listing): For EDICT_LIST, skip all lines up to
but not including the line containing the edict.
* listing.h (LISTING_EOF): New.
* input-scrub.c (input_scrub_next_buffer): Call it.
* objcopy.c (filter_bytes): Set size correctly if the size of the
section is not an even multiple of the interleave. Based on patch
from Brion Stone <[email protected]>.
* config/tc-i386.c (space_chars): Remove. The scrubber converts
sequences of whitespace to a single space.
(is_space_chars): Just compare with space.
(md_begin): Don't initialize space_chars.
(md_assemble): Just skip a single whitespace character.
(i386_operand): Rewrite base-index parsing to use new
parse_register, and to skip white space. Skip white space in a
number of other places too. Don't give error message if
parse_register fails.
(parse_register): Change reg_string parameter to be non-const.
Add end_op parameter. Skip white space after the `%', and return
end of register string. Give error message here rather than
caller.
* scripttempl/pe.sc: Use SORT to sort sections appropriately.
* emultempl/pe.em (sort_by_file_name): Remove.
(sort_by_section_name): Remove.
(sort_sections_1, sort_sections): Remove.
(gld_${EMULATION_NAME}_before_allocation): Don't call
sort_sections.
(hold_section, hold_section_name): New static variables.
(hold_use, hold_text, hold_rdata, hold_data, hold_bss): Likewise.
(gld_${EMULATION_NAME}_place_orphan): Rewrite. Look for a good
place to put the section. Align the section. Sort the input
sections by name.
(gld_${EMULATION_NAME}_place_section): New static function.
* emultempl/pe.em (set_pe_subsystem): Don't call
ldlang_add_undef.
(gld_${EMULATION_NAME}_after_parse): New static function.
(ld_${EMULATION_NAME}_emulation): Use new after_parse function
rather than after_parse_default.
* ldgram.y (extern_name_list): Do not require symbols to be
separated by commas.
(ifile_p1): Add EXTERN.
* ldlex.l: Accept EXTERN in BOTH and SCRIPT mode as well as MRI
mode.
* ld.texinfo (Options): Mention that EXTERN is equivalent to -u.
(Miscellaneous Commands): Document EXTERN.
* elf.c (copy_private_bfd_data): Only set phdr_included oncde for
a PT_LOAD segment, rather than only setting it once for the entire
file.
* elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
rather than ignoring every phdr with a p_paddr of 0, ignore all
the phdrs if they all have a p_paddr of 0.
Brought over from sh4-980527-branch:
Fix for execute/va-arg-5.c -Os -mrelax -m4-single failure:
* coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
Brought over from sh4-980527-branch:
Fix for execute/921208-1.c -Os -mrelax -m4-single failure:
* coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
floating point operations.
* cgen-sim.h (CPU_SCACHE): Make size unsigned.
(CPU_SCACHE_HASH_MASK): New macro.
(SCACHE_HASH_PC): Rewrite.
* genmloop.sh (engine_resume_{full,fast}): Move some of hash
computation out of main loop.
* obj-vms.c: Add C++ support with ctors/dtors sections. Add weak
symbol definitions.
(Ctors_Symbols, Dtors_Symbols): New symbol chains.
(ps_CTORS, ps_DTORS): New section types.
(vms_fixup_xtors_section): New function
(Ctors_Psect, Dtors_Psect): Define.
(IS_GXX_XTOR): Define
(global_symbol_directory): Change check of gxx_bug_fixed to 0.
Filter static constructors/destructors and add to
Ctors_Symbols/Dtors_Symbols chain.
(vms_write_object_file): Write Ctors_Symbols/Dtors_Symbols to
appropriate section.
Dawn Perchik [Thu, 2 Jul 1998 17:30:20 +0000 (17:30 +0000)]
* mdebugread.c (parse_partial_symbols): Go ahead and read the .mdebug
section, but just don't add a 2nd minimal symbol if this is an .mdebug
section in an ELF file.
* stabs.c (parse_stab_range_type): Handle 4 and 8 byte signed
integers with real upper bounds. Handle a lower bound one larger
than the upper bound as a signed integer. Handle 8 byte signed
integers.
(stab_demangle_template): Optionally return the demangled name of
the template.
(stab_demangle_qualified): Treat a template name as a tagged
type.
(stab_demangle_fund_type): Likewise.
I found that the relax failure for execute/930628-1.c is due to gas
incorrectly relaxing an out-of-range conditional branch with delay slot.
It turned:
bf.s L6 (slot mov.l r12,@(44,r0))
into:
* Moved gdbtk_hooks.c & gdbtk_cmds.c to gdbtk-hooks.c &
gdbtk-cmds.c to comply with the gdb conventions. Changed the
configure & makefile to reflect the change...
* dvp-opc.c (DVP_OPERAND_RELOC_11_S4): Temporarily back out
the DVP_OPERAND_RELOC_11_S4 relocation.
* dvp-opc.c (LIMM11, LUIMM15): New symbol types
DVP_OPERAND_RELOC_U15_S3 and DVP_OPERAND_RELOC_11_S4 to allow labels to
be used as immediate values.
* main.tcl (gdbtk_preloop): Call gdbtk_idle on spec. If there was an
error in loading an executible specified on the command line,
then the pre_add_symbol hook would have called gdbtk_busy but
the corresponding call to gdbtk_idle would not have occured.
Also changed some catch calls so they didn't use
"catch {set foo [real_command]}"
but rather the more efficient:
"catch {real_command} foo"
* register.tcl: more catch cleanups
* src.tcl: more catch cleanups
* stack.tcl: more catch cleanups
* target.tcl: more catch cleanups
* tdump.tcl: more catch cleanups
* variables.tcl: more catch cleanups
* watch.tcl: more catch cleanups
* gdbtk.c (gdbtk_init): Fixed a bug in the startup code on Windows
that caused gdbtk not to find the share directory unless
GDBTK_LIBRARY was set.
* gdbtk.c: removed all the commands and hooks from this file so
now it contains only the startup code.
* gdbtk_cmds.c: New file - this contains all the Tcl commands that
gdb defines. All the old commands were moved here, the
string-based commands were converted to object commands, and the
object-based commands were all converted to uniformly use the
call_wrapper. A new function, Gdbtk_Init was added to centralize
initializing the gdb package. Also added gdbtk as a package
into gdbtk_interp.
* gdbtk_hooks.c: New file - All the hooks were moved here, and a new
function, gdbtk_add_hooks was added to centralize adding all these
hook functions. gdbtk_fputs was also modified to handle the new
result_ptr structure. See the comments in gdbtk.h for more
details.
* gdbtk.h: New file - this contains all the defines and globals
shared by gdbtk.c, gdbtk_cmds.c & gdbtk_hooks.c
* Makefile.in, configure.in & configure: mutatis mutandi for the
new files.
Based on patches from Andrew Kozin
<[email protected]>:
* winduni.h: New file, from windres.h.
* winduni.c: New file, from windres.c.
* windres.c: Move Unicode functions into winduni.c.
* windres.h: Move Unicode declarations into winduni.h. Include
winduni.h.
(RT_ACCELERATOR): Rename from RT_ACCELERATORS to match Windows
macro. Change all uses.
(RT_PLUGPLAY, RT_VXD): Correct values.
* Makefile.am (HFILES): Add windres.h.
(CFILES): Add winduni.c.
(windres_SOURCES): Add winduni.c.
Jeff Law [Tue, 30 Jun 1998 16:04:44 +0000 (16:04 +0000)]
* m10300-opc.c: Reorder "movbu" and "movhu" instructions too.
Why oh why didn't they take our advice about register prefixing. It would
have avoided the ambigious syntax issues. Sigh.
Jeff Law [Tue, 30 Jun 1998 16:00:12 +0000 (16:00 +0000)]
* elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
(bfd_elf32_bfd_merge_private_bfd_data): Define.
So the machine id gets propagated into executables.