aboutsummaryrefslogtreecommitdiff
path: root/gas/write.c
AgeCommit message (Collapse)AuthorFilesLines
2006-09-22 * as.h (as_perror): Delete declaration.Alan Modra1-11/+4
* gdbinit.in (as_perror): Delete breakpoint. * messages.c (as_perror): Delete function. * doc/internals.texi: Remove as_perror description. * listing.c (listing_print: Don't use as_perror. * output-file.c (output_file_create, output_file_close): Likewise. * symbols.c (symbol_create, symbol_clone): Likewise. * write.c (write_contents): Likewise. * config/obj-som.c (obj_som_version, obj_som_copyright): Likewise. * config/tc-tic54x.c (tic54x_mlib): Likewise.
2006-05-07 * write.c (relax_segment): Add pass count arg. Don't error onAlan Modra1-15/+46
negative org/space on first two passes. (relax_seg_info): New struct. (relax_seg, write_object_file): Adjust. * write.h (relax_segment): Update prototype.
2006-05-03 * subsegs.h (struct frchain): Delete frch_seg.Alan Modra1-35/+44
(frchain_root): Delete. (seg_info): Define as macro. * subsegs.c (frchain_root): Delete. (abs_seg_info, und_seg_info, absolute_frchain): Delete. (subsegs_begin, subseg_change): Adjust for above. (subseg_set_rest): Likewise. Add new frchain structs to seginfo rather than to one big list. (subseg_get): Don't special case abs, und sections. (subseg_new, subseg_force_new): Don't set frchainP here. (seg_info): Delete. (subsegs_print_statistics): Adjust frag chain control list traversal. * debug.c (dmp_frags): Likewise. * dwarf2dbg.c (first_frag_for_seg): Don't start looking for frag at frchain_root. Make use of known frchain ordering. (last_frag_for_seg): Likewise. (get_frag_fix): Likewise. Add seg param. (process_entries, out_debug_aranges): Adjust get_frag_fix calls. * write.c (chain_frchains_together_1): Adjust for struct frchain. (SUB_SEGMENT_ALIGN): Likewise. (subsegs_finish): Adjust frchain list traversal. * config/tc-xtensa.c (xtensa_cleanup_align_frags): Likewise. (xtensa_fix_target_frags, xtensa_mark_narrow_branches): Likewise. (xtensa_mark_zcl_first_insns, xtensa_fix_a0_b_retw_frags): Likewise. (xtensa_fix_b_j_loop_end_frags): Likewise. (xtensa_fix_close_loop_end_frags): Likewise. (xtensa_fix_short_loop_frags, xtensa_sanity_check): Likewise. (retrieve_segment_info): Delete frch_seg initialisation.
2005-11-17* config/tc-ppc.c (ppc_frob_file_before_adjust): Do not referenceAlexandre Oliva1-1/+2
dotname. * write.c (write_object_file): Do not remove used weakrefd.
2005-11-15 * read.c (s_comm_internal): Set bfd_com_section segment.Alan Modra1-6/+0
(s_mri_common): Likewise. * write.c (write_object_file): Remove non-BFD assembler common sym handling.
2005-10-252005-10-25 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-10/+1
* write.c (adjust_reloc_syms): Undo the change made on 2005-04-26 to allow local symbol set to undefined symbol.
2005-10-24gas/ChangeLog:Alexandre Oliva1-3/+7
* read.c (potable): Add weakref. (s_weakref): New. * read.h (s_weakref): Declare. * struc-symbol.h (struct symbol): Add sy_weakrefr and sy_weakrefd. * symbols.c (colon): Clear weakrefr. (symbol_find_exact): Rename to, and reimplement in terms of... (symbol_find_exact_noref): ... new function. (symbol_find): Likewise... (symbol_find_noref): ... ditto. (resolve_symbol_value): Resolve weakrefr without setting their values. (S_SET_WEAK): Call hook. (S_GET_VALUE): Follow weakref link. (S_SET_VALUE): Clear weakrefr. (S_IS_WEAK): Follow weakref link. (S_IS_WEAKREFR, S_SET_WEAKREFR, S_CLEAR_WEAKREFR): New. (S_IS_WEAKREFD, S_SET_WEAKREFD, S_CLEAR_WEAKREFD): New. (symbol_set_value_expression, symbol_set_frag): Clear weakrefr. (symbol_mark_used): Follow weakref link. (print_symbol_value_1): Print weak, weakrefr and weakrefd. * symbols.h (symbol_find_noref, symbol_find_exact_noref): Declare. (S_IS_WEAKREFR, S_SET_WEAKREFR, S_CLEAR_WEAKREFR): Declare. (S_IS_WEAKREFD, S_SET_WEAKREFD, S_CLEAR_WEAKREFD): Declare. * write.c (adust_reloc_syms): Follow weakref link. Do not complain if target is undefined. (write_object_file): Likewise. Remove weakrefr symbols. Drop unreferenced weakrefd symbols. * config/obj-coff.c (obj_frob_symbol): Do not force WEAKREFD symbols EXTERNAL. (pecoff_obj_set_weak_hook, pecoff_obj_clear_weak_hook): New. * config/obj-coff.h (obj_set_weak_hook, obj_clear_weak_hook): Define. * doc/as.texinfo: Document weakref. * doc/internals.texi: Document new struct members, internal functions and hooks. gas/testsuite/ChangeLog: * gas/all/weakref1.s, gas/all/weakref1.d: New test. * gas/all/weakref1g.d, gas/all/weakref1l.d: New tests. * gas/all/weakref1u.d, gas/all/weakref1w.d: New tests. * gas/all/weakref2.s, gas/all/weakref3.s: New tests. * gas/all/gas.exp: Run new tests.
2005-08-29(generic_force_reloc): Do not call S_FORCE_RELOC if there is no symbol.Nick Clifton1-0/+3
2005-08-18(relax_segment): Count the number of frags being processed and use this toNick Clifton1-6/+29
compute a maximum limit on the number of iterations that will be allowed when attempting to relax the segment.
2005-08-11 * README-vms: Delete.Alan Modra1-490/+5
* config-gas.com: Delete. * makefile.vms: Delete. * vmsconf.sh: Delete. * config/atof-tahoe.c: Delete. * config/m88k-opcode.h: Delete. * config/obj-bout.c: Delete. * config/obj-bout.h: Delete. * config/obj-hp300.c: Delete. * config/obj-hp300.h: Delete. * config/tc-a29k.c: Delete. * config/tc-a29k.h: Delete. * config/tc-h8500.c: Delete. * config/tc-h8500.h: Delete. * config/tc-m88k.c: Delete. * config/tc-m88k.h: Delete. * config/tc-tahoe.c: Delete. * config/tc-tahoe.h: Delete. * config/tc-tic80.c: Delete. * config/tc-tic80.h: Delete. * config/tc-w65.c: Delete. * config/tc-w65.h: Delete. * config/te-aux.h: Delete. * config/te-delt88.h: Delete. * config/te-delta.h: Delete. * config/te-dpx2.h: Delete. * config/te-hp300.h: Delete. * config/te-ic960.h: Delete. * config/vms-a-conf.h: Delete. * doc/c-a29k.texi: Delete. * doc/c-h8500.texi: Delete. * doc/c-m88k.texi: Delete. * README: Remove obsolete examples, and list of supported targets. * Makefile.am: Remove a29k, h8500, m88k, tahoe, tic80, w65, bout and hp300 support. (DEP_FLAGS): Don't define BFD_ASSEMBLER. * configure.in: Remove --enable-bfd-assembler, need_bfd, primary_bfd_gas. * configure.tgt: Remove a29k, h8300-coff, h8500-*, i960 non-elf, m68k non bfd, m88k, or32-coff, tic80-*, vax non-bfd, w65k-*, *-nindy. * as.c: Remove all non-BFD_ASSEMBLER code, support for above targets. * as.h: Likewise. * dw2gencfi.c: Likewise. * dwarf2dbg.c: Likewise. * ehopt.c: Likewise. * input-file.c: Likewise. * listing.c: Likewise. * literal.c: Likewise. * messages.c: Likewise. * obj.h: Likewise. * output-file.c: Likewise. * read.c: Likewise. * stabs.c: Likewise. * struc-symbol.h: Likewise. * subsegs.c: Likewise. * subsegs.h: Likewise. * symbols.c: Likewise. * symbols.h: Likewise. * tc.h: Likewise. * write.c: Likewise. * write.h: Likewise. * config/aout_gnu.h: Likewise. * config/obj-aout.c: Likewise. * config/obj-aout.h: Likewise. * config/obj-coff.c: Likewise. * config/obj-coff.h: Likewise. * config/obj-evax.h: Likewise. * config/obj-ieee.h: Likewise. * config/tc-arm.c: Likewise. * config/tc-arm.h: Likewise. * config/tc-avr.c: Likewise. * config/tc-avr.h: Likewise. * config/tc-crx.h: Likewise. * config/tc-d10v.h: Likewise. * config/tc-d30v.h: Likewise. * config/tc-dlx.h: Likewise. * config/tc-fr30.h: Likewise. * config/tc-frv.h: Likewise. * config/tc-h8300.c: Likewise. * config/tc-h8300.h: Likewise. * config/tc-hppa.h: Likewise. * config/tc-i370.h: Likewise. * config/tc-i386.c: Likewise. * config/tc-i386.h: Likewise. * config/tc-i860.h: Likewise. * config/tc-i960.c: Likewise. * config/tc-i960.h: Likewise. * config/tc-ip2k.h: Likewise. * config/tc-iq2000.h: Likewise. * config/tc-m32c.h: Likewise. * config/tc-m32r.h: Likewise. * config/tc-m68hc11.h: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m68k.h: Likewise. * config/tc-maxq.c: Likewise. * config/tc-maxq.h: Likewise. * config/tc-mcore.c: Likewise. * config/tc-mcore.h: Likewise. * config/tc-mn10200.h: Likewise. * config/tc-mn10300.c: Likewise. * config/tc-mn10300.h: Likewise. * config/tc-ms1.h: Likewise. * config/tc-msp430.c: Likewise. * config/tc-msp430.h: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-ns32k.h: Likewise. * config/tc-openrisc.h: Likewise. * config/tc-or32.c: Likewise. * config/tc-or32.h: Likewise. * config/tc-ppc.c: Likewise. * config/tc-ppc.h: Likewise. * config/tc-s390.h: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh.h: Likewise. * config/tc-sparc.c: Likewise. * config/tc-tic30.c: Likewise. * config/tc-tic30.h: Likewise. * config/tc-tic4x.c: Likewise. * config/tc-tic4x.h: Likewise. * config/tc-tic54x.c: Likewise. * config/tc-tic54x.h: Likewise. * config/tc-v850.h: Likewise. * config/tc-vax.c: Likewise. * config/tc-vax.h: Likewise. * config/tc-xstormy16.h: Likewise. * config/tc-xtensa.h: Likewise. * config/tc-z8k.c: Likewise. * config/tc-z8k.h: Likewise. * config/vms-a-conf.h * doc/Makefile.am: Likewise. * doc/all.texi: Likewise. * doc/as.texinfo: Likewise. * doc/Makefile.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * config.in: Regenerate. * po/POTFILES.in: Regenerate.
2005-06-07gas:Zack Weinberg1-2/+2
* cgen.c, cgen.h, tc.h, write.c, config/obj-coff.c * config/tc-a29k.c, config/tc-alpha.c, config/tc-alpha.h * config/tc-arc.c, config/tc-arc.h, config/tc-arm.c * config/tc-arm.h, config/tc-avr.c, config/tc-avr.h * config/tc-cris.c, config/tc-crx.c, config/tc-d10v.c * config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h * config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.h * config/tc-frv.c, config/tc-frv.h, config/tc-h8300.c * config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h * config/tc-i370.c, config/tc-i370.h, config/tc-i386.c * config/tc-i386.h, config/tc-i860.c, config/tc-i860.h * config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c * config/tc-ip2k.c, config/tc-ip2k.h, config/tc-iq2000.c * config/tc-iq2000.h, config/tc-m32r.c, config/tc-m32r.h * config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c * config/tc-m68k.h, config/tc-m88k.c, config/tc-maxq.c * config/tc-mcore.c, config/tc-mcore.h, config/tc-mips.c * config/tc-mips.h, config/tc-mmix.c, config/tc-mn10200.c * config/tc-mn10300.c, config/tc-msp430.c, config/tc-ns32k.c * config/tc-openrisc.h, config/tc-or32.c, config/tc-or32.h * config/tc-pdp11.c, config/tc-pj.c, config/tc-pj.h * config/tc-ppc.c, config/tc-ppc.h, config/tc-s390.c * config/tc-s390.h, config/tc-sh64.c, config/tc-sh.c * config/tc-sh.h, config/tc-sparc.c, config/tc-sparc.h * config/tc-tahoe.c, config/tc-tic30.c, config/tc-tic4x.c * config/tc-tic54x.c, config/tc-tic80.c, config/tc-v850.c * config/tc-v850.h, config/tc-vax.c, config/tc-vax.h * config/tc-w65.c, config/tc-xstormy16.c, config/tc-xstormy16.h * config/tc-xtensa.c, config/tc-z8k.c: Replace all instances of the string "_apply_fix3" with "_apply_fix". * po/POTFILES.in, po/gas.pot: Regenerate. bfd: * coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment. cgen: * doc/porting.texi: Change all mention of md_apply_fix3 and gas_cgen_md_apply_fix3 to md_apply_fix and gas_cgen_md_apply_fix respectively.
2005-05-312005-05-31 Christian Groessler <chris@groessler.org>Christian Groessler1-9/+5
* write.c (dump_section_relocs): Convert to ISO-C. (write_relocs): Avoid signed/unsigned and fprintf argument warnings in debug code.
2005-05-092005-05-09 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-2/+6
PR 936 * config/tc-sh64.c (sh64_fake_label): New. * config/tc-sh64.h (TC_FAKE_LABEL): New. * doc/internals.texi (TC_FAKE_LABEL): Document. * write.c (TC_FAKE_LABEL): New. (adjust_reloc_syms): Use it. (write_object_file): Likewise.
2005-05-05Update the address and phone number of the FSFNick Clifton1-2/+2
2005-05-03bfd/H.J. Lu1-12/+3
2005-05-02 H.J. Lu <hongjiu.lu@intel.com> * bfd.c (bfd): Remove section_tail and add section_last. (bfd_preserve): Likewise. (bfd_preserve_save): Likewise. (bfd_preserve_restore): Likewise. * opncls.c (_bfd_new_bfd): Likewise. * coffcode.h (coff_compute_section_file_positions): Updated. (coff_compute_section_file_positions): Likewise. * elf.c (assign_section_numbers): Likewise. * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. * elf64-mmix.c (mmix_elf_final_link): Likewise. * elfxx-ia64.c (elfNN_ia64_object_p): Likewise. * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. * sunos.c (sunos_add_dynamic_symbols): Likewise. * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. * ecoff.c (bfd_debug_section): Initialize prev. * section.c (bfd_section): Add prev. (bfd_section_list_remove): Updated. (bfd_section_list_append): New. (bfd_section_list_insert_after): New. (bfd_section_list_insert_before): New. (bfd_section_list_insert): Removed. (bfd_section_removed_from_list): Updated. (STD_SECTION): Initialize prev. (bfd_section_init): Updated. (bfd_section_list_clear): Updated. * bfd-in2.h: Regenerated. gas/ 2005-05-02 H.J. Lu <hongjiu.lu@intel.com> * write.c (write_object_file): Use bfd_section_double_list_remove to remove sections. ld/ 2005-05-02 H.J. Lu <hongjiu.lu@intel.com> * emultempl/elf32.em (gld${EMULATION_NAME}_strip_empty_section): Updated for bfd_section_list_remove change. * ldlang.c (lang_insert_orphan): Likewise. (strip_excluded_output_sections): Likewise. (sort_sections_by_lma): New. (lang_check_section_addresses): Sort the sections before checking addresses.
2005-04-26gas/H.J. Lu1-6/+20
2005-04-26 H.J. Lu <hongjiu.lu@intel.com> * config/obj-multi.h (FAKE_LABEL_NAME): Defined. * read.c (pseudo_set): Disallow symbol set to common symbol. PR 857 * write.c (write_object_file): Report common symbol name when disallowing local symbol set to common symbol. (adjust_reloc_syms): Disallow local symbol set to undefined symbol. gas/testsuite/ 2005-04-26 H.J. Lu <hongjiu.lu@intel.com> * gas/all/assign.s: Make `x' and `y' global.
2005-04-202005-04-20 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-2/+2
* config/obj-aout.h (S_IS_EXTERN): Removed. * config/obj-bout.h (S_IS_EXTERN): Likewise. * config/obj-coff.h (S_IS_EXTERN): Likewise. * symbols.c (S_IS_EXTERN): Likewise. * symbols.h (S_IS_EXTERN): Likewise. * config/tc-alpha.c (tc_gen_reloc): Replace S_IS_EXTERN with S_IS_EXTERNAL. * config/tc-d10v.c (md_apply_fix3): Likewise. * config/tc-ia64.c (ia64_fix_adjustable): Likewise. * config/tc-iq2000.c (iq2000_fix_adjustable): Likewise. * config/tc-m32r.c (m32r_fix_adjustable): Likewise. * config/tc-mmix.c (mmix_adjust_symtab): Likewise. * config/tc-sh64.c (shmedia_frob_file_before_adjust): Likewise. (shmedia_md_convert_frag): Likewise. * symbols.c (print_symbol_value_1): Likewise. * write.c (write_object_file): Likewise.
2005-03-03update copyright datesAlan Modra1-1/+1
2005-03-01 * as.h (assert): Warning fix.Alan Modra1-2/+3
* expr.c (expr): Correct assertion. * read.c (s_comm_internal): Remove assertion. * write.c (relax_segment): Enable vma assertion only for BFD_ASSEMBLER. (fixup_segment): Remove assertion. * config/tc-dlx.c (machine_ip): Remove untrue assertions. (md_apply_fix3): Likewise. * config/tc-i370.c (md_begin): Correct assertion. (i370_macro): Warning fix for assertion.
2005-03-01 * configure.in (AC_C_BIGENDIAN): Invoke.Alan Modra1-2/+2
* configure: Regenerate. * write.c (write_object_file <!BFD_ASSEMBLER>): Don't use sizeof host variable to set string header size. * config/obj-aout.c (obj_header_append): Don't use host structs. (obj_symbol_to_chars): Likewise. (obj_emit_strings): Likewise. Use the passed in output pointer. * config/obj-aout.h (H_GET_FILE_SIZE): Include H_GET_LINENO_SIZE. * config/obj-bout.c (obj_emit_relocations): Use md_reloc_size, not sizeof host struct. (obj_header_append, obj_symbol_to_chars): Don't use host structs. (obj_emit_strings): Likewise. * config/obj-bout.h (EXEC_BYTES_SIZE): Define. (N_TXTOFF, H_GET_FILE_SIZE, H_GET_HEADER_SIZE): Use instead of sizeof host struct. (H_SET_SYMBOL_TABLE_SIZE): Hard code sym size rather than using sizeof host struct. (host_number_to_chars): Define. * config/obj-hp300.c (hp300_header_append): Don't use sizeof host internal struct to set header sizes. * config/tc-i960.c (md_number_to_field): Warning fix. (md_ri_to_chars): Use host byte order. (get_cdisp, md_apply_fix3): Warning fix.
2005-02-07 * write.c (write_object_file): Recognize warning-symbol constructHans-Peter Nilsson1-0/+16
and skip object- and target- handling for the second symbol.
2005-01-21 * as.h: Remove #if 0'd code.Ben Elliston1-20/+9
* atof-generic.c (atof_generic): Likewise. * ecoff.c (ecoff_directive_frame): Likewise. * frags.h (FRAG_APPEND_1_CHAR): Likewise. * itbl-ops.c (itbl_add_reg): Likewise. * listing.c (calc_hex): Likewise. * read.c (MASK_CHAR): Likewise. * subsegs.c (subsegs_print_statistics): Likewise. * symbols.c (indent): Likewise. * write.c (write_relocs): Likewise. (write_object_file): Likewise. (relax_frag): Likewise.
2005-01-102005-01-10 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-0/+3
* write.c (write_object_file): Disallow a symbol equated to common symbol.
2004-11-03 * symbols.c (colon) [!WORKING_DOT_WORD]: Don't declareHans-Peter Nilsson1-5/+0
md_short_jump_size, md_long_jump_size. * write.c [!WORKING_DOT_WORD]: Ditto. * tc.h [!WORKING_DOT_WORD]: Declare them here. Drop const qualifier. * config/tc-cris.h (md_short_jump_size, md_long_jump_size): Don't declare. * config/tc-cris.c (md_short_jump_size, md_long_jump_size): Drop const qualifier in these definitions. * config/tc-i370.c, config/tc-m68k.c, config/tc-pdp11.c, config/tc-s390.c, config/tc-tahoe.c, config/tc-vax.c: Ditto.
2004-08-05 * write.c (relax_segment): Use was_address instead of address whenBob Wilson1-1/+1
setting fr_fix field for align frag due to backwards .org.
2004-07-02 * frags.h (struct frag): Add has_code and insn_addr fields.Alan Modra1-1/+4
* write.c (cvt_frag_to_fill): Invoke md_frag_check. * config/tc-ppc.c (md_assemble): Check and set insn_addr. * config/tc-ppc.h (md_frag_check): Define.
2003-12-06 * dwarf2dbg.c: Convert to ISO-C.Kazu Hirata1-138/+87
* write.c: Likewise. * write.h: Likewise.
2003-11-23 * README-vms: Fix comment typos.Kazu Hirata1-1/+1
* as.h: Likewise. * dwarf2dbg.c: Likewise. * ecoff.c: Likewise. * hash.c: Likewise. * listing.c: Likewise. * write.c: Likewise.
2003-08-16 * write.c (fixup_segment): When handling an expression involvingAlan Modra1-9/+3
the subtraction of two symbols in the same segment, don't clear fx_pcrel except for TC_M68K.
2003-06-24Update .comm error messages to assume an unsigned value.Nick Clifton1-9/+9
Update relaxing code to work in 64-bit address spaces.
2003-06-11 * write.c (write_relocs): Use xcalloc. Fix relocs initializationThiemo Seufer1-3/+2
in the RELOC_EXPANSION_POSSIBLE case.
2003-04-07 * write.c (write_relocs): Remove unused variable.Thiemo Seufer1-2/+0
2003-04-01Add Xtensa portNick Clifton1-0/+4
2003-02-12 * write.c (TC_FORCE_RELOCATION_SUB_SAME): Revert last change.Alan Modra1-1/+1
* config/tc-s390.h (TC_FORCE_RELOCATION_SUB_SAME): Define.
2003-01-23 * symbols.c (S_FORCE_RELOC): Add "strict" param.Alan Modra1-4/+17
* symbols.h (S_FORCE_RELOC): Likewise. * config/obj-aout.h (S_FORCE_RELOC): Likewise. * config/obj-bout.h (S_FORCE_RELOC): Likewise. * config/obj-coff.h (S_FORCE_RELOC): Likewise. * config/obj-ieee.h (S_FORCE_RELOC): Likewise. * config/obj-vms.h (S_FORCE_RELOC): Likewise. * write.c (generic_force_reloc): New function. (TC_FORCE_RELOCATION): Use it here instead of S_FORCE_RELOC. (TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too. (adjust_reloc_syms): Adjust S_FORCE_RELOC call. * as.h (generic_force_reloc): Declare. * doc/internals.texi (S_FORCE_RELOC): Update. (TC_FORCE_RELOCATION_SUB_SAME): Update. * config/tc-alpha.c (alpha_force_relocation): Adjust to use generic_force_reloc. (alpha_fix_adjustable): Likewise. * config/tc-arm.c (arm_force_relocation): Likewise. * config/tc-cris.c (md_cris_force_relocation): Likewise. * config/tc-frv.c (frv_force_relocation): Likewise. * config/tc-i386.c (md_apply_fix3): Likewise. * config/tc-ia64.c (ia64_force_relocation): Likewise. * config/tc-ip2k.c (ip2k_force_relocation): Likewise. * config/tc-m32r.c (m32r_force_relocation): Likewise. * config/tc-m68hc11.c (tc_m68hc11_force_relocation): Likewise. * config/tc-mcore.c (mcore_force_relocation): Likewise. * config/tc-mips.c (mips_force_relocation): Likewise. * config/tc-mmix.c (mmix_force_relocation): Likewise. * config/tc-ppc.c (ppc_force_relocation): Likewise. * config/tc-s390.c (tc_s390_force_relocation): Likewise. * config/tc-sh.c (sh_force_relocation): Likewise. (md_pcrel_from_section): Likewise. * config/tc-sparc.c (tc_gen_reloc): Likewise. * config/tc-v850.c (v850_force_relocation): Likewise. * config/tc-xstormy16.c (xstormy16_force_relocation): Likewise. * config/tc-i386.h (TC_FORCE_RELOCATION): Likewise. * config/tc-mcore.h (TC_FORCE_RELOCATION): Likewise. * config/tc-sparc.h (tc_fix_adjustable): Likewise. * config/tc-d10v.c (d10v_force_relocation): Delete. * config/tc-d10v.h (TC_FORCE_RELOCATION): Don't define. * config/tc-dlx.c (md_dlx_force_relocation): Delete. * config/tc-dlx.h (TC_FORCE_RELOCATION): Don't define. * config/tc-fr30.c (fr30_force_relocation): Delete. * config/tc-fr30.h (TC_FORCE_RELOCATION): Don't define. * config/tc-mn10300.c (mn10300_force_relocation): Delete. * config/tc-mn10300.h (TC_FORCE_RELOCATION): Don't define. (TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too. * config/tc-i960.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise. * config/tc-hppa.c (hppa_force_relocation): Adjust S_FORCE_RELOC call. * config/tc-mips.c (RELAX_BRANCH_TOOFAR): Warning fix. * config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Don't define. * config/tc-openrisc.c (openrisc_force_relocation): Delete. * config/tc-openrisc.h (TC_FORCE_RELOCATION): Don't define. * config/tc-sparc.c (elf32_sparc_force_relocation): Delete. * config/tc-sparc.h (TC_FORCE_RELOCATION): Don't define for ELF. * config/tc-i386.c (i386_force_relocation): Delete. * config/tc-i386.h (TC_FORCE_RELOCATION): Don't define for BFD_ASSEMBLER. (EXTERN_FORCE_RELOC): Fix TE_PE and STRICT_PE_FORMAT nesting. * config/tc-m68k.h (TC_FORCE_RELOCATION): Don't define. * config/tc-pj.h (TC_FORCE_RELOCATION): Don't define. * config/tc-sh.h (TC_FORCE_RELOCATION_SUB_ABS): Don't call S_FORCE_RELOC. (TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too. * config/tc-sh64.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
2002-12-12 * write.c (write_object_file): Fix signed/unsigned warning.Alan Modra1-1/+1
* config/e-crisaout.c (crisaout_bfd_name): Prototype. * config/e-criself.c (criself_bfd_name): Prototype. * config/obj-aout.c (s_sect): Remove unused function. * config/obj-bout.c (obj_bout_line <ignore>): Add ATTRIBUTE_UNUSED. * config/obj-coff.c (coff_last_bf): Don't declare for OBJ_XCOFF. (fixup_mdeps <h>): Add ATTRIBUTE_UNUSED. * config/obj-ecoff.c (ecoff_frob_file <addr>): Likewise. * config/obj-vms.c (setup_basic_type <spnt>): Likewise. (VMS_RSYM_Parse <Current_Routine>): Likewise. (vms_fixup_text_section <text_siz>): Likewise. (synthesize_data_segment <data_size>): Likewise. (vms_fixup_xtors_section <sect_no>): Likewise. (structure_count): Don't use implicit int type.
2002-11-30s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. SimplifyAlan Modra1-7/+7
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-11-28 * write.c (subsegs_finish): For SEC_MERGE sections pad last fragmentJakub Jelinek1-1/+19
to entsize.
2002-11-20 * write.c (adjust_reloc_syms): Don't reduce SEC_MERGE fixups withAlan Modra1-1/+2
fx_subsy non-NULL.
2002-11-01 * write.c (TC_FORCE_RELOCATION_SUB_ABS): Default to zero.Alan Modra1-5/+3
(TC_FORCE_RELOCATION_SUB_LOCAL): Likewise when DIFF_EXPR_OK. * doc/internals.texi (TC_FORCE_RELOCATION_SUB_ABS): Document changed default.
2002-09-23* write.c: Delete set_segment_vma and prototype. Update all callers.DJ Delorie1-25/+0
2002-09-19 * write.h (struct fix): Add fx_dot_value.Alan Modra1-1/+6
(dot_value): Declare. * write.c (dot_value): New var. (fix_new_internal): Save dot_value as fx_dot_value. * expr.c (expr): Update dot_value.
2002-09-05gas reloc rewrite.Alan Modra1-353/+227
2002-08-28 * write.c (BFD_FAST_SECTION_FILL): Remove unused macro.Alan Modra1-97/+80
(TC_ADJUST_RELOC_COUNT): Tweak param name. (TC_FORCE_RELOCATION, TC_FORCE_RELOCATION_SECTION): Likewise. (TC_FIX_ADJUSTABLE, MD_PCREL_FROM_SECTION): Likewise. (RELOC_ENUM): Define. (fix_new_internal): Use RELOC_ENUM. (fix_new, fix_new_exp): Likewise. (adjust_reloc_syms): Comment. Remove unnecessary tests on sym != NULL. Replace gotos with continue. (write_relocs): Formatting. Avoid symbol loops in RELOC_EXPANSION_POSSIBLE case too. Report bfd_reloc_outofrange errors, and error number in other cases. (fixup_segment): Remove param names from prototype. Rename "this_segment_type" to "this_segment". Update linkrelax comment. Remove "size, "place" and "where" local vars. Formatting. Update "no symbol" comment. Remove #if 0 and #if 1.
2002-06-08 * as.c: Replace CONST with const.Alan Modra1-3/+3
* write.c: Likewise. * config/obj-coff.c: Likewise. * config/tc-a29k.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-dlx.c: Likewise. * config/tc-h8300.c: Likewise. * config/tc-h8500.c: Likewise. * config/tc-i370.c: Likewise. * config/tc-i860.c: Likewise. * config/tc-i960.c: Likewise. * config/tc-m68hc11.c: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m88k.c: Likewise. * config/tc-mcore.c: Likewise. * config/tc-mips.c: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-pdp11.c: Likewise. * config/tc-pj.c: Likewise. * config/tc-s390.c: Likewise. * config/tc-sh.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-tahoe.c: Likewise. * config/tc-tic80.c: Likewise. * config/tc-v850.c: Likewise. * config/tc-vax.c: Likewise. * config/tc-w65.c: Likewise. * config/tc-z8k.c: Likewise.
2002-05-23 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCALJakub Jelinek1-0/+7
for symbols from SHF_TLS section. (_bfd_elf_print_private_bfd_data): Add PT_TLS. (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections. (map_sections_to_segments): Build PT_TLS segment if necessary. (assign_file_positions_for_segments): Likewise. (get_program_header_size): Account for PT_TLS segment. (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from SEC_THREAD_LOCAL sections to STT_TLS. * reloc.c: Add 386 and IA-64 TLS relocs. * section.c (SEC_THREAD_LOCAL): Define. (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS): Remove. * elflink.h (elf_link_add_object_symbols): Support .tcommon. (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS unconditionally. (struct elf_final_link_info): Add first_tls_sec. (elf_bfd_final_link): Set first_tls_sec. Compute elf_hash_table (info)->tls_segment. (elf_link_output_extsym): Handle STT_TLS symbols. (elf_link_input_bfd): Likewise. * syms.c (BSF_THREAD_LOCAL): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt. * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff, elf_i386_mkobject, elf_i386_object_p): New functions. (elf_howto_table): Add TLS relocs. (elf_i386_reloc_type_lookup): Support TLS relocs. (elf_i386_info_to_howto_rel): Likewise. (struct elf_i386_link_hash_entry): Add tls_type. (struct elf_i386_obj_tdata): New. (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type): New macros. (struct elf_i386_link_hash_table): Add tls_ldm_got. (link_hash_newfunc): Clear tls_type. (elf_i386_check_relocs): Support TLS relocs. (elf_i386_gc_sweep_hook): Likewise. (allocate_dynrelocs): Likewise. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject, elf_backend_object_p): Define. * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset, dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done, want_tprel, want_dtpmod, want_dtprel. (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions. (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to R_IA64_LTOFF_TPREL22. (elf_code_to_howto_index): Add TLS relocs. (elfNN_ia64_check_relocs): Support TLS relocs. (allocate_global_data_got): Account for TLS .got data. (allocate_dynrel_entries): Account for TLS dynamic relocations. (elfNN_ia64_install_value): Supprt TLS relocs. (set_got_entry): Support TLS relocs. (elfNN_ia64_relocate_section): Likewise. * config/obj-elf.c (elf_common): Renamed from obj_elf_common. (obj_elf_common): Call elf_common. (obj_elf_tls_common): New function. (elf_pseudo_tab): Support .tls_common. (special_sections): Add .tdata and .tbss. (obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS sections. (obj_elf_parse_section_letters): Support T in section flags (SHF_TLS). (obj_elf_parse_section_letters): Include T in error message. * config/tc-ppc.c (ppc_section_letter): Likewise. * config/tc-alpha.c (alpha_elf_section_letter): Likewise. (tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as SEC_MERGE. * config/tc-sparc.c (md_apply_fix3): Likewise. * config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs. Define them if not BFD_ASSEMBLER. (lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF and @NTPOFF. (md_apply_fix3): Add TLS relocs. * config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE, FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE, FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE. (pseudo_func): Support @dtpmod(), @dtprel() and @tprel(). (ia64_elf_section_letter): Include T in error message. (md_begin): Support TLS operators. (md_operand): Likewise. (ia64_gen_real_reloc_type): Support TLS relocs. * testsuite/gas/i386/tlspic.s: New file. * testsuite/gas/i386/tlsd.s: New file. * testsuite/gas/i386/tlsnopic.s: New file. * testsuite/gas/i386/tlsd.d: New file. * testsuite/gas/i386/tlsnopic.d: New file. * testsuite/gas/i386/tlspic.d: New file. * testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests. * testsuite/gas/ia64/tls.s: New file. * testsuite/gas/ia64/tls.d: New file. * testsuite/gas/ia64/ia64.exp: Add tls test. * write.c (adjust_reloc_syms): Don't change symbols in SEC_THREAD_LOCAL sections to STT_SECTION + addend. * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. * elf/i386.h: Add TLS relocs. * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss. * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for output section if necessary. Handle .tbss. (lang_size_sections): Clear _raw_size for .tbss section (it allocates space in PT_TLS segment only). * ldwrite.c (build_link_order): Build link order for .tbss too. * readelf.c (get_segment_type): Add PT_TLS. (get_elf_section_flags): Add SHF_TLS. (get_dynamic_flags): Optimize. Add DF_STATIC_TLS. (process_dynamic_segment): Use puts instead of printf. (get_symbol_type): Support STT_TLS. * objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS. Add SEC_THREAD_LOCAL.
2002-05-23 * write.c (size_seg): Check adjustment to last frag.Alan Modra1-5/+22
(SUB_SEGMENT_ALIGN): If HANDLE_ALIGN defined, pad out last frag to section alignment. * config/obj-coff.c (SUB_SEGMENT_ALIGN): Likewise. * config/obj-ieee.c (SUB_SEGMENT_ALIGN): Likewise. (write_object_file): Invoke md_do_align if available, and use frag_align_code on text sections. * config/obj-vms.h (SUB_SEGMENT_ALIGN): Now two args. * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Likewise. * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Likewise. * config/tc-sh.h (SUB_SEGMENT_ALIGN): Likewise. * config/tc-i386.h (SUB_SEGMENT_ALIGN): Likewise. Define for BFD_ASSEMBLER too.
2002-05-13 * write.c (subsegs_finish): Don't specially align last subseg.Alan Modra1-6/+0
2002-05-01 * write.c (cvt_frag_to_fill): Set fr_offset to zero on .orgAlan Modra1-0/+1
backwards to prevent cascading errors.
2002-03-06 * config/tc-i386.c (tc_gen_reloc): Don't attempt to handle 8 byteAlan Modra1-2/+2
relocs except when BFD64. * write.c (number_to_chars_bigendian): Don't abort when N is larger than sizeof (VAL). (number_to_chars_littleendian): Likewise.