aboutsummaryrefslogtreecommitdiff
path: root/gas/as.h
AgeCommit message (Collapse)AuthorFilesLines
1995-08-21 Add support for macros.Ian Lance Taylor1-0/+3
* as.c: Include sb.h and macro.h. (max_macro_next): New global variable. (main): Call macro_init. (macro_expr): New static function. * as.h (max_macro_nest): Declare. * read.c (line_label): Rename from mri_line_label. Change all uses. (potable): Add exitm, irp, irpc, macro, mexit, rept. (read_a_source_file): Always clear line_label at the start of a line, not just when flag_mri or LABELS_WITHOUT_COLONS. Fixup MRI/LABELS_WITHOUT_COLONS handling. In MRI mode, permit label: equ val. Set line_label when calling colon. In MRI mode, a leading '.' does not imply a pseudo-op. Check for macro expansion before calling md_assemble. (s_irp): New function. (get_line_sb): New static function. (s_macro): New function. (s_mexit): New function. (s_rept): New function. * read.h (line_label): Rename from mri_line_label. (s_irp, s_rept): Declare. (s_macro, s_mexit): Declare. * input-scrub.c: Include sb.h. (sb_index, from_sb): New static variables. (macro_nest): New static variable. (struct input_save): Add sb_index and from_sb fields. Change next_saved_file field to be struct input_save *. (next_saved_file): Changed to be struct input_save *. (input_scrub_push): Change to return type struct input_save *. Save sb_index and from_sb. (input_scrub_pop): Change parameter type to struct input_save *. Restore sb_index and from_sb. (input_scrub_include_sb): New function. (input_scrub_next_buffer): Handle reading from from_sb. (bump_line_counters): Only increment lines if not using from_sb. * config/tc-m68k.c (opt_table): Add nest. (opt_nest): New static function. * gasp.c: Include sb.h and macro.h. Move all sb related functions and definitions to sb.h and sb.c. Move all macro related functions and definitions to macro.h and macro.c. * sb.h, sb.c: New files, extracted from gasp.c. * macro.h, macro.c: Likewise. * Makefile.in (OBJS): Add sb.o and macro.o (GASPOBJS): Define. (gasp.new): Depend upon $(GASPOBJS). Use $(GASPOBJS) to link. (TARG_CPU_DEP_m68k): Depend upon subsegs.h. (gasp.o): Depend upon sb.h and macro.h. (sb.o): New target. (macro.o): New target. (as.o): Depend upon sb.h and macro.h. (input-scrub.o): Depend upon sb.h. (read.o): Depend upon sb.h and macro.h.
1995-08-16* as.h (alloca): Use void* declaration on HP/UX.Ken Raeburn1-7/+8
1995-08-09* as.h (alloca): If __STDC__, declare void* instead of char*.Ken Raeburn1-1/+11
1995-07-05 * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.Ian Lance Taylor1-0/+5
(md_parse_option): If OBJ_ELF, check for -K. Die if -K PIC, since PIC code is not currently supported. * as.c (parse_args): Change std_shortopts to be an array rather than a constant string. Only include 'K' if WORKING_DOT_WORD is not defined. Only check for 'K' in that case as well. * as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD is not defined. PR 7131.
1995-05-04* as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already defined, defineKen Raeburn1-15/+20
them to zero. * config/tc-*.h, config/te-*.h: If defining them, define them to be 1 instead of empty. * expr.c (integer_constant, operand): Test them at run time instead of compile time. * read.c (read_a_source_file): Ditto. * symbols.c (colon): Ditto. (dollar_*, define_dollar_label, fb_*): Define unconditionally. * symbols.h (dollar_*, define_dollar_label, fb_*): Declare unconditionally.
1994-12-30* as.h (relax_substateT): Now defined to be unsigned int.Ken Raeburn1-20/+30
(relax_stateT): Separate typedef from enum definition. (enum _relax_state): Reordered for better punctuation. Added new values rs_align_code and rs_space. (lineno, struct lineno_struct): Unused, deleted. For friendlier assertion-failure messages: * as.h: No longer include assert.h. (as_assert): Declare. (assert): New definition, calls as_assert longer needed. (__PRETTY_FUNCTION__): Provide default for older versions of gcc. * messages.c (as_assert): New function. * gdbinit.in: Put a breakpoint there.
1994-12-28* subsegs.h: Include obstack.h.Ken Raeburn1-2/+0
* as.h (struct frag): Enable align* components now.
1994-12-20* frags.c (frag_init): Call obstack_begin on `frags'.Ken Raeburn1-16/+41
* subsegs.c (subsegs_begin): Don't do it here. * as.c (main): Call frag_init before subsegs_begin. * frags.c (frag_append_1_char): New function. * frags.h (frag_append_1_char): Declare it. (FRAG_APPEND_1_CHAR): Call it. Old definition is commented out for now. * as.h (struct frag): Added (but commented out) new fields for tracking current alignment. (frag_now_fix): Changed macro to function declaration. * frags.c (frag_now_fix): Define function here. (frag_new): Use it instead of accessing `frags' directly. * frags.h (frags): Change comment to indicate it shouldn't be accessed directly. * subsegs.h (struct frchain): New field frch_obstack, intended to eventually replace global `frags' obstack. * subsegs.c (subseg_set_rest): Use frag_now_fix instead of accessing `frags' directly. Initialize fields of new frchainS explicitly instead of with memset. * config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use frag_now_fix. * config/tc-mips.c (s_loc), config/obj-vms.c (vms_resolve_symbol_redef), symbols.c (colon): Likewise.
1994-09-14Do unlink/delete test properly.Ken Raeburn1-1/+2
Replace HO_VMS tests with VMS.
1994-09-13Use EXIT_SUCCESS and EXIT_FAILURE in all exit calls.Ken Raeburn1-9/+29
Use exit rather than returning from main, for consistency on VMS. Call as_fatal instead of as_bad or as_warn followed by exit.
1994-08-30fix mpw problem with ".." for stanKen Raeburn1-1/+1
1994-08-28* as.h (flag_*): Added comments describing meanings of some of these variables.Ken Raeburn1-6/+24
(struct frag): Add some comments about the ns32k-specific fields and why they're here. (SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int. (flag_print_statistics): Declare. * as.c (parse_args): Set flag_print_statistics instead of statistics_flag. Options array is now const. Added new option "dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL, TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined. (main): Change test to check flag_print_statistics. (statistics_flag): Deleted.
1994-08-28Conversion to autoconf:Ken Raeburn1-15/+80
* acconfig.h, aclocal.m4: New files. * configure.in: Rewritten (except for some target-specific code) for autoconf. * conf.in, configure: New files, generated from the above. * Makefile.in: Changed magic sequence indicating insertion of makefile fragments. (VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions from configure. (LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h. (config.status, configure): Rewrite rules. (config-stamp): Depend on conf. Skip variables that configure is now substituting itself. (*.o dependencies): Deleted host.h. (distclean, realclean): Don't delete host.h. * as.c: Don't include stdio.h, string.h, sys/types.h. Include signal.h after as.h. * as.h: Include alloca-conf.h first. Include ctype.h, string.h, strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h, fopen-same.h, as suggested by autoconf test results. [BROKEN_ASSERT]: Don't include assert.h. (strdup): Declare. (volatile, const): Define if not __STDC__ and not already defined. (malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare. (free) [NEED_FREE_DECLARATION]: Declare. * gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't include host.h. (malloc) [NEED_MALLOC_DECLARATION]: Declare. * messages.c: Include as.h first. Include errno.h only if HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate. * doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf @-substitutions.
1994-06-03 * as.h: Replace flagseen with separate variables.David MacKenzie1-2/+8
* as.c (parse_args): Set them. Don't accept -1 option, or -v explicitly (it's a synonym for --version). * as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c, config/obj-aout.c, config/obj-aout.h, config/obj-bout.c, config/obj-bout.h, config/obj-coff.c, config/obj-coff.h, config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c, config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c, config/tc-vax.c: Use the new flag variables instead of flagseen. * config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in usage.
1994-06-03 * as.c (show_usage): Remove target specific messages;David MacKenzie1-3/+8
instead, call md_show_usage. (parse_args): Use getopt_long_only. Take pointers to argc and argv. (main): Pass parse_args pointers. * as.h: Remove 3 variables that are redundant with flagseen. * as.c, messages.c: Change their users to use flagseen. Define getopt stuff. * tc.h: Update md_parse_option decl. Add md_show_usage decl. * config/tc-*.c: Add md_shortopts, md_longopts, md_longopts_size, md_show_usage. Change calling convention for md_parse_option. Remove md_parse_long_option. * config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'. * config/tc-i386.h: Don't define md_parse_option.
1994-05-20 * as.h: Don't declare parameters for strstr.Ian Lance Taylor1-6/+11
1994-01-28* as.h: If __GNUC__ and inline are both undefined, define inline away.Ken Raeburn1-1/+5
* write.c (cvt_frag_to_fill): Don't assume that fr_var for rs_align or rs_org frags will be 1. (relax_segment): For rs_align, if fr_var is not 1, complain if required padding is not a multiple of the size of the pad pattern. (fixup_segment): Leave gp-relative relocations alone. For pcrel relocations referring to the same segment, clear fx_pcrel when clearing fx_addsy. * as.h: Adjust comments on rs_align. * write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c: Query the fx_done field instead of fx_addsy to see if the fixup still needs to be applied. Set fx_done and clear fx_addsy both, for now. If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix will only clear fx_addsy, and set fx_done accordingly after returning. * config/tc-sparc.h (TC_HANDLES_FX_DONE): Define. * config/obj-coff.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol): Defined here, static. * config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before including aout/aout64.h. * write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false, don't write out a section symbol even if it's used in a relocation; assume relocations will handle section numbers somehow. Rename "punt_it" label to "punt_it_if_unused" to reflect it's true use. (EMIT_SECTION_SYMBOLS): Default to 1. (adjust_reloc_syms): Don't create a new symbol for an absolute reference; just use the absolute section symbol. (write_relocs): Make printout of reloc values dependent on flag DEBUG3, not DEBUG2. * config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0. * config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
1994-01-27 * messages.c (as_warn_internal): New static function.Ian Lance Taylor1-11/+8
(as_warn, 3 versions): Use as_warn_internal. (as_warn_where, 3 versions): New function. * as.h (as_warn_where): Declare.
1994-01-17 * as.h (subseg_force_new): Add prototype.Jeff Law1-0/+1
1994-01-13* as.h: Include config.h. Added forward declaration for struct symbol.Ken Raeburn1-5/+36
(add_to_literal_pool): Fix declaration.
1993-09-13 * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.Ian Lance Taylor1-11/+5
Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a section name, and subseg_set always takes a segT. Changed all callers as appropriate. * config/obj-coffbfd.c (change_to_section): Renamed to obj_coff_add_segment. Corrected. Made callers use subseg_new. * config/obj-coffbfd.h (obj_segment_name, obj_add_segment): Define. Also some more gcc warning removal.
1993-09-10gcc lint. See ChangeLog for details. Also:Ian Lance Taylor1-45/+6
* config/obj-elf.h (S_SET_SIZE): Actually set the size.
1993-07-14 * Changes to keep a full expression as the value of a symbol, notIan Lance Taylor1-3/+1
just a longword: * struc-symbol.h: New field sy_value. * as.h: Include expr.h before struc-symbol.h. * expr.h: Use struct symbol rather than symbolS. * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value of sy_value field; compile unconditionally, not just if BFD_ASSEMBLER. * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally. * write.c (write_object_file): Set BFD symbol value to gas symbol value. * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h, config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h (S_GET_VALUE, S_SET_VALUE): Removed macro definitions. * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed. * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use S_GET_VALUE rather than ost_entry.n_value. * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars), config/obj-coffbfd.c (symbol_to_chars): Get value to write out using S_GET_VALUE--don't assume it is already set. * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas symbol value. * config/obj-vms.c (various): Don't assign directly to S_GET_VALUE; use S_SET_VALUE instead.
1993-07-07move valueT typedef to as.h from struc-symbol.hKen Raeburn1-13/+58
1993-03-30move local include after system ones; use CONST not constKen Raeburn1-63/+116
1992-12-03Some cleanup.Ken Raeburn1-138/+111
Deleted some unused code. Fixed some declarations to use PARAMS macro. Fixed up configure.in for new targets. Some whitespace/comment fixes. Merged config/ChangeLog.
1992-11-23Ran "indent", for GNU coding style; some code & comments still need fixup.Ken Raeburn1-153/+159
Removed some unneeded files. configure.in: Don't look for te-386bsd.h, which doesn't exist...
1992-08-19mainly link-relax changesKen Raeburn1-8/+9
1992-08-13make it compile on rs6k: declare free, disable assertions, don't define M_RS6000Ken Raeburn1-0/+7
1992-02-22 * app.c: MRI compatibility - allow single quote to start a string.Steve Chamberlain1-3/+6
* as.c: fix typo recently introduced. * as.h : Don't include aout/reloc.h - it's not right for COFF! * expr.c: Much rewriting, to accomodate MRI syntax for expressions. Also easier to read now. * listing.c: Put back defuns * read.c: modified to accept MRI syntax, put back listing pseudo ops so that an assembler built with NO_LISTING ignores list ops rather than pukes. * write.c, write.h: fixs - only keep a reloc type in a fix if the target machine is a SPARC or a 29K. * config/obj-aout.c: added s_sect pseudo op * config/obj-coffbfd.c: lints, set the filehdr flags right and fill in the timestamp. * config/obj-coffbfd.h: Since we don't include aout/reloc.h anymore, define all the relocs which the tc-<x> bit will use so we can translate from them to the coff types. * config/tc-a29k.c: reloc_type isn't ane enum any more * config/tc-m68k.c: Added NO_RELOC definition. Now compiles for sparc aout, 68k aout (MRI and MIT syntax), 29k coff. So far works as replacement for sparc and 68k /bin/as.
1992-02-15White space and comment changes. #ifdef __STDC__ becomes #if __STDC__K. Richard Pixley1-8/+8
== 1. Get the declarations right in listing.[hc].
1992-02-13White space and comments only. The devo tree prior to this delta isK. Richard Pixley1-60/+59
tagged as "vanilla" for your convenience. There are also some comment changes.
1991-11-29Made ebmon29k use coff-bfd backendSteve Chamberlain1-0/+3
1991-11-26Mon Nov 25 17:26:22 1991 Steve Chamberlain (sac at cygnus.com)Steve Chamberlain1-8/+8
* as.c: (perform_an_assembly_pass): moved declaration of i to avoid a syntax error. Now always create the three default sections when in MANY_SEGMENTS mode. * as.h: New improved way of specifying MANY_SEGMENTS * configure.in: hds object format is now coff-bfd * subsegs.h: add line numbers and section stuff to the segment_info structure. (But go back later and fix.. this is COFF specific)
1991-10-08*** empty log message ***Steve Chamberlain1-4/+14
1991-09-01prototype for decode_local_label_name(), better definition ofK. Richard Pixley1-18/+19
obstack_chunk_fns.
1991-04-04Initial revisionK. Richard Pixley1-0/+397