* 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.
* coff-m68k.c (coff_rtype_to_howto): Define if not defined.
(m68kcoff_rtype_to_howto): New static function.
* cf-m68klynx.c (coff_m68k_lynx_rtype_to_howto): Add the section
VMA to the addend for a PC relative reloc.
* configure.in: Add havevecs, and put it in tdefaults.
* mpw-config.in: Likewise.
* configure: Rebuild.
* targmatch.sed: New file; a sed script to build targmatch.h from
config.bfd.
* config.bfd: Add #if, #endif, and comments for targmatch.h.
* targets.c: Include "fnmatch.h".
(struct targmatch): Define.
(bfd_target_match): Define by including targmatch.h.
(bfd_find_target): If the target is not found by name, search for
it as a configuration triplet.
* Makefile.in: Rebuild dependencies.
(BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o,
i386dynix.o, m68k4knetbsd.o, and riscix.o.
(BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c,
hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c.
(HFILES): Add targmatch.h. Also, alphabetize and reindent.
(CFILES): Remove i386dynix.c and hp300bsd.c.
(targmatch.h): New target.
(do_clean): Remove targmatch.h.
* Makefile.in (ALL_MACHINES): Add mn10200-dis.o, mn10200-opc.o,
mn10300-dis.o, and mn10300-opc.o.
Also add d10v and v850 files, with appropriate sanitization.
* config/tc-sparc.c (md_pseudo_table): Make .uahalf, .uaword, and
.uaxword available even if not OBJ_ELF.
(md_atof): Remove unused local variable wordP.
Fred Fish [Thu, 3 Oct 1996 17:05:00 +0000 (17:05 +0000)]
* inferior.h (IN_SIGTRAMP): Pass pc to SIGTRAMP_START and
SIGTRAMP_END.
* config/i386/tm-i386os9k.h (SIGTRAMP_START, SIGTRAMP_END):
Define with dummy pc arg.
* config/m68k/tm-nbsd.h: Ditto.
* doc/gdbint.texinfo: Document that SIGTRAMP_START and
SIGTRAMP_END are macros that take an single argument.
Jeff Law [Thu, 3 Oct 1996 16:42:22 +0000 (16:42 +0000)]
Grrr. The mn10200 and mn10300 are _not_ similar enough to easily support
with a single generic configuration. So break them up into two different
configurations. See the individual ChangeLogs for additional detail.
* obj-evax.h: move openvms definitions from here to tc-alpha.c.
* tc-alpha.c: add support for vms_case_hack like in vax/vms.
(load_expression): track clobbering of base reg before jmp/jsr.
(s_alpha_file): pass case_hack flags and source filename via
symbol table to bfd.
* tc-alpha.h (TC_CONS_FIX_NEW): define
openVMS/Alpha: Provide filename and case_hack flags via
symbol table from gas.
Add case_hack code for symbol output from vax/vms.
* evax-alpha.c (evax_initialize): Remove filename handling,
filename is provided via symbol table.
(evax_get_symtab): Use local symbol count when setting up table.
* evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
debugging.
(_bfd_evax_write_egsd): Skip file name symbol.
* evax-emh.c (get_vms_time_string): Local function now.
(_bfd_evax_write_emh): Extract source filename and case_hack flags
from symbol table.
* evax_write_etir (_bfd_evax_write_etir): Pass all symbol names
through _bfd_evax_case_hack_symbol.
* evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
functions.
(_bfd_evax_basename): Removed.
(_bfd_get_vms_time_string): Moved to evax-emh.c.
* evax.h (evax_private_data_struct): Remove filename.
(flag_hash_long_names, flag_show_after_trunc,
flag_no_hash_mixed_case, vms_name_mapping): New flags for
vms_case_hack.
* lexsup.c (ld_options): Fix typo in --rpath-link description.
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Suggest
--rpath if a needed library is not found.