aboutsummaryrefslogtreecommitdiff
path: root/gas/read.c
AgeCommit message (Collapse)AuthorFilesLines
2007-06-29bfd:Joseph Myers1-0/+120
* elf-attrs.c: New. * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo. (BFD32_BACKENDS_CFILES): Add elf-attrs.c. (elf-attrs.lo): Generate dependencies. * Makefile.in: Regenerate. * configure.in (elf): Add elf-attrs.lo. * configure: Regenerate. * elf-bfd.h (struct elf_backend_data): Add entries for object attributes. (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list, OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST, Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): New. (struct elf_obj_tdata): Add entries for object attributes. (elf_known_obj_attributes, elf_other_obj_attributes, elf_known_obj_attributes_proc, elf_other_obj_attributes_proc): New. (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents, bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int, bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string, bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat, bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup, _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type, _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New. * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes. (bfd_section_from_shdr): Handle attributes sections. * elflink.c (bfd_elf_final_link): Handle attributes sections. * elfxx-target.h (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section_type): New. (elfNN_bed): Update. * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute, aeabi_attribute_list): Remove. (struct elf32_arm_obj_tdata): Remove object attributes fields. (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2, elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes): Update for new object attributes interfaces. (uleb128_size, is_default_attr, eabi_attr_size, elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute, elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link, elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int, elf32_arm_add_eabi_attr_int, attr_strdup, elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved to generic code in elf-attrs.c. (elf32_arm_obj_attrs_arg_type): New. (elf32_arm_fake_sections): Do not handle .ARM.attributes. (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES. (bfd_elf32_bfd_final_link): Remove. (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section_type): New. * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object attributes. * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise. * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise. * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise. * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise. * elf32-sh.c (sh_elf_copy_private_data): Likewise. * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. binutils: * readelf.c (display_gnu_attribute): New. (process_arm_specific): Rearrange as process_attributes. (process_arm_specific): Replace by wrapper of process_attributes. gas: * as.c (create_obj_attrs_section): New. (main): Call create_obj_attrs_section for ELF. * read.c (s_gnu_attribute, skip_whitespace, skip_past_char, skip_past_comma, s_vendor_attribute): New. (potable): Add gnu_attribute for ELF. * read.h (s_vendor_attribute): Declare. * config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper round s_vendor_attribute. (aeabi_set_public_attributes): Update for new attributes interfaces. (arm_md_end): Remove attributes contents setting now done generically. include/elf: * arm.h (elf32_arm_add_eabi_attr_int, elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, elf32_arm_get_eabi_attr_int, elf32_arm_set_eabi_attr_contents, elf32_arm_eabi_attr_size, Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): Remove. * common.h (SHT_GNU_ATTRIBUTES): Define. ld: * emulparams/armelf.sh (OTHER_SECTIONS): Remove .ARM.attributes. (ATTRS_SECTIONS): Define. * scripttempl/elf.sc, scripttempl/elf32sh-symbian.sc, scripttempl/elf_chaos.sc, scripttempl/elfi370.sc, scripttempl/elfxtensa.sc: Handle ATTRS_SECTIONS.
2007-04-22 * read.c (read_a_source_file): Skip multiple spaces toAlan Modra1-11/+4
cover hack in mmix md_start_line_hook which overwrites a colon with a space. Delete sermon and needless assertion.
2007-04-21gas/Alan Modra1-4/+2
* expr.c (expr): Assert on rankarg, not rank which can be unsigned. * read.c (read_a_source_file): Remove buffer_limit[-1] assertion. Don't skip over NUL char. (pseudo_set): Set X_op for registers to O_register. * symbols.c (symbol_clone): Remove assertion that sym is defined. (resolve_symbol_value): Resolve O_register symbols. * config/tc-i386.c (parse_real_register): Don't use i386_float_regtab. Instead find st(0) by hash lookup. * config/tc-ppc.c (ppc_macro): Warning fix. opcodes/ * i386-opc.c (i386_float_regtab, i386_float_regtab_size): Delete. Move contents to.. (i386_regtab): ..here. * i386-opc.h (i386_float_regtab, i386_float_regtab_size): Delete.
2007-03-26 * doc/as.texinfo (Reloc): Document.Alan Modra1-0/+109
* read.c (potable): Add "reloc". (s_reloc): New function. * write.c (reloc_list): New global var. (resolve_reloc_expr_symbols): New function. (write_object_file): Call it. (write_relocs): Process reloc_list. * write.h (struct reloc_list): New. (reloc_list): Declare.
2007-03-09* app.c (do_scrub_chars): Recognize comments after # line "file".Alexandre Oliva1-8/+41
* read.c (get_linefile_number): New. (s_app_line): Accept ill-formed .linefile lines as comments.
2007-03-09* app.c (do_scrub_chars): Turn #<line>"file"flags into .linefile.Alexandre Oliva1-8/+56
* as.h (new_logical_line_flags): New. * input-scrub.c (new_logical_line): Turned into wrapper for... (new_logical_line_flags): this. Handle flags. * read.c (potable): Add linefile. Adjust appline argument. (s_app_file): Fake .appfiles no more. (s_app_line): For .linefile, accept file name and flags.
2006-08-29* read.c (s_align): Initialize the 'stopc' variable to preventNick Clifton1-10/+10
compiler complaints about it being used without being initialized. (s_comm_internal, s_mri_common, s_fail, s_globl, s_space, s_float_space, s_struct, cons_worker, equals): Likewise.
2006-07-24PR/2756Nick Clifton1-3/+7
* read.c (read_a_source_file): Ignore unknown text after line comment character. Fix misleading comment.
2006-07-17 * read.c (s_struct): Use IS_ELF.Thiemo Seufer1-1/+1
* config/tc-mips.c (md_begin, mips16_mark_labels, mips_ip, md_parse_option, s_change_sec, pic_need_relax, mips_fix_adjustable, tc_gen_reloc, mips_frob_file_after_relocs, s_mips_end, s_mips_frame, s_mips_mask): Likewise.
2006-07-16 * read.c (s_struct): Handle ELF section changing.Thiemo Seufer1-0/+6
* config/tc-mips.c (s_align): Leave enabling auto-align to the generic code. (s_change_sec): Try section changing only if we output ELF.
2006-06-07remove some duplicate #include's.Alan Modra1-1/+0
2006-05-01 * listing.c (listing_listing): Remove useless loop.Ben Elliston1-14/+5
* macro.c (macro_expand): Remove is_positional local variable. * read.c (s_comm_internal): Simplify `if' condition 1 || x -> 1 and simplify surrounding expressions, where possible. (assign_symbol): Likewise. (s_weakref): Likewise. * symbols.c (colon): Likewise.
2005-11-17gas/Jan Beulich1-10/+30
2005-11-17 Jan Beulich <jbeulich@novell.com> * symbols.h (S_CLEAR_VOLATILE): Declare. * symbols.c (colon): Also accept redefinable symbols for redefinition. Clone them before modifying. (S_CLEAR_VOLATILE): Define. * cond.c (s_ifdef): Also test for equated symbols. * read.c (s_comm_internal): Also exclude non-redefinable equated symbols. Clone redefinable ones before modifying. (s_weakref): Clone redefinable symbols before modifying. * doc/internals.texi: Document sy_volatile, sy_forward_ref, S_IS_VOLATILE, S_SET_VOLATILE, S_CLEAR_VOLATILE, S_IS_FORWARD_REF, and S_SET_FORWARD_REF. gas/testsuite/ 2005-11-17 Jan Beulich <jbeulich@novell.com> * gas/all/cond.s: Also check ifdef works on equates and commons. * gas/all/cond.l: Adjust. * gas/all/redef2.s: Also test redefining equate to label. * gas/all/redef2.d: Adjust. * gas/all/redef3.[sd]: New. * gas/all/redef4.s: New. * gas/all/redef5.s: New. * gas/elf/redef.s: New, copied from original gas/all/redef2.s. * gas/elf/redef.d: Remove #source. * gas/all/gas.exp: Remove exclusion of iq2000-*-* from and adjust xfails for redefinition tests. Run new tests. Exclude alpha*-*-*, mips*-*-*, *c54x*-*-* from weakref tests.
2005-11-16 * config/tc-ppc.c (ppc_pe_comm): Set bfd_com_section segment.Alan Modra1-9/+1
* config/tc-alpha.c (s_alpha_comm): Likewise. Also, remove redundant check. * read.c (s_lsym): Remove non-BFD assembler sym handling.
2005-11-15 * read.c (s_comm_internal): Set bfd_com_section segment.Alan Modra1-0/+2
(s_mri_common): Likewise. * write.c (write_object_file): Remove non-BFD assembler common sym handling.
2005-11-04gas/ChangeLog:Alexandre Oliva1-0/+8
* read.c (s_weakref): Do not permit redefinitions. * symbols.c (colon): Do not permit redefinitions of equated symbols. gas/testsuite/ChangeLog: * gas/all/gas.exp: Remove weakref xfail. Run weakref4.s. * gas/all/weakref1.s: Move redefinition bits to... * gas/all/weakref4.s: ... new file. * gas/all/weakref1.d: Remove command moved to weakref1u. Adjust remaining command for leading tabs. Regenerate. * gas/all/weakref1l.d: Regenerate. * gas/all/weakref1u.d: Likewise. * gas/all/wealref1w.d: Likewise.
2005-10-27gas/Jan Beulich1-1/+1
2005-10-27 Jan Beulich <jbeulich@novell.com> * read.c (assign_symbol): Also consider equates already defined. * symbols.c (symbol_clone): Also clone the underlying BFD symbol. * config/obj-coff.h (obj_symbol_clone_hook): New. (coff_obj_symbol_clone_hook): Declare. * config/obj-coff.c (coff_obj_symbol_clone_hook): New. gas/testsuite/ 2005-10-27 Jan Beulich <jbeulich@novell.com> * gas/all/gas.exp: Don't xfail equiv1 test anymore.
2005-10-24gas/ChangeLog:Alexandre Oliva1-0/+119
* 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-10-11This adjusts equate handling byNick Clifton1-14/+52
- allowing true forward references (which will always assume the referenced symbols have at the point of use) through the new .eqv pseudo-op and the new == operator - disallowing changing .equiv-generated equates (so that the protection this provides is both forward and backward) - snapshotting equates when their value gets changed so that previous uses don't get affected by the new value. - allowing expressions in places where absolute expressions (or register names) are needed which were not completely resolvable at the point of their definition but which are fully resolvable at the point of use In addition it fixes PR/288.
2005-09-21 * read.c (pseudo_set): Don't set undefined symbols to expr_section.Alan Modra1-1/+4
2005-09-20 * read.c (pseudo_set): Set segment of expression syms to expr_section.Alan Modra1-3/+2
2005-08-11 * README-vms: Delete.Alan Modra1-66/+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-08-07(s_app_line): Accept a line number of 0 for compatibility with gcc's outputNick Clifton1-2/+10
for assembler-with-cpp files.
2005-05-17gas/Jan Beulich1-94/+74
2005-05-17 Jan Beulich <jbeulich@novell.com> * read.c (_find_end_of_line): New. (find_end_of_line): New. (HANDLE_CONDITIONAL_ASSEMBLY): Use it. (read_a_source_file): Use it. (s_globl): Use it. (s_macro): Use it. (get_line_sb): Use it. (s_errwarn): Replace discard_rest_of_line by ignore_rest_of_line. (s_comm_internal): Likewise. (s_lsym): Likewise. (s_macro): Likewise. (s_ignore): Use ignore_rest_of_line. * read.h (find_end_of_line): Prototype. (discard_rest_of_line): Remove prototype. #define to ignore_rest_of_line. gas/testsuite/ 2005-05-17 Jan Beulich <jbeulich@novell.com> * gas/mmix/err-byte1.s: Adjust expected error text on line 10.
2005-05-10gas/Jan Beulich1-4/+9
2005-05-10 Jan Beulich <jbeulich@novell.com> * read.c (s_macro): Move local variable 'local' to smaller scope. Call sb_kill on it when done.
2005-05-06gas/Jan Beulich1-0/+2
2005-05-06 Jan Beulich <jbeulich@novell.com> * cond.c (s_ifb): New. * read.c (potable): Add s_ifb as handler for .ifb and .ifnb. * read.h (s_ifb): Prototype. * doc/as.texinfo: Document .ifb and .ifnb. gas/testsuite/ 2005-05-06 Jan Beulich <jbeulich@novell.com> * gas/all/cond.s: Also test .ifb/.ifnb. * gas/all/cond.d: Adjust.
2005-05-05Update the address and phone number of the FSFNick Clifton1-2/+2
2005-04-29 * Makefile.am (GAS_CFILES): Remove bignum-copy.c.Ben Elliston1-23/+24
(GENERIC_OBJS): Likewise, remove bignum-copy.o. (bignum-copy.o): Remove. * Makefile.in: Regenerate. * makefile.vms (OBJS): Remove bignum-copy.obj. * symbols.h (local_symbol_make): Remove declaration. (verify_symbol_chain_2): Likewise. * symbols.c (local_symbol_make): Make static. (max_indent_level): Likewise. (verify_symbol_chain_2): Remove. * macro.c (macro_hash): Make static. * messages.c (fprint_value): Remove. * read.h (get_absolute_expr): Remove. (emit_leb128_expr): Likewise. (do_s_func): Likewise. * read.c (do_s_func): Make static. (emit_leb128_expr): Likewise. (get_absolute_expr): Likewise. * as.h (as_howmuch): Remove declaration. (fprint_value): Likewise. * as.c (myname): Make static. * input-scrub.c (as_howmuch): Remove. (as_1_char): Likewise. * input-file.h (input_file_is_open): Remove. * input-file.c (input_file_is_open): Likewise. * expr.h (expr_build_unary): Remove declaration. (expr_build_binary): Likewise. * expr.c (expr_build_unary): Remove. (expr_build_binary): Likewise. * hash.h (hash_replace): Remove declaration. (hash_delete): Likewise. * hash.c (hash_replace): Remove. (hash_delete): Likewise. * bignum-copy.c (bignum_copy): Move from here .. * config/tc-vax.c (bignum_copy): .. to here. * bignum.h (LOG_TO_BASE_2_OF_10): Remove. (bignum_copy): Remove extern declaration. * sb.h (string_count): Remove extern declaration. (sb_build, sb_add_buffer, sb_print, sb_print_at): Likewise. (sb_name): Likewise. * sb.c (dsize): Replace preprocessor macro with static int. (string_count): Make static. (sb_build, sb_add_buffer, sb_print, sb_print_at): Likewise. (sb_name): Likewise. * config/obj-coff.c (dim_index): Make static. * config/tc-i386.c (GOT_symbol): Likewise. (output_invalid_buf): Likewise. * doc/internals.texi (Warning and error messages): Remove the prototype for fprint_value.
2005-04-26gas/H.J. Lu1-0/+4
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-25gas/Jan Beulich1-3/+5
2005-04-25 Jan Beulich <jbeulich@novell.com> * macro.c (macro_expand_body): Replace locals indicator parameters with actual macro_entry. New local variables macro_line and err. Don't return when encountering an error, just record the fact. Detect local symbol name colliding with parameter. Track line number inside of macro expansion. (do_formals): Move local variable name to wider scope. Check parameter of the same name doesn't already exist. In MRI mode, also check it doesn't collide with the argument count pseudo-parameter). (define_macro): Add file and line number parameters. Remove local variable namestr. New local variable error. Initialize macro_entry members file, line, and name. Don't return when encountering an error, just record the fact. Use %s in some diagnostics for read.c to insert the macro name. Free macro_entry on error. (macro_expand): Pass macro_entry to macro_epand_body. Don't return when encountering an error, just record the fact. (expand_irp): Don't return when encountering an error, just record the fact. * macro.h (macro_struct): New members name, file, and line. (define_macro): Add file and line number parameters. * read.c (s_macro): Pass file and line to define_macro. Tag warning regarding pseudo-op redefinition with the file/line that macro definition started at. gas/testsuite/ 2005-04-25 Jan Beulich <jbeulich@novell.com> * gas/macros/badarg.s: Add tests for collisions between/among macro parameters and local symbols. * gas/macros/badarg.l: Adjust.
2005-04-11gas/Jan Beulich1-35/+61
2005-04-11 Jan Beulich <jbeulich@novell.com> * NEWS: Mention these changes and their effects. * macro.c (get_token): Use is_name_beginner/is_part_of_name/ is_name_ender. (check_macro): Likewise. (buffer_and_nest): Likewise. Permit multiple labels. Don't discard labels together with the closing pseudo-op. (macro_expand_body): Adjust comment. Range-check input before use. Adjust mis-spelled diagnostic. Use is_name_beginner. * read.c (try_macro): New. (read_a_source_file): New static variable last_eol. Don't list macro expansion lines more than once. Call try_macro. (s_macro): Set section of line_label to absolute instead of undefined. * doc/as.texinfo: Add information on the caveats of these changes. gas/testsuite/ 2005-04-11 Jan Beulich <jbeulich@novell.com> * gas/macros/dot.[ls]: New. * gas/macros/macros.exp: Run new test.
2005-04-09 * read.c (assign_symbol): Remove const from parm. Fix xcallocAlan Modra1-11/+11
call. Don't do the COFF hacks for multi-emulation gas. Move demand_empty_rest_of_line back to caller. (s_set, equals): demand_empty_rest_of_line here.
2005-04-09 PR gas/827Alan Modra1-125/+110
* as.h (rs_dummy): Define. * symbols.c (symbol_X_add_number): New function. * symbols.h (symbol_X_add_number): Declare. * stabs.c (aout_process_stab): Tidy symbol frag setting. * read.c (assign_symbol): New function, split out from s_set. Use symbol_find_or_make. Leave fr_type of dummy frag as rs_dummy. Fix COFF hacks for multi-emulation gas. (s_set): Call assign_symbol. Remove "register" keyword. (set_zero_frag): New function. (pseudo_set): Always check for assignment to section syms. Always set segment and frag of symbol, and likewise extern for aout/bout. Handle assignment of sym=sym+/-const specially. Don't special case exp.X_add_number non-zero for O_symbol expressions. (equals): Use assign_symbol.
2005-03-01 * as.h (assert): Warning fix.Alan Modra1-1/+0
* 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-02-23 * read.c (read_a_source_file): Reinstate TC_EQUAL_IN_INSN test.Catherine Moore1-3/+7
* doc/internals.texi (TC_EQUAL_IN_INSN): Reinstate.
2005-02-22 * read.c: Warning fixes.Alan Modra1-2/+2
* config/obj-elf.c: Likewise.
2005-02-21gas/Alan Modra1-0/+26
* read.c (address_bytes): New function. (TC_ADDRESS_BYTES): Default for BSD_ASSEMBLER to address_bytes. (potable): Add "dc.a". (cons_worker): Handle "dc.a". * doc/internals.texi (TC_ADDRESS_BYTES): Document. ld/testsuite/ * ld-elf/exclude1.s: Use ".dc.a". * ld-elfvsb/hidden2.s: Likewise.
2005-02-19 * config/tc-hppa.h (TC_EQUAL_IN_INSN): Delete.Alan Modra1-5/+1
* read.c (read_a_source_file): Remove TC_EQUAL_IN_INSN test. * doc/internals.texi (TC_EQUAL_IN_INSN): Delete.
2005-02-17 * tc.h (struct relax_type, relax_typeS): Move from here..Alan Modra1-1/+1
* as.h: ..to here. Make rlx_forward and rlx_backward an offsetT. * ecoff.c (ecoff_new_file): Add appfile param. * ecoff.h (ecoff_new_file): Likewise. * itbl-lex.h: New file. * itbl-lex.l: Include itbl-lex.h. * itbl-parse.y: Likewise. (insntbl_line, yyparse, yylex): Move to itbl-lex.h. * read.c (s_app_file_string): Mark appfile possibly unused. * subsegs.c (seg_not_empty_p): Make sec possibly unused. * subsegs.h (struct seg_info_trash): Delete. (seg_info): Use segment_info_type instead. * config/obj-coff.c (struct filename_list): Make filename const char *. * config/obj-ecoff.h (obj_app_file): Pass app to ecoff_new_file. * config/obj-elf.c (elf_file_symbol): Similarly. * config/tc-a29k.c (md_apply_fix3): Make val a valueT. Don't use signed right shift. * config/tc-arc.c (md_operand): Warning fix. * config/tc-arm.c (arm_parse_reloc): Only define when OBJ_ELF. (md_begin): Rearrange #if defined OBJ_COFF || defined OBJ_ELF. * config/tc-cris.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Use do while. * config/tc-frv.c (frv_force_relocation): Warning fix. * config/tc-m68k.c (md_parse_option): Delete unused var. * config/tc-mcore.c (mylog2): Rename from log2 throughout. * config/tc-sparc.c: Likewise. (s_common): Warning fix. * config/tc-mips.c (append_insn): Use unsigned long long expressions. * config/tc-mmix.c (PUSHJSTUB_MAX, PUSHJSTUB_MIN): Define from addressT. * config/tc-s390.c (s390_insn): Delete test of unsigned >= 0. * config/tc-sh.c (sh_cfi_frame_initial_instructions, sh_regname_to_dw2regnum): Only define for OBJ_ELF. * config/tc-tic4x.c (tic4x_insert_reg): Use ISLOWER. (tic4x_do_align): Use TIC_NOP_OPCODE. * config/tc-tic4x.h (TIC_NOP_OPCODE): Rename from NOP_OPCODE. * config/tc-vax.c: Include netinet/in.h. (tc_headers_hook): Formatting. * config/tc-xstormy16.c (md_pcrel_from_section): Correct parens.
2005-01-31gas/Jan Beulich1-5/+9
2005-01-31 Jan Beulich <jbeulich@novell.com> * macro.c (do_formals): Adjust to no longer accept empty parameter names. (define_macro): Adjust to no longer accept empty macro name, garbage following the parameters, or macros that were previously defined. * read.c (s_bad_end): Declare. (potable): Add endm. Handler for endr and endm is s_bad_end. (s_bad_end): Rename from s_bad_endr. Adjust to handle both .endm and .endr. * read.h (s_bad_endr): Remove. gas/testsuite/ 2005-01-31 Jan Beulich <jbeulich@novell.com> * gas/macros/badarg.[ls]: New. * gas/macros/end.[ls]: New. * gas/macros/redef.[ls]: New. * gas/macros/macros.exp (run_list_test): Copy from elsewhere. Run new tests.
2005-01-21 * as.h: Remove #if 0'd code.Ben Elliston1-5/+1
* 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-20 PR gas/684Alan Modra1-4/+4
* read.c (s_incbin): Adjust default count for skip. Check validity of count and skip rigorously.
2005-01-19 * read.c (convert_to_bignum): New function, split out from...Richard Sandiford1-35/+68
(emit_expr): ...here. Handle the case where X_add_number is positive and the input value is negative. (output_big_sleb128): Fix setting of continuation bit. Check whether the final byte needs to be sign-extended. Fix size-shrinking loop. (emit_leb128_expr): When generating a signed leb128, see whether the sign of an O_constant's X_add_number matches the sign of the input value. Use a bignum if not.
2004-12-29 PR gas/619Alan Modra1-3/+1
* read.c (s_comm_internal): Don't zero end of name until size expression has been parsed.
2004-12-07 * read.c (s_align): Use an align_limit temporary to allay a GCCBen Elliston1-2/+3
signed/unsigned comparison warning.
2004-12-02 * read.c (ALIGN_LIMIT): Define, increasing limit for BFD_ASSEMBLER.Alan Modra1-3/+9
(s_align): Use it.
2004-11-22 * read.c (potable): Add "error" and "warning".Hans-Peter Nilsson1-0/+39
(s_errwarn): New function. * read.h (s_errwarn): Declare. * doc/as.texinfo (Error, Warning): Document .error and .warning.
2004-11-10 * obj.h (struct format_ops <app_file>): Add int param.Alan Modra1-3/+3
* read.h (s_app_file_string): Likewise. * read.c (s_app_file_string): Likewise. (s_app_file): Adjust s_app_file_string call. * config/tc-mips.c (s_mips_file): Likewise. * config/obj-coff.h (obj_app_file): Add app param. * config/obj-ecoff.h (obj_app_file): Likewise. * config/obj-multi.h (obj_app_file): Likewise. * config/obj-elf.h (elf_file_symbol): Likewise. * config/obj-elf.c (elf_file_symbol): Only emit one file symbol if called for # preprocessor lines.
2004-08-13Add and handle new --alternate command line option.Nick Clifton1-0/+12
2004-04-19 * read.c (do_align): Call md_flush_pending_output, if defined.Nathan Sidwell1-0/+3