* 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.
Keith Seitz [Sat, 27 Jun 1998 00:45:20 +0000 (00:45 +0000)]
* symtab.h (enum namespace): Add new namespaces FUNCTIONS_NAMESPACE,
TYPES_NAMESPACE, METHODS_NAMESPACE, and VARIABLES_NAMESPACE used by
new search_symbols.
Add prototype for search_symbols and free_search_symbols.
* symtab.c (list_symbols): Rewrite to use new search_symbols.
(file_matches): New helper function for search_symbols.
(free_search_symbols): New function which frees data returned from
search_symbols.
(print_symbol_info): New helper function which prints info about a
matched symbol to stdout. Extracted from old list_symbols.
(print_msymbol_info): New helper function which prints info about
a matched msymbol to stdout. Extracted from old list_symbols.
(symtab_symbol_info): Extracted from old list_symbols.
(variables_info): Use symtab_symbol_info.
(functions_info): Use symtab_symbol_info.
(types_info): Use symtab_symbol_info.
(rbreak_command): Rewrite to use new search_symbols.
* gdbtk.c: Change all references to static global "interp" to
"gdbtk_interp" and export this global.
(gdbtk_init): If gdbtk_source_filename is not NULL, source this file
into the interpreter when it goes idle.
Add new command "gdb_search".
(gdb_search): New function which searches the symbol table.
(gdbtk_test): New function called by main when the --tclcommand
option is used.
* main.c (main): Add a new option "--tclcommand" which is used
by the testsuite to source a file into the interpreter when it
goes idle.
Vladimir Makarov [Fri, 26 Jun 1998 22:25:39 +0000 (22:25 +0000)]
* objcopy.c (strip_main): keep_specific_list == NULL as additional
condition to set up strip all symbols by default.
(copy_archive): don't change archive when error in object files of
the archive.
PR16197
Peter Schauer [Fri, 26 Jun 1998 21:59:29 +0000 (21:59 +0000)]
* gdb.fortran/types.exp: Escape brackets in expect patterns
for test_float_literal_types_accepted tests.
* gdb.base/scope.exp: Remove extraneous newline in filelocal_bss
before run test.
Jeff Law [Fri, 26 Jun 1998 17:24:34 +0000 (17:24 +0000)]
* config/tc-mn10300.c (set_arch_mach): New function.
(md_pseudo_table): Add pseudo-ops to set the current machine type.
(md_begin): Default to mn10300 mode.
(md_assemble): Only accept instructions for the core mn10300
chip and the active machine type.