Jeff Law [Wed, 16 Oct 1996 06:21:23 +0000 (06:21 +0000)]
* config/tc-v850.c (md_pcrel_from): Delete unused function.
(md_pcrel_from_section): New function.
* config/tc-v850.h (MD_PCREL_FROM_SECTION): Define.
So we don't screw up pc-relative jumps/calls from one section
into another section within the same .o file.
Fixes global ctors/dtors to work with DECL_ONE_ONLY stuff.
Stu Grossman [Tue, 15 Oct 1996 23:50:54 +0000 (23:50 +0000)]
* config/sim-gdb.exp (gdb_target_sim): Remove setting of height
and width commands. This is done elsewhere.
* (gdb_start): Don't call gdb_start_sim here. That's already
done in gdb_load. This fixes lots of failures in default.exp.
Stu Grossman [Tue, 15 Oct 1996 23:44:13 +0000 (23:44 +0000)]
* buildsym.c (finish_block): Treat LOC_BASEREG_ARG and
LOC_LOCAL_ARG as arguments so that GDB will know about function
args declared this way. Mostly affects dwarf.
* dwarfread.c (decode_die_type): Change default type from int to
void. This allows GDB to recognize void functions.
* (new_symbol): If AT_PROTOTYPED is present, set a flag in the
type structure.
* findvar.c (extract_floating store_floating): Clean up comments
to reflect reality.
* gdbtypes.h: Add TYPE_FLAG_PROTOTYPED so that we can tell if a
function has a prototype. Currently, only dwarf supports this.
* utils.c (floatformat_from_doublest): Fix logic error with
converting from double to float. (It wasn't shifting mant_long if
it had a hidden bit.)
* v850-tdep.c: Add support for function calling. Fix some
problems with debugging code w/o debug symbols.
* config/v850/tm-v850.h: Ditto.
Stu Grossman [Tue, 15 Oct 1996 23:23:00 +0000 (23:23 +0000)]
* interp.c (MEM_SIZE): It's now bytes, not a power of 2.
* (map): Add support for external mem in the 1->2 meg range.
Also, abort() when memory access is way out of bounds. (Better to
die than to give wrong result. (This will be fixed later.))
* (sim_size): MEM_SIZE is now bytes, not shift factor.
Ian Lance Taylor [Mon, 14 Oct 1996 17:54:49 +0000 (17:54 +0000)]
* gas/mips: Add symbols to several testsuites, since the ELF
assembler now always builds a symbol table, which means that
objdump will no longer report `No symbols in FILE'. Change the
expected output accordingly.
* config/obj-elf.c (elf_frob_file): Move ECOFF debug processing to ...
(elf_frob_file_after_relocs): ... here. New function.
* config/obj-elf.h (obj_from_file_after_relocs): New macro.
* write.c (write_object_file): Call *frob_after_relocs after the
call to write_relocs.
* config/tc-alpha.c: Use new BFD_RELOC_ALPHA_ELF_LITERAL reloc.
* config/tc-alpha.c (load_expression): Don't SET_VALUE on the section
symbol, as this messes up linking. Instead, expand the recursive call
inline and change up the appropriate bits to get the 0x8000 offset
in the reloc addend.
* reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL. It was a
mistake to have reused the ECOFF LITERAL for ELF since they have
different semantics.
* elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
* bfd-in2.h, libbfd.h: Rebuild.
Jeff Law [Sat, 12 Oct 1996 03:14:54 +0000 (03:14 +0000)]
* configure.in: Only build the V850 simulator if
we are using gcc.
* configure: Rebuild.
So builds with "cc" don't die in the v850 simulator directory.
Fred Fish [Sat, 12 Oct 1996 00:10:33 +0000 (00:10 +0000)]
* Makefile.in (clean mostlyclean): Also remove chill *.grt files.
(distclean maintainer-clean realclean): No need to remove files
twice. Nuke the duplicates.
* gdb.base/Makefile.in (EXECUTABLES): Add "structs".
* gdb.threads/Makefile.in (distclean maintainer-clean realclean):
Remove config.h along with other config files.
Jeff Law [Fri, 11 Oct 1996 22:06:47 +0000 (22:06 +0000)]
* mn10300-opc.c (mn10300_opcodes): Fix typo in opcode
field for movhu instruction.
Bug found by gas testsuite.
* v850-dis.c (disassemble): For V850_OPERAND_SIGNED operands,
cast value to "long" not "signed long" to keep hpux10
compiler quiet.
Found in an attempt to build the v850 on hpux10 with the HP
compiler.
Jeff Law [Thu, 10 Oct 1996 22:05:54 +0000 (22:05 +0000)]
* gas/mn10300/basic.exp: Check bit patterns for instructions
with a single 8bit or 16bit immediate operand.
We should correctly assemble just about everything except opcodes with:
Jeff Law [Thu, 10 Oct 1996 22:03:16 +0000 (22:03 +0000)]
* config/mn10300.c (md_assemble): Pass an extra shift count
to mn10300_insert_operand based on the opcode format.
(mn10300_insert_operand): Accept and use extra shift count
parameter.
Matsushita
Jeff Law [Thu, 10 Oct 1996 19:13:48 +0000 (19:13 +0000)]
* gas/mn10300/basic.exp: Check bit patterns for many
instructions. Add missing test in do_mov1.
* gas/mn10300/mov1.s: Add missing test.
We should now assemble just about anything without any
immediate operands.
Stan Shebs [Thu, 10 Oct 1996 18:21:37 +0000 (18:21 +0000)]
* mpw-make.sed (config.bfd, targmatch.sed): Edit references to
point explicitly to srcdir.
(targmatch.h): Edit references to point explicitly to objdir.
* ld.h (ld_config_type): Add warn_section_align field.
* lexsup.c (OPTION_WARN_SECTION_ALIGN): Define.
(ld_options): Add --warn-section-align.
(parse_args): Handle --warn-section-align.
* ldlang.c (lang_size_sections): If warn_section_align, warn if
the start of a section changes due to alignment.
* ld.texinfo, ld.1: Document --warn-section-align.
* ld.texinfo: Change some single dashes to double dashes.
PR 10739.
Jeff Law [Tue, 8 Oct 1996 21:09:57 +0000 (21:09 +0000)]
* mn10300-opc.c (mn10300_operands): Remove "REGS" operand.
Fix various typos. Add "PAREN" operand.
(MEM, MEM2): Define.
(mn10300_opcodes): Surround all memory addresses with "PAREN"
operands. Fix several typos.
Should parse all opcodes in the instruction specification, except the
"user extension instructions".
Fred Fish [Tue, 8 Oct 1996 19:00:38 +0000 (19:00 +0000)]
Just some cleanups noticed while working on PR 10760
* dbxread.c (dbx_symfile_read): Call free_pending_blocks rather
than poking global variable (which is now static).
* hpread.c (hpread_build_psymtabs): Ditto.
* os9kread.c (os9k_symfile_read): Ditto.
* xcoffread.c (xcoff_initial_scan): Ditto.
* buildsym.h (free_pending_blocks): Declare here.
(pending_blocks): Remove declaration of global symbol.
(free_pendings): Remove declaration of global symbol.
(make_blockvector): Declare here.
(record_pending_block): Declare here.
* dstread.c (make_blockvector): Remove static copy that was old
clone of version in buildsym.c.
(process_dst_block): Call record_pending_block rather than doing
it by hand.
(read_dst_symtab): Ditto.
* buildsym.c (make_blockvector): Make global rather than static,
(record_pending_block): New function, code moved from finish_block.
(finish_block): Use record_pending_block.
(free_pending_blocks): New function.
(really_free_pendings): Call free_pending_blocks.
(pending_blocks): Make static instead of global.
(free_pendings): Make static instead of global.
* elflink.h (elf_link_add_object_symbols): If a symbol is a weak
definition in a dynamic object, add it to the dynamic symbol table
if any dynamic object mentions it. Reverts part of last patch.
PR 10827.
Stu Grossman [Tue, 8 Oct 1996 17:06:17 +0000 (17:06 +0000)]
* Makefile.in: Add rule for hpux-thread.o (needs special header
files).
* (SUBDIRS): Remove mswin.
* Change procedure for creating init.c. Speeds things up quite a
bit.
* config.in configure configure.in: Check for select, poll.
* Check for OSF header files before including hpux-thread.o.
* Don't configure doc or testsuite when building under MSVC.
* findvar.c value.h (read_register_pid write_register_pid): Make
global. Needed for hppa-tdep.c.
* (supply_register): Don't set pid to inferior_pid when supplying
registers.
* hppa-tdep.c (saved_pc_after_call): frame_saved_pc ->
FRAME_SAVED_PC.
* (frame_saved_pc): Change name to hppa_frame_saved_pc.
* (hppa_pop_frame): Don't use a pid of 0 with target_write_pc.
Use write_pc instead, which uses the correct pid.
* (target_read_pc target_write_pc): Use read/write_register_pid
instead of read/write_register to preserve the pid passed in.
* inftarg.c (child_can_run): Add flag child_suppress_run to allow
hpux-threads.c to override this as a runnable target.
* config/pa/nm-hppah.h: Define target_new_objfile and
target_pid_to_str.
* config/pa/tm-hppa.h (FRAME_SAVED_PC): Use hppa_frame_saved_pc
instead of frame_saved_pc.
* config/m68k/tm-m68k.h: Define TARGET_M68K for Wingdb.
* config/m68k/tm-monitor.h: Use FRAME_CHAIN_VALID_ALTERNATE, since
we can't easily determine the start file bounds with ELF.
* config/mips/tm-mips.h: Define TARGET_MIPS for Wingdb.
* hpux-thread.c: New file for HPUX/OSF thread support.
* osf-share/{README AT386/cma_thread_io.h HP800/cma_thread_io.h
RIOS/cma_thread_io.h cma_attr.h cma_deb_core.h cma_debug_client.h
cma_errors.h cma_handle.h cma_init.h cma_list.h cma_mutex.h
cma_sched.h cma_semaphore_defs.h cma_sequence.h cma_stack.h
cma_stack_int.h cma_tcb_defs.h cma_util.h}: New files for OSF
thread support.
* sunos.c (struct sunos_link_hash_table): Add got_base field.
(sunos_link_hash_table_create): Initialize got_base.
(bfd_sunos_size_dynamic_sections): If the .got section is more
than 0x1000 bytes, set __GLOBAL_OFFSET_TABLE_ and got_base to
0x1000.
(sunos_check_dynamic_reloc): Subtract got_base from a base
relative relocation.
PR 10684.
* elf32-mips.c (elf_mips_isa): New static function.
(_bfd_mips_elf_merge_private_bfd_data): Don't warn about linking
-mips1 and -mips2 code together, or -mips3 and -mips4 code.
Patches from Geoffrey Noer <[email protected]>:
* configure.in: If configuring for newlib, pass --with-newlib to
subdirectories.
* Makefile.in (CC_FOR_TARGET): If winsup/Makefile exists, pass a
-Bnewlib/ and -Lwinsup to gcc.
(CXX_FOR_TARGET): Likewise.
Jeff Law [Mon, 7 Oct 1996 22:52:18 +0000 (22:52 +0000)]
* mn10300-opc.c (FMT_XX): Renumber starting at one.
(mn10300_operands): Rough cut. Enough to parse "mov" instructions
at this time.
(mn10300_opcodes): Break opcode format out into its own field.
Update many operand fields to deal with signed vs unsigned
issues. Fix one or two typos in the "mov" instruction
opcode, mask and/or operand fields.
Checkpointing today's work. Matsushita.
Fred Fish [Mon, 7 Oct 1996 17:58:56 +0000 (17:58 +0000)]
* buildsym.c (finish_block): Change innerblock_anon_complaint to
print the addresses as part of the complaint. Add a complaint for
cases where the block end address is smaller than the block start
address, in case any such conditions slip through our fixup mechanism.
* symmisc.c (dump_symtab): Only print blockvector for primary
symtabs, to avoid massive duplication of output due to secondary
symtabs that point to same blockvector. Also do some minor
formatting tweaks.
* dwarf2read.c (read_tag_reference_type): New fn.
(read_type_die): Call it.
(dwarf_attr): Also look in the DIEs referred to by specification
or abstract_origin attributes.
* config/tc-m68k.c (select_control_regs): New function, extracted
out of m68k_init_after_args.
(m68k_init_after_args): Use it.
(mri_chip): Use it here as well to update set of allowed control
regs for movec.
* config/obj-elf.c (elf_begin): New function.
(obj_elf_section): Add the section symbol to the symbol table.
* config/obj-elf.h (obj_begin): Define.
(elf_begin): Declare.
* as.c (perform_an_assembly_pass): Call obj_begin if it is
defined.