* ldgram.y: Add section_phdr field to %union.
(section): Handle phdr_opt result. Add OVERLAY case.
(opt_exp_without_type): New nonterminal.
(phdr_opt): Return list of phdrs.
(overlay_section): New nonterminal.
* ldlang.c: Include <ctype.h>.
(lang_leave_output_section_statement): Add phdrs parameter.
Change all callers.
(lang_section_in_phdr): Remove.
(overlay_vma, overlay_lmn, overlay_max): New static variables.
(struct overlay_list): Define.
(overlay_list): New static variable.
(lang_enter_overlay, lang_enter_overlay_section): New functions.
(lang_leave_overlay_section, lang_leave_overlay): New functions.
* ldlang.h (lang_leave_output_section_statement): Update
declaration for new parameter.
(lang_section_in_phdr): Don't declare.
(lang_enter_overlay, lang_enter_overlay_section): Declare.
(lang_leave_overlay_section, lang_leave_overlay): Declare.
* ld.texinfo (Overlays): New node under SECTIONS, documenting
overlays.
* ldlex.l: Recognize MAX and MIN.
* ldgram.y (MAX, MIN): New terminals.
(exp): Recognize MAX and MIN.
* ldexp.c (fold_binary): Handle MAX and MIN.
* ld.texinfo (Arithmetic Functions): Document MAX and MIN.
* ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header
index entries.
* ldgram.y (SIZEOF, ADDR): Do not specify type.
new segment to make them more comprehensible. If the relationship
between the LMA and the VMA changed, start a new segment. Don't
check dynsec when deciding whether to start a new segment for a
writeable section; -N will now handle this.
* som.c: Corresponding changes.
(som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
which don't have a SOM symbol type associated with them.
Reverses a 1994 change.
More PA EH tweakage (to get exception handling tables properly relocated
in shared libraries).
* gdbtk.c (mainWindow): Deleted.
(cleanup_init): Don't destroy main window.
(gdbtk_init): Main window now created by Tk_Init.
* configure.in: Most X checks now handled automatically by Tk.
Use new macros to find Tcl/Tk.
* aclocal.m4: New version for new Tcl/Tk; from Don Libes.
* config.in, configure: Regenerated.
* Makefile.in (TCL, TCL_CFLAGS, TK, TK_CFLAGS, X11_CFLAGS,
X11_LDFLAGS, X11_LIBS): Changed for new Tcl and Tk.
* ldlang.h (struct lang_nocrossref): Define.
(struct lang_nocrossrefs): Define.
(nocrossref_list): Declare.
(lang_add_nocrossref): Declare.
* ldlex.l: Recognize NOCROSSREFS keyword.
* ldgram.y (%union): Add nocrossref field.
(NOCROSSREFS): New terminal.
(ifile_p1): Recognize NOCROSSREFS.
(nocrossref_list): New nonterminal.
* ldlang.c (nocrossref_list): Define.
(lang_add_nocrossref): New function.
* ldmain.c (main): If nocrossref_list is not NULL, call
check_nocrossrefs.
(warning_callback): Free symbols if there is no place to store
them.
(notice): Call add_cref if nocrossref_list is not NULL.
* ldcref.c: Include "ldexp.h" and "ldlang.h".
(check_nocrossrefs): New function.
(check_nocrossref): New static function.
(struct check_refs_info): Define.
(check_refs, check_reloc_refs): New static functions.
* Makefile.in: Rebuild dependencies.
* ld.texinfo (Option Commands): Document NOCROSSREFS.
this, define when contents are included.
(mips_read_processor_type): Add prototype.
* config/mips/xm-mips.h: Remove strdup decl, now in gdb_string.h
* mdebugread.c (ecoff_relocate_efi): Add prototype.
(fixup_sigtramp): Only needed when TM_MIPS_H is defined.
* elf.c (map_sections_to_segments): If D_PAGED is not set, set
phdr_in_section to false, and always use a single load segment.
(elf_sort_sections): Sort sections by LMA after VMA.
(assign_file_positions_for_segments): If D_PAGED is not set, don't
align to maxpagesize.
(assign_file_positions_except_relocs): Likewise.
* elfcode.h (elf_object_p): If a section is loaded but not page
aligned, clear D_PAGED.
* config/tc-arm.c: Changed INSN_SIZE to variable insn_size, as
pre-cursor to adding Thumb support. Also added cpu_variant flag
information to each of the asm_flg structures.
(md_parse_option): Updated ARM7 parsing to allow 't' for
thumb/halfword support, aswell as 'm' for long multiply.
(md_show_usage): Updated help message.
(md_assemble): Check that instruction flags are applicated to the
current cpu variant.
(md_apply_fix3, tc_gen_reloc): Add BFD_RELOC_ARM_OFFSET_IMM8 and
BFD_RELOC_ARM_HWLITERAL relocation support for new halfword and
signextension instructions.
(do_ldst): Generate halfword and signextension variants if
mnemonic flags match.
(ldst_extend): Do not allow shifts in the offset field of halfword
or signextension instructions.
(validate_offset_imm): Provide check on halfword and signextension
immediate range.
(add_to_lit_pool): Merge identical literal pool values.
Wed Jul 31 15:55:12 1996 James G. Smith <jsmith@cygnus.co.uk>
* gas/arm/arm7t.s: Added.
* gas/arm/arm7t.d: Added.
* gas/arm/arm.exp: Updated to run the new test.
* arm-opc.h: (arm_opcodes): Added halfword and sign-extension
memory transfer instructions. Add new format string entries %h and %s.
* arm-dis.c: (print_insn_arm): Provide decoding of the new
formats %h and %s.
(cons_fix_new_hppa): Don't coke on e_esel.
(tc_gen_reloc, SOM version): Handle R_COMP2 when used
to help generate exception handling tables.
(md_apply_fix): Don't try to apply fixups with an e_esel
selector.
(hppa_fix_adjustable): Fixups with e_esel selectors
are not adjustable.
Another stab at EH on the PA.
(e_esel): Similarly.
* som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
(som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
Making another stab at EH support on the PA.