From: Ken Raeburn Date: Fri, 6 Oct 1995 22:39:14 +0000 (+0000) Subject: split change log X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cdc49cba9930a07256eb470cc62c9e2f6abc661a;p=binutils-gdb.git split change log --- diff --git a/gas/.Sanitize b/gas/.Sanitize index bcb8f5ace2e..0ea1b6fd469 100644 --- a/gas/.Sanitize +++ b/gas/.Sanitize @@ -26,6 +26,7 @@ Things-to-keep: CONTRIBUTORS COPYING ChangeLog +ChangeLog.1 Makefile.in NEWS NOTES @@ -106,7 +107,7 @@ Things-to-lose: Do-last: -i960xl_files=ChangeLog +i960xl_files="ChangeLog ChangeLog.1" if ( echo $* | grep keep\-i960xl > /dev/null ) ; then if [ -n "${verbose}" ] ; then echo Keeping i960xl stuff in $i960xl_files. @@ -130,7 +131,7 @@ else fi fi -sh3e_files="ChangeLog" +sh3e_files="ChangeLog ChangeLog.1" if ( echo $* | grep keep\-sh3e > /dev/null ) ; then if [ -n "${verbose}" ] ; then echo Keeping sh3e stuff in $sh3e_files. @@ -154,7 +155,7 @@ else fi fi -rce_files="configure.in as.c configure ChangeLog Makefile.in" +rce_files="configure.in as.c configure ChangeLog Makefile.in ChangeLog.1" if ( echo $* | grep keep\-rce > /dev/null ) ; then for i in $rce_files ; do @@ -183,7 +184,7 @@ else done fi -arc_files="ChangeLog configure.in configure Makefile.in" +arc_files="ChangeLog configure.in configure Makefile.in ChangeLog.1" if ( echo $* | grep keep\-arc > /dev/null ) ; then for i in $arc_files ; do if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then diff --git a/gas/ChangeLog b/gas/ChangeLog index 161f5ce01e4..e035d3eb56d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -71,12589 +71,4 @@ Mon Oct 2 16:15:27 1995 Ian Lance Taylor * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit periods in register names. -Sat Sep 30 23:03:31 1995 Jeff Law (law@hurl.cygnus.com) - - * config/tc-hppa.c (hppa_fix_adjustable): DP relative relocs - are not adjustable in SOM to avoid confusing the optimizing - linker. - -Fri Sep 29 15:18:08 1995 Ian Lance Taylor - - Add some support for i960 MRI compatibility mode. - * config/tc-i960.c (md_pseudo_table): Add endian. - (get_args): Don't discard a space between alphanumeric characters. - (get_cdisp): Change text_section to now_seg. - (s_endian): New static function. - * config/tc-i960.h (MRI_MODE_NEEDS_PSEUDO_DOT): Define. - * expr.h (operatorT): Add O_logical_not, O_logical_and, and - O_logical_or. - * expr.c (operand): Treat '!' as logical not operator. If - TC_I960, in MRI mode permit `sizeof secname' and `startof - secname'. - (op_rank): Bump values by 2 to make room for && and ||. Add - entries for !, &&, and ||. - (expr_begin): Only do MRI changes if TC_M68K. - (operator): Recognize || and &&. - (expr): Handle new operatorT values. - * symbols.c (resolve_symbol_value): Handle new operatorT values. - (print_expr_1): Likewise. - * read.c (potable): Add debug, err, irep, irepc, print, purgem, - and rep. - (read_a_source_file): Handle MRI_MODE_NEEDS_PSEUDO_DOT. - (mri_comment_field): Only handle weird comments if TC_M68K. - (s_err): New function. - (s_org): Only punt in MRI mode if TC_M68K. - (s_mri_sect): Write TC_I960 version. - (s_print, s_purgem): New functions. - * read.h (s_err, s_print, s_purgem): Declare. - * cond.c (s_ifeqs): Implement. - (ignore_input): Handle MRI_MODE_NEEDS_PSEUDO_DOT. - * macro.c (macro_strip_at): New static variable. - (macro_init): Add strip_at parameter. - (do_formals): If macro_strip_at, change NARG to $NARG. - (define_macro): Skip a comma after the macro name. - (get_apost_token): Skip character if macro_strip_at, even if - macro_mri. - (macro_expand_body): If macro_strip_at, don't recognize parameters - in strings unless they are preceded by an '@'. If macro_strip_at, - pass '@' as strip character to sub_actual. If macro_strip_at, - strip '@' characters. - (macro_expand): If macro_strip_at, change NARG to $NARG. - (delete_macro): New function. - (expand_irp): Skip leading and trailing '"' characters if irpc. - * macro.h (macro_init): Mention new strip_at parameter. - (delete_macro): Declare. - * as.c (main): If TC_I960, pass flag_mri to macro_init as - strip_at; otherwise, pass 0. - * gasp.c (process_pseudo_op): Pass 0 to macro_init as strip_at. - (main): Likewise. - * doc/as.texinfo: Document i960 MRI mode. - - * as.c (show_usage): Mention --defsym. - -Thu Sep 28 19:25:04 1995 Stan Shebs - - * mpw-config.in: Translate "powerpc" into "ppc", remove gen of - VERSION, move gen of "conf" here from makefile. - * mpw-make.sed: New file, sed commands to translate Unix makefile - into MPW syntax. - * mpw-make.in: Remove. - * mac-as.r: New file, Mac resource file. - * as.h (inline): Don't decide about defining if __MWERKS__, - remove redundant conditional and definition. - - * stabs.c (s_stab_generic): Fix syntax for OBJ_PROCESS_STAB. - -Thu Sep 28 15:43:15 1995 Kim Knuttila - - * config/tc-ppc.c (md_apply_fix3): Removed some TE_PE specific - manipulations, since I can't prove they're needed. - (md_begin): Removed init_regtable, insert_reg, and the call points. - (register_name): New function. Parses a register name, if appropriate. - (md_assemble): Added call to register_name to handle symbolic names. - (ppc_pe_section): Removed all duplicate IMAGE defines, and include - coff/pe.h instead. - -Thu Sep 28 12:09:19 1995 Ian Lance Taylor - - * config/tc-ppc.h (tc_fix_adjustable): Define. - (ppc_pe_fix_adjustable): Declare. - * config/tc-ppc.c (ppc_pe_fix_adjustable): New function. - -Thu Sep 28 01:11:58 1995 Doug Evans - - * config/tc-arm.h (TARGET_FORMAT): Define for arm-coff. - -Wed Sep 27 12:53:58 1995 Ian Lance Taylor - - * symbols.c (S_IS_LOCAL): All symbols in reg_section are local. - - * config/tc-ppc.h (OBJ_XCOFF): Define if OBJ_COFF and not TE_PE. - Change OBJ_COFF checks to check OBJ_XCOFF instead. - (TARGET_FORMAT): Fully parenthesize. - (LEX_QM): Define if TE_PE. - * config/tc-ppc.c: Replace OBJ_COFF by OBJ_XCOFF throughout. - Remove checks of TE_PE within #ifdef OBJ_XCOFF sections. - (init_regtable): Make i unsigned. - (ppc_set_current_section): Rename from setCurrentSection. Change - all callers. - (ppc_arch): Return after as_fatal to avoid gcc warning. - (md_assemble): Only declare reloc if OBJ_ELF. Add default to - switch on fixups[i].reloc to avoid gcc warning. - (IMAGE_SGN_LNK_OTHER): Fix nested comment. - (ppc_pe_function): Don't call ppc_canonicalize_symbol_name. - (ppc_frob_symbol): Remove TE_PE section checks. - (md_estimate_size_before_relax): Return after abort to avoid gcc - warning. - (md_apply_fix3): Add BFD_RELOC_16_GOT_PCREL to switch. - * read.c (LEX_QM): Define as 0 if not defined. - (lex_type): Use LEX_QM for '?'. - - * configure.in: No need to check whether ${cpu_type} is powerpc; - it never will be. - * configure: Rebuild. - -Wed Sep 27 11:33:38 1995 Michael Meissner - - * config/tc-ppc.c (md_apply_fix3): Remove Sep 26 changes to this - function, keeping other Sep. 26 changes. - -Wed Sep 27 10:29:13 1995 Kim Knuttila - - * configure (emulations): Added support for ppcle-*-[pe|winnt] - (target_frag): Removed an extraneous PPC definition. - * configure.in (emulations): Same - * config/tc-ppc.h: - * config/tc-ppc.c (md_pseudo_table): Base support for new or altered - pseudo ops - There will be more. - (pre_defined_registers): Predefined reg table to name registers, etc - (md_begin): Setup reg table initialization - (md_assemble): Initial [toc]x(rtoc) support - (ppc_frob_label): Removed some xcoff specific processing from TE_PE - (ppc_frob_symbol): Removed some xcoff specific processing from TE_PE - Added support for more predefined sections - (ppc_frob_section): Removed some xcoff specific processing from TE_PE - (ppc_fix_adjustable): Removed from TE_PE mainline - (md_apply_fix3): For TE_PE toc entries, we don't need to mess - with fx_addnumber. Removed for the time being. - (lots): Put back missing assignments to ppc_current_csect. - -Tue Sep 26 14:57:59 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_suffix): Support all of the V.4 - relocations. - (ppc_elf_cons): Remove restriction that @ suffixes must be done - with .long. Add error if relocation does not fit in the number of - bytes provided. - (md_assemble): For absolute branches, map PC relative relocations - back into an equivalent absolute relocation. - (md_pcrel_from): If TC_FORCE_RELOCATION is true, relocation offset - is 0, not segment start. - (md_apply_fix3): Don't bother writing addend into the instruction, - since it is ignored, given that we use RELA relocations for ELF. - - * config/tc-ppc.h (TC_FORCE_RELOCATION): Define to force all - branch prediction relocations to always be emitted. - -Mon Sep 25 16:08:43 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_suffix): Lower case reloc before - testing. - (md_assemble): Be more robust in terms of relocations. - (md_apply_fix3): Allow 14 bit relocs to be emitted for external - symbols in addition to 26 bit relocs. Properly insert 26/14 bit - reloc value fields into the instruction stream. - -Mon Sep 25 00:23:16 1995 Ian Lance Taylor - - * config/tc-arm.c (md_atof): Output little endian constants in - little endian mode. - - * config/obj-coff.c (obj_coff_section): Pass &type, not type, - s_mri_sect. - - * configure.in: Fix typo: fmt-elf to fmt=elf. - -Fri Sep 22 16:34:46 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_suffix): Rewrite to use a table of - strings and relocations they represent. Add @br{,n}taken for - branch taken/not taken support. - (md_apply_fix3): Add BFD_RELOC_PPC_B16_BR{,N}TAKEN support. - -Thu Sep 21 21:10:17 1995 Michael Meissner - - * config/tc-ppc.c (md_parse_option): -mrelocatable-lib now only - sets EF_PPC_RELOCATABLE_LIB and not also EF_PPC_RELOCATABLE. - -Thu Sep 21 16:30:56 1995 Ian Lance Taylor - - * subsegs.c (subseg_set): Permit SEG_ABSOLUTE in know expression. - * expr.c (expr): Account for new operatorT values in know - expression. - - * write.c (fixup_segment): Clear fixp->fx_subsy if the relocation - is fully resolved. - -Thu Sep 21 14:11:49 1995 Michael Meissner - - * config/tc-ppc.c (ppc_flags): New variable to hold the flag bits - to set in the ELF header. - (md_parse_option): Add support for -mrelocatable-lib. Make both - -mrelocatable and -mrelocatable-lib set ppc_flags. - (md_begin): Set ELF flags with ppc_flags. - -Wed Sep 20 13:01:52 1995 Ian Lance Taylor - - * Makefile.in (maintainer-clean): New target, synonym for - realclean. Add GNU standard maintainer-clean echos. - * doc/Makefile.in (maintainer-clean): New target, synonym for - realclean. - -Tue Sep 19 11:31:31 1995 Ian Lance Taylor - - * config/tc-m68k.c (m68k_ip): Reject immediate operands for '%'. - - * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'. - Replace 'P' with '0', '1', and '2'. - - * config/tc-m68k.c (parse_mri_control_operand): Change leftstop - and rightstop to not be const. - (parse_mri_control_expression): Likewise. - (build_mri_control_operand): Likewise. Use m68k_ip_op to examine - the operand, not m68k_reg_parse. - (s_mri_if): In MRI mode, stop at the first '*'. - (s_mri_while): Likewise. - (s_mri_else): In MRI mode, ignore trailing characters. - (s_mri_endi, s_mri_break, s_mri_next, s_mri_for): Likewise. - (s_mri_endf, s_mri_repeat, s_mri_until, s_mri_endw): Likewise. - * config/m68k-parse.y: Revert yesterday's change. - * config/m68k-parse.h: Revert yesterday's change. - -Mon Sep 18 15:22:28 1995 Ian Lance Taylor - - * config/tc-m68k.c (parse_mri_control_operand): Change leftstart - and rightstart to not be const. - (parse_mri_control_expression): Likewise. - (build_mri_control_operand): Likewise. If the left side of the - comparison is a register, and the right side is not, swap the two - sides. - * config/m68k-parse.y (m68k_reg_parse): Make globally visible. - * config/m68k-parse.h (m68k_reg_parse): Declare. - - * read.c (mri_comment_field): New function. - (mri_comment_end): New function. - (s_align_bytes): Use mri_comment_field. - (s_align_ptwo, s_comm, s_mri_common, s_fail, s_globl): Likewise. - (s_float_space, s_struct): Likewise. - (s_space): Use mri_comment_field rather than doing it by hand. - (cons_worker, equals): Likewise. - (s_end): Ignore comments starting with '*' or '!'. - * read.h (mri_comment_field): Declare. - (mri_comment_end): Declare. - * cond.c (s_if): Use mri_comment_field. - * config/tc-m68k.c (s_chip, s_reg): Likewise. - - * write.c (fixup_segment): Handle ABS-sym in -sym case rather than - sym-sym case. - * config/obj-coff.c (fixup_segment): Likewise. Permit negative - symbols if TC_M68K. - * config/tc-m68k.c (tc_coff_fix2rtype): If fx_tcbit is set, return - R_RELLONG_NEG. - (tc_gen_reloc): If fx_tcbit is set, abort. - (md_apply_fix_2): For a negative reloc, move fx_subsy to fx_addsy, - and set fx_tcbit. - - * config/tc-m68k.c (s_reg): Ignore comment field in MRI mode. - -Mon Sep 18 14:44:04 1995 Arne H. Juul - - * configure.in (mips-dec-netbsd*): New target. - * configure: Rebuild. - -Sun Sep 17 22:17:43 1995 Ian Lance Taylor - - * configure.in: Set endian to little for mips-*-ultrix*. - * configure: Rebuild. - -Fri Sep 15 13:16:55 1995 Ian Lance Taylor - - * expr.c (current_location): New static function. Handle magic - symbol `.'; in absolute section, return a constant. - (operand): Call current_location for '.' and '$', instead of doing - it inline. In MRI mode, call current_location for '*'. - -Fri Sep 15 21:39:29 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-m68k.c: Change some "CONST" references to "const". - -Fri Sep 15 17:27:41 1995 Ken Raeburn - - Tue Sep 12 17:08:23 1995 Pat Rankin - - * config/obj-vms.c (VMS_stab_parse): simplify first loop; - use S_GET_NAME/modify/S_SET_NAME sequence instead of abusing - S_GET_NAME when updating symbol name. - (local_symbols_DST): first prefix/postfix typo from July 21st. - [plus comment reformatting --kr] - -Wed Sep 13 12:33:03 1995 Ian Lance Taylor - - * Makefile.in (EXPECT): New variable. - (CHECKFLAGS): Remove. - (site.exp): New target. - (check): Rewrite to invoke runtest directly, rather than recurring - down into testsuite. - (clean-here): Remove testsuite directory. - (clean, distclean): Don't recur into testsuite. - * configure.in: Don't call AC_CONFIG_SUBDIRS(testsuite). - * configure: Rebuild. - - * write.c (relax_and_size_seg): Change to the segment we are - relaxing, in case md_convert_frag, called by cvt_frag_to_fill, - wants to call fix_new. - * config/tc-m68k.c (m68k_ip): Permit PC relative code if the - segment of the symbol is the current segment, not just in - text_section. - (md_convert_frag_1): Don't call subseg_change. - (md_estimate_size_before_relax): Likewise. - -Tue Sep 12 10:36:40 1995 Doug Evans - - * config/tc-arm.c (md_atof): Fix debugging printf, and leave it - out by default. - -Mon Sep 11 11:39:11 1995 Ian Lance Taylor - - * doc/configure.in: Remove unused file. - - * app.c (do_scrub_chars): Grab all available spaces at start of - line before preserving a single space. Remove state == 0 test - which will never succeed. - * macro.c (macro_expand_body): Delete local variables from the - formal hash table. - (macro_expand): In MRI mode, stop when whitespace is seen in the - argument list. - - * sb.c: Include "libiberty.h". - * macro.c: Likewise. Also include if it exists. - -Fri Sep 8 00:27:46 1995 Ian Lance Taylor - - * app.c (do_scrub_chars): In MRI mode, keep a space before a - possible comment character. - * config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after - an instruction which takes no operands. - - * Makefile.in (install): Don't install gasp in $(tooldir). - - * config/tc-mips.c (macro): Handle a non zero base register for - M_U{L,S}{D,W,H}_A. - - * gasp.c (show_usage): Put program_name argument in first fprintf, - not second. - -Thu Sep 7 12:33:58 1995 Ian Lance Taylor - - * expr.c (operand): Handle 08 and 09 in MRI mode. - * macro.c (ISSEP): Remove duplicated `"' character. - (get_any_string): Copy some characters for which ISSEP is true: - ';', '>', '(', ')'. Otherwise we can get in an infinite loop. - * read.c (s_space): In MRI mode, the expressions stop at the first - unquoted space. - (cons_worker): In MRI mode, restore the terminating character at - the end of the function. - - * read.c (cons_worker): Don't use #elif; old compilers don't - support it. - -Wed Sep 6 21:13:06 1995 Ian Lance Taylor - - * app.c (do_scrub_chars): In MRI mode, silently end quoted strings - at newline characters. In MRI mode, always keep spaces in the - operands field. In MRI mode, treat a line comment character as a - regular comment character following a space. - * cond.c (ignore_input): Use strncasecmp rather than strncmp when - looking for special pseudo-ops. - * read.c (cons_worker): In MRI mode, the expressions stop at the - first unquoted space. - (equals): Likewise. - -start-sanitize-sh3e -Wed Sep 6 15:03:53 1995 Jim Wilson - - * config/tc-sh.c (get_operands): Read third arg if it exists. - Otherwise, clear it. - (get_specific, case F_FR0): Add. - -end-sanitize-sh3e -Wed Sep 6 15:03:53 1995 Jim Wilson - - * config/tc-sh.c (get_specific): Delete arg_to_test. - (md_assemble): Increase operand array from 2 to 3. - -Tue Sep 5 16:47:36 1995 Stan Shebs - - * config/tc-mips.c: Remove CYGNUS LOCAL comments. - (md_begin): Use 0/1 instead of TRUE/FALSE. - (md_show_usage): Break up long format string for the benefit - of lame compilers. - * config/tc-m68k.c (md_show_usage): Ditto. - * gasp.c (show_usage): Ditto. - * macro.c (check_macro): Cast result of hash_find. - -Tue Sep 5 14:46:38 1995 Ken Raeburn - - * configure.in: When testing for a free() declaration in system - header files, cast the address to a function pointer, not to an - integer. - - * write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE - is defined. Don't initialize fx_bsr. Verify that fx_size field - is wide enough to hold stored value. - * write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if - that is defined, otherwise omit it. Delete fx_bsr. Change - fx_size to unsigned char. - * config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New - macros. - * config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New - macros. - * config/tc-hppa.h (TC_FIX_TYPE): Define as PTR. - - * config/tc-i860.c (md_apply_fix): Delete code for checking - fx_im_disp, and for handling non-zero values, since it never gets - set after being initialized to zero. - - * write.h (struct fix): Make fx_im_disp always 2 bits, since the - only tc-* files actually using it need that much. - - NS32K changes from Ian Dall: - * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and - ns32k-pc532-lites* like ns32k-pc532-netbsd*. - * config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1. - -Fri Sep 1 17:02:15 1995 steve chamberlain - - * write.c (fixup_segment): Get TC_FORCE_RELOCATION up the - right way! - -Fri Sep 1 08:20:19 1995 James G. Smith - - * config/tc-mips.c (md_parse_option, md_begin, md_show_usage): - Add support for "-mcpu=vr4300" as processor identifier. - -Thu Aug 31 16:41:06 1995 steve chamberlain - - * write.c (fixup_segment): Remove change of 29th. - * config/tc-{i386,arm}.h (TC_FORCE_RELOCATION): Keep RVA relocs. - -Tue Aug 29 19:42:58 1995 Andreas Schwab - - * config/tc-m68k.c (m68k_ip) [case POST/PRE/BASE]: Fix typo when - looking at outer displacement. Don't set the postindex bit if the - index suppress bit is set (for memory indirect addressing mode). - -Thu Aug 31 06:49:37 1995 Doug Evans - - * config/tc-arm.c (tc_gen_reloc): Delete duplicated code. - -Wed Aug 30 23:51:57 1995 Ian Lance Taylor - - * app.c (do_scrub_chars): Free saved_input when the from buffer - exactly fills the to buffer. - -Wed Aug 30 13:46:39 1995 Doug Evans - - * config/tc-sparc.c (parse_keyword_arg, parse_const_expr_arg): New fns. - (sparc_ip): Call them for asi, membar, and prefetch parsing. - -Tue Aug 29 15:45:37 1995 Doug Evans - - * config/tc-sparc.c (membar_masks): Deleted. - (sparc_ip): Clean up ASI and membar support. - -Tue Aug 29 13:20:27 1995 steve chamberlain - - * read.c (potable): Rva is new entry. - (cons_worker): New, split from cons. Handles rva. - (cons, s_rva): Call cons_worker. - * read.h (s_rva): New declaration. - * write.c (fixup_segment): Don't throw away rva relocs. - * config/tc-arm.c (md_apply_fix, tc_gen_reloc): Handle RVA. - * config/tc-i386.c (tc_coff_fix2type): Handle RVA. - * config/tc-i386.h (TC_COUNT_RELOC): Remember RVAs. - (TC_RVA_RELOC): New definition. - -Sun Aug 27 17:41:05 1995 Doug Evans - - * config/tc-arm.c (do_swi): Allow optional leading '#'. - -Sat Aug 26 17:24:20 1995 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-m68k.c (comment_chars): If TE_DELTA is defined, - include '#'. - * config/tc-m68k.h (NO_PSEUDO_DOT): Define if TE_DELTA is - defined. - - * config/te-delta.h: Include obj-format.h. - * config/te-sco386.h: Likewise. - * config/te-sysv32.h: Likewise. - - * app.c (scrub_file): Remove. - (scrub_from_file, scrub_to_file): Remove. - (scrub_string, scrub_last_string): Remove. - (scrub_from_string, scrub_to_string): Remove. - (saved_input, saved_input_len): New static variables. - (struct app_saved): Remove scrub_string, scrub_last_string, and - scrub_file fields. Add saved_input and saved_input_len fields. - (app_push): Adjust saved fields for changes in struct app_save. - Initialize state and saved_input. - (app_pop): Adjust saved fields for changes in struct app_save. - (do_scrub_chars): Rename from do_scrub_next_char and rewrite to - process a buffer at a time rather than a character at a time. - (main, as_warn): Remove obsolete testing code. - * as.h (do_scrub_next_char): Don't declare. - (do_scrub_chars): Declare. - (scrub_from_file, scrub_from_string): Don't declare. - (scrub_to_file, scrub_to_string): Don't declare. - * input-file.c (input_file_get): New static function. - (input_file_give_next_buffer): Call do_scrub_chars rather than - do_scrub_next_char. - * read.c (scrub_string, scrub_string_end): New static variables. - (scrub_from_string): New static function. - (read_a_source_file): Call do_scrub_chars rather than - do_scrub_next_char. - -Thu Aug 24 18:50:19 1995 Ian Lance Taylor (ian@cygnus.com) - - * gasp.c (as_abort): New function. - * sb.c (sb_build): Revert yesterday's patch. - - * Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a. - Just link against libiberty, not against $(LIBS). - -Wed Aug 23 15:18:20 1995 Ian Lance Taylor (ian@cygnus.com) - - * sb.c (sb_build): Undefine abort before calling it, since gasp - does not provide as_abort. - -Wed Aug 23 10:40:41 1995 Michael Meissner - - * config/tc-ppc.c (set_target_endian): New static to say whether - we've initialized target_big_endian or not. - (md_parse_option): Set set_target_endian if we set the variable - target_big_endian. - (md_begin): Only set target_big_endian if !set_target_endian. - -Tue Aug 22 03:00:33 1995 Ken Raeburn - - Sat Aug 19 18:08:16 1995 Pat Rankin - - * config/obj-vms.h (DST_S_C_SRC_SETREC_W, DST_S_C_SRC_DEFLINES_B): - New macros. - * config/obj-vms.c (VMS_TBT_Line_PC_Correlation, - VMS_TBT_Source_Lines): Make traceback info be robust enough to - handle huge source files. - (VMS_TBT_Source_File): Reorganize the native- vs cross-assembly - support so that actual object file output is clearer. - (VMS_TBT_Source_File: Fab, Nam, Date_Xab, File_Header_Xab): - Replace static variables with automatic ones. - - Sat Aug 12 20:18:15 1995 Pat Rankin - - * config/obj-vms.c (Module_Name): new file scope variable. - (VMS_TBT_Module_Begin): use it instead of local variable. - (Write_VMS_MHD_Records): ditto; assign its value here. - (Write_VMS_EOM_Record): second argument has type valueT. - (VMS_Initialized_Data_Size): simplify search loop; return - type is offsetT; second argument is unsigned. - - Sat Jun 17 19:05:25 1995 Pat Rankin (rankin@eql.caltech.edu) - - * messages.c (as_perror): Use xstrerror instead of strerror. - -Mon Aug 21 13:57:20 1995 Ian Lance Taylor - - * as.c (parse_args): Accept --defsym SYM=VALUE. - * doc/as.texinfo, doc/as.1: Document --defsym. - - * read.c (read_a_source_file): In MRI mode, don't end the - statement inside a quotation. - (s_space): Don't warn about a zero repeat count in MRI mode. - * config/tc-m68k.c (crack_operand): In MRI mode, don't count - parentheses inside quotes. - (md_assemble): In MRI mode, anything after the operands field is a - comment. - (parse_mri_control_operand): Adjust start and stop to remove - spaces. - (s_mri_for): Likewise. - - * cond.c (s_ifdef): Restore the character after the symbol name, - in case it is a newline. - (s_if): If ignoring the current tree, don't try to parse the - expression. - - * app.c (do_scrub_next_char): If LEX_IS_STRINGQUOTE or - LEX_IS_ONECHAR_QUOTE is seen in state 10, preserve one space. - - * doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode - now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without - using gasp. - - Add support for macros. - * 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. Fix - 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. - - * cond.c (get_mri_string): New static function. - (s_ifc): New function. - * read.c (potable): Add ifc and ifnc. - * read.h (s_ifc): Declare. - - * app.c (do_scrub_begin): In MRI mode, set lex of ' to - LEX_IS_STRINGQUOTE. - -Mon Aug 21 13:41:33 1995 Michael Meissner - - * config/tc-ppc.c (md_assemble): Allow @HA, @L, and @H suffixes on - constant expressions. - -Sun Aug 20 15:54:37 1995 Jim Wilson - - * config/tc-arm.c (md_reloc_size): Add const to declaration. - -Fri Aug 18 10:58:09 1995 Ian Lance Taylor - - * read.c (s_include): In MRI mode, don't expect quotes around the - file name. - * listing.c (listing_title): Don't require the title to be quoted. - - * gasp.c (include_print_where_line): Always subtract 1 from - linecount before printing it. - (process_file): In MRI mode, lines beginning with '*' or '!' are - comments. - (do_reg): In MRI mode, don't require parentheses. - (do_include): In MRI mode, don't requires quotes. If the file can - not be found in the include path, try opening it in the current - directory. Print the file name correctly in the error message. - (chartype_init): In MRI mode, set FIRSTBIT for '.'. - (main): Set comment_char to ';' when entering MRI mode. - - * config/tc-m68k.c: Include subsegs.h. - (m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case. - (md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead. - - * config/tc-sparc.h (tc_fix_adjustable): For OBJ_AOUT case, adjust - BFD_RELOC_16 and BFD_RELOC_32 relocs. - -Wed Aug 16 14:48:44 1995 Ken Raeburn - - * as.h (alloca): Use void* declaration on HP/UX. - -Wed Aug 16 12:49:17 1995 Ian Lance Taylor - - * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2 - to WPLT30 for an undefined or external symbol. Don't consider - PC10 or PC22 to be a PC relative reloc when choosing between - fx_addnumber and fx_offset. - - * config/tc-z8k.c (md_number_to_chars): Don't do it here, call - number_to_chars_bigendian. - * config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define. - - * expr.c (operand): Add support for .startof. and .sizeof. by - using magic symbol names which the linker will recognize - specially. - * doc/as.texinfo: Take out note that .startof. and .sizeof. are - not supported. - -Tue Aug 15 15:08:49 1995 Ian Lance Taylor - - * config/tc-m68k.c (md_pseudo_table): Add MRI structured control - directives: if, if.b, if.w, if.l, else, else.s, else.l, endi, - break, break.s, break.l, next, next.s, next.l, for, for.b, for.w, - for.l, endf, repeat, until, until.b, until.w, until.l, while, - while.b, while.w, while.l, endw. - (enum mri_control_type): Define. - (struct mri_control_info): Define. - (mri_control_stack): New static variable. - (mri_control_index): New static variable. - (mri_control_label): New static function. - (push_mri_control, pop_mri_control): New static functions. - (parse_mri_condition): New static function. - (parse_mri_control_operand): New static function. - (swap_mri_condition, reverse_mri_condition): New static functions. - (build_mri_control_operand): New static function. - (parse_mri_control_expression): New static function. - (s_mri_if, s_mri_else, s_mri_endi): New static functions. - (s_mri_break, s_mri_next): New static functions. - (s_mri_for, s_mri_endf): New static functions. - (s_mri_repeat, s_mri_until): New static functions. - (s_mri_while, s_mri_endw): New static functions. - * gasp.c (mrikinfo): Remove IF. - * expr.c (get_symbol_end): Accept \001 as part of a name. - - * symbols.c (colon): Change parameter to const char *. - * symbols.h (colon): Update declaration. - -Mon Aug 14 20:51:56 1995 Ken Raeburn - - * write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL - way. Reformat and reindent that code to GNU standards. - (BFD_FAST_SECTION_FILL): Don't define. - -Mon Aug 14 14:08:07 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB - or END_BRTAB fixups. - -Mon Aug 14 15:45:07 1995 Ian Lance Taylor - - * gasp.c (do_align, get_any_string): Mark as static. - (do_assigna, do_assignc, new_file): Likewise. - - * config/tc-m68k.c (s_reg): Rename local op to rop to avoid - confusion with macro op. - - * gasp.c (strip_comments): Comment out; it's not used. - (do_end): Add parameter. In MRI mode, print it out. - (do_irp): New static function. - (sub_actual): Change parameter m to formal_hash, changing type - from macro_entryh * to hash_table *. - (macro_expand_body): New static function, broken out of - macro_expand. - (macro_expand): Call macro_expand_body. - (K_*): Fully parenthesize. - (K_IRP, K_IRPC): Define. - (mrikinfo): Add IRP and IRPC. - (process_pseudo_op): In MRI mode, print out END pseudo-op. Pass - line to do_end. Handle K_IRP and K_IRPC. - - * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we - don't do anything with the option. - -Sun Aug 13 17:03:58 1995 Ian Lance Taylor - - * frags.c (frag_align): Handle absolute_section. - * write.c (record_alignment): Likewise. - - * config/tc-mips.c (macro_build): Skip insns with an inappropriate - ISA level. - -Sun Aug 13 00:35:02 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_pseudo_table): Add entries for - "begin_brtab" and "end_brtab" pseudo-ops. - (pa_brtab): New function. - (tc_gen_reloc, SOM version): Handle R_BEGIN_BRTAB and R_END_BRTAB. - (hppa_force_relocation): Force relocations for BRTAB fixups - when OBJ_SOM is defined. - -Fri Aug 11 20:34:05 1995 Ken Raeburn - - * Makefile.in (TE_OBJS): Add empty definition. - -Fri Aug 11 19:16:08 1995 Ian Lance Taylor - - * gasp.c (change_base): Don't treat ' specially in MRI mode. - (process_file): Don't warn about missing END in MRI mode. - (do_if): New static function. - (get_mri_string, do_ifc): New static functions. - (buffer_and_nest): Treat MRI mode like alternate syntax mode. - (do_aendr): Change error message in MRI mode. - (do_arepeat): Use REPT/ENDR in MRI mode. - (do_formals): In MRI mode, add special NARG formal. - (macro_expand): Various changes for MRI mode: permit a qualifier - on the macro name; set special NARG formal; permit unnamed - positional arguments; use && to concatenate named parameters; - permit \d to specify an unnamed parameter; permit named parameters - to not start with \; use == to see if a parameter exists. - (getstring): In MRI mode, allow <> to quote a string. - (K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define. - (K_IFC, K_IFNC): Define. - (struct keyword): Name structure used in kinfo array. - (mrikinfo): New static array. - (process_pseudo_op): Don't require leading '.' in MRI mode. - Handle new MRI pseudo-op definitions. - (add_keyword): New static function, broken out of process_init. - (process_init): Use add_keyword. In MRI mode, add mrikinfo table. - (long_options): Add "mri". - (show_usage): Mention -M/--mri. - (main): Call process_init after processing arguments. Handle -M. - * doc/gasp.texi: Document -M/--mri. - - * gasp.c: Include ansidecl.h. Make all local functions static. - Add prototypes for all static functions. - (mri): New global variable. - (sb_add_char): Change parameter c from char to int. - (sb_add_string): Make parameter s into a const pointer. - (sb_add_buffer): Likewise. - (checkconst): Change parameter op from char to int. - (exp_get_abs): Make parameter emsg into a const pointer. - (do_res): Change parameter type from char to int. - (buffer_and_nest): Make parameters from and to into const - pointers. - (do_sdata): Change parameter type from char to int. - (new_file): Make parameter name into a const pointer. - (do_define): Make parameter string into a const pointer. - - * config/tc-h8300.c (md_number_to_chars): Don't do it here, call - number_to_chars_bigendian. - * config/tc-h8300.h (TARGET_BYTES_BIG_ENDIAN): Define. - -Fri Aug 11 13:23:56 1995 Michael Meissner - - * write.h (struct fix): Add new field fx_no_overflow. - - * write.c (fixup_segment): If fx_no_overflow is non-zero, don't - complain if the addend is too large. - - * config/tc-ppc.c (md_assemble): Set fx_no_overflow if the half - word relocations BFD_RELOC_{LO16,HI16,HI16_S}. - -Thu Aug 10 20:56:38 1995 Ken Raeburn - - * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and - setting section flags. - -Thu Aug 10 00:38:11 1995 Ian Lance Taylor - - * doc/as.texinfo: Add documentation for MRI compatibility mode. - * doc/as.1: Likewise. - - * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and - iword rather than expr8 and expr16. When recognizing 'M', use - issbyte rather than expr8. When recognizing 'Q' and 't', just - check for O_constant rather than using expr8. - * config/m68k-parse.h (expr8, expr16): Don't define. - * Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not - m68k-parse.y. - - * read.c (potable): Add spc, ttl, xcom, xref. - (s_mri_sect): New function. - * read.h (s_mri_sect): Declare. - * config/obj-coff.c (obj_coff_section) (both versions): In MRI - mode, call s_mri_sect. - (obj_pseudo_table): Add sect.s and section.s. Move sect outside - of ifndef BFD_ASSEMBLER. - * config/obj-elf.c (elf_pseudo_table): Add section.s, sect, - sect.s. - (obj_elf_section): In MRI mode, call s_mri_sect. - * config/tc-m68k.c (md_pseudo_table): Add restore, save. - (struct save_opts): Define. - (save_stack): New static variable. - (s_save, s_restore): New static functions. - - * read.c (s_set): Remove unused local ptr. - (hex_float): Check target_big_endian. - (equals): Remove unused local p. - - * config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define. - * config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define. - * config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define. - * config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define. - * config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define. - * config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define. - * config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define. - * config/tc-sh.c (little): Set target_big_endian. - (md_begin): Likewise. - (md_parse_option): Likewise. - (build_relax): Check target_big_endian rather than shl. - (build_Mytes, md_atof): Likewise. - (md_convert_frag, md_apply_fix): Likewise. - (md_number_to_chars): Likewise. - -Wed Aug 9 10:51:48 1995 Ian Lance Taylor - - * config/tc-m68k.c (m68k_abspcadd): New static variable. - (m68k_quick): New static variable. - (m68k_rel32): New static variable. - (md_pseudo_table): Add opt and reg. - (m68k_ip): Permit absolute symbols in 'l'/'L' recognition. Check - m68k_quick in 'M' and 'Q' recognition. Check m68k_abspcadd in - DISP handling. Check m68k_rel32 in BASE/POST/PRE handling. - (md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32. - In MRI mode, change unsized branch aliases to be variable sized. - (struct opt_action): Define. - (opt_table): Define. - (s_opt): New static function. - (skip_to_comma): New static function. - (opt_chip): New static function. - (opt_list): New static function. - (opt_list_symbols): New static function. - (s_reg): New static function. - * as.h (flag_keep_locals): Change from unsigned char to int. - (flag_no_warnings): Likewise. - - * read.c (mri_line_label): Make non-static. - (potable): Add nopage, page, plen. - (s_org): Error if in MRI mode. - * read.h (mri_line_label): Declare. - * listing.c (listing_nopage): New function. - * listing.h (listing_nopage): Declare. - - * symbols.c (symbol_begin): Set sy_frag of abs_symbol to - &zero_address_frag. - - * write.c (adjust_reloc_syms): Check that symbol is not NULL - before checking sy_mri_common. - (fixup_segment): Likewise. - * config/obj-coff.c (fixup_segment): Likewise. - - * read.c (abs_section_offset): New global variable. - (potable): Add offset, struct. - (do_org): New static function; handle changing the origin in the - absolute section. - (s_org): Use do_org. - (s_set): Likewise. - (equals): Likewise. - (s_space): In absolute_section, just increase abs_section_offset. - (s_struct): New function. - (emit_expr): Handle absolute_section specially. - * read.h (abs_section_offset): Declare. - (s_struct): Declare. - * frags.c (frag_more): Warn if in absolute_section. - (frag_now_fix): In absolute_section, return abs_section_offset. - * subsegs.c (subseg_change): If switching to absolute_section, - just set now_seg and now_subseg. - (subseg_set_rest): Special handling when switching to or from - absolute_section. - - * config/tc-m68k.c (m68k_float_copnum): New static variable. - (md_pseudo_table): Add fopt and mask2. - (m68k_ip): Use m68k_float_copnum, not COPNUM, when setting - coprocessor register to use. In case 'I' when checking operands, - correct coprocessor register numbers. In case 'I' when setting - operands, don't add 1. - (s_fopt): New static function. - * config/m68k-parse.h (COPNUM): Don't define. - - * read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne. - Change if to pass O_ne to s_if. - (read_a_source_file): Don't define an label without a colon if - ignore_input returns true. - * cond.c (s_if): Treat argument as an operatorT describing how to - compare the argument against zero. - (ignore_input): Don't require an initial dot in MRI mode, or if - NO_PSEUDO_DOT is defined. - - * read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w, - dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen, - noformat. - (read_a_source_file): If pseudo-op handler is s_end, quit - immediately. - (s_end): New function. - (s_fail): New function. - (s_float_space): New function. - (hex_float): New static function. - (float_cons): Use hex_float. - * read.h (s_fail): Declare. - (s_float_space): Declare. - * cond.c (s_end): Remove. - * listing.c (listing_psize): Treat argument as indicating whether - a height is expected. - - * read.c (mri_pending_align): New static variable. - (read_a_source_file): Handle mri_pending_align. - (cons): Set mri_pending_align if appropriate. - - * configure.in: Move random special target handling before - possible break. - * configure: Rebuild. - -Tue Aug 8 23:41:25 1995 Alan Modra - - * configure.in: Consistently use ${target_cpu_type} rather than - ${cpu_type} after the loop. - * configure: Rebuild. - * Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than - @cpu_type@. - -Tue Aug 8 17:27:17 1995 Ken Raeburn - - * expr.h (operatorT): Remove comma after last enumerator value. - - * config/obj-vms.c: Some whitespace cleanup from Pat Rankin. - - * as.h (alloca): If __STDC__, declare void* instead of char*. - - Wed Aug 2 18:54:37 1995 Pat Rankin - - * config/obj-vms.c (Flush_VMS_Object_Record_Buffer, - Close_VMS_Object_File): Reorganize the `#if !VMS' cross-assmebler - support code. - (Close_VMS_Object_File): Call Set_VMS_Object_File_Record to flush - output buffer--just in case--before closing the file. - -Tue Aug 8 13:07:05 1995 Ian Lance Taylor - - * config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001, - 68ec020, 68ec030, 68ec040, and 68330. - (md_pseudo_table): Add chip and comline. - (m68k_init_after_args): Use strcasecmp when comparing default_cpu - against architectures. - (mri_chip, s_chip): New static functions. - - * struc-symbol.h (struct symbol): Add sy_mri_common bit. - * read.h (mri_comon_symbol): Declare. - (s_mri_common): Declare. - * read.c (mri_line_label): New static variable. - (mri_common_symbol): New global variable. - (potable): Add "common" and "common.s". - (read_a_source_file): In MRI mode, set mri_line_label for a label - at the start of a line. - (s_mri_common): New function. - (s_space): Handle mri_common_symbol. - * symbols.c (colon): Change return value from void to symbolS *, - and return new symbol. If mri_common_symbol is set, attach the - new symbol to it. - (resolve_symbol_value): Handle an sy_mri_common symbol. - * symbols.h (colon): Change return value in declaration. - * subsegs.c (subseg_set_rest): Clear mri_common_symbol. - (subseg_set (both versions)): Likewise. - * frags.c (frag_more): Warn if mri_common_symbol is not NULL. - * write.c (adjust_reloc_syms): Skip sy_mri_common symbols. - (write_object_file): Discard sy_mri_common symbols. - (fixup_segment): Change relocations against sy_mri_common symbols - to be against the common symbol itself. - * config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols. - (fixup_segment): Change relocations against sy_mri_common symbols - to be against the common symbol itself. - * config/obj-aout.c (obj_crawl_symbol_chain): Discard - sy_mri_common symbols. - - * doc/c-m68k.texi: Add documentation for CPU specific options, and - for Motorola syntax. - - * config/m68k-parse.y (motorola_operand): For (%pc), set mode to - DISP, not BASE. - -Tue Aug 8 02:31:38 1995 Ken Raeburn - - * write.c (relax_align): Add extra padding for linkrelax only if - LINKER_RELAXING_SHRINKS_ONLY is defined. - * config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it. - * doc/internals.texi (Relaxation): Write up some stuff on linker - relaxing and LINKER_RELAXING_SHRINKS_ONLY. - -Mon Aug 7 17:18:10 1995 Ian Lance Taylor - - * config/m68k-parse.y: New file: bison grammar for m68k operands, - including support for Motorola syntax. - * config/m68k-parse.h: New file; definitions shared between - m68k-parse.y and tc-m68k.c. - * config/tc-m68k.c: Include m68k-parse.h. - (enum operand_type): Move to m68k-parse.h, where it is named - m68k_operand_type. Rename all uses. Rearrange somewhat. Add - FPREG. Rename AOFF to DISP. Rename AINDX to BASE. Rename APODX - to POST. Rename APRDX to PRE. Remove AMIND. Rename MSCR to - CONTROL. Remove DINDR. - (struct m68k_exp): Move to m68k-parse.h. Remove e_beg, e_end and - e_seg fields. Rename e_exp to exp. Rename e_siz to size, and - change type to enum m68k_size. Change all uses. - (enum _register): Move to m68k-parse.h, where it is named - m68k_register. Rename all uses. Add ZDATA0-7 and ZADDR0-7. - (struct m68k_op): Move to m68k-parse.h. Change all fields. - (seg): Don't define. - (add_exp): Remove. - (FAIL, OK): Remove. - (m68k_reg_parse): Move to m68k-parse.y, and rewrite. - (SKIP_WHITE, SKIP_W): Remove. - (try_moto_index, try_index): Remove. - (m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar. - (main): Remove obsolete test function. - (m68k_ip): Extensive changes to use new grammar. - (get_regs): Remove. - (crack_operand): m68k_ip_op now returns 0 on success. - (init_table): Add ssp, zd0-7 and za0-7. - (md_assemble): Make er const. Correct loop over operands when - looking for error message. - (md_begin): Set alt_notend_table for '(' and '@'. - (get_num): Expression is already parsed. Don't set seg. - * configure.in: If cpu_type is m68k, put m68k-parse.o in - extra-objects. - * configure: Rebuild. - * Makefile.in (DISTSTUFF): Add m68k-parse.c. - (BISON): Use ../bison/bison if it exists. - (BISONFLAGS): Define as empty. - (TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h. - (m68k-parse.c, m68k-parse.o): New targets. - -start-sanitize-sh3e -Mon Aug 7 02:54:20 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-sh.c (parse_reg): Handle new FP registers. - (get_specific): Handle new operand types. - -end-sanitize-sh3e -Fri Aug 4 12:29:21 1995 Ian Lance Taylor - - * expr.c (op_encoding): Make non-const. Don't set '"' to - O_bit_not. - (expr_begin): Set op_encoding['"'] in MRI mode. - -Wed Aug 2 18:39:43 1995 Ian Lance Taylor - - * config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff. - (struct m68k_incant): Change m_operands field to be const. - (struct m68k_it): Change args field to be const. - (m68k_ip): Change local variable s to be const. - (opcode_ptr): Remove. - (md_begin): Use m68k_numopcodes, not numopcodes. Use - m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not - numaliases. - -Tue Aug 1 17:35:26 1995 Ian Lance Taylor - - * config/tc-m68k.c (init_table): Add "control", "status", "iaddr", - "sfcr", and "dfcr" as synonyms for existing entries. - (md_begin): In MRI mode, force flag_reg_prefix_optional to 1. - (md_parse_option): Removed unused locals i and arch. Change type - of arch (another one) to unsigned long. - (tc_coff_sizemachdep): Add return after abort to avoid warning. - - Initial support for MRI style labels and expressions. - * as.h (flag_mri): Declare/define. - * as.c (show_usage): Mention -M and its synonym --mri. - (parse_args): Add 'M' to std_shortopts. Add "mri" to - std_longopts. Set flag_mri if -M is seen. - (main): Call parse_args before input_scrub_begin. Call - expr_begin. - * app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI - mode. Do set lex for ';', '*', and '!' in MRI mode. - (do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case. - In MRI mode, keep spaces between labels and colons. Remove MRI - ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use - '!' or '*' as comment characters even if they are in - comment_chars. - * read.h (lex_type): No longer const. - * read.c: Include libiberty.h. - (lex_type): No longer const. - (read_begin): In MRI mode, set lex_type of '?' to 3. - (potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b, - ds.l, ds.w, and xdef. - (read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check - for MRI mode at runtime rather than compile time. Handle the EQU - pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo. - Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at - runtime. - (cons): In MRI mode, always call parse_mri_cons rather than - TC_PARSE_CONS_EXPRESSION. - (parse_mri_cons): Always compile, not just when MRI is defined. - Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is - not a string constant. Handle A and E modifiers. - (float_cons): Accept :xxxx, where the x's are hex digits. - * expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt. - (expr_begin): Declare. - * expr.c (integer_constant): In MRI mode, if the base was not - specified, look for a suffix on the number to set the base. - (mri_char_constant): New static function. - (operand): Remove MRI ifdef. In MRI mode, do various things: Pass - 0 as the base when calling integer_constant if there was no - prefix. Check for a hex constant suffix if when a leading '0' is - seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and - A'chars'. Handle MRI character constants. Treat '"' as the - unary bitwise not operator. Treat $ as the program counter, or as - the prefix for a hex constant. Treat % as the prefix for a binary - constant and @ as the prefix for an octal constant. Treat : as - the prefix for a hex constant. - (op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt. - (op_rank): No longer const. Change rank values. - (expr_begin): New function. - (operator): New static function. - (expr): Use operator. Don't bother to mention the operator in - warnings. Remove bogus #if 0 code. Handle new operatorT values. - * atof-generic.c (atof_generic): In MRI mode, accept underscores - around the exponent in floating point numbers. - * symbols.h (symbols_case_sensitive): Declare. - * symbols.c (symbols_case_sensitive): New global variable. - (symbol_create): Check symbols_case_sensitive. - (symbol_find_base): Likewise. - (resolve_symbol_value): Handle new operatorT values. - (print_expr_1): Likewise. - (S_IS_LOCAL): In MRI mode, names beginning with two '?' characters - are local. - -Tue Aug 1 11:35:18 1995 steve chamberlain - - * tc-sh.c (md_convert_frag): Make some error messages more - explict. - -Mon Jul 31 21:40:47 1995 Ken Raeburn - - Sat Jul 29 18:55:23 1995 Pat Rankin - - * config/obj-vms.c (COPY_SHORT, COPY_LONG, PUT_SHORT, PUT_LONG): - Make expansion be safe for use in expressions. - (PUT_COUNTED_STRING): Bracket expansion with `do {...} while (0)' - rather than just `{...}'. - -Mon Jul 31 18:19:26 1995 steve chamberlain - - * gasp.c (main): Parse -I option. - (do_include): Look through include list. - * gasp.c (change_base): Don't modify numbers in strings. - -Mon Jul 31 12:16:21 1995 Ian Lance Taylor - - * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define. From Niclas - Andersson . - -Thu Jul 27 20:47:12 1995 Ken Raeburn - - * config/obj-coff.c (fixup_segment): Don't do further pcrel - processing after converting difference of two symbols in the - same segment. From Jim Wilson. - - * configure.in (i386-*-linuxoldld): Add as synonym for - i386-*-linux*aout*. From Fred Fish. - * configure: Regenerated. - -Thu Jul 27 16:14:56 1995 Pat Rankin - - * config/obj-vms.c (enum ps_type {ps_TEXT,ps_DATA,ps_COMMON, - ps_CONST}): New constants. - (VMS_Psect_Spec): Use them instead of literal strings. - (vms_write_object_file, global_symbol_directory): Adjust callers. - -Wed Jul 26 18:31:35 1995 Pat Rankin - - * config/obj-vms.c (const_flag): Change from char to unsigned char. - * config/obj-vms.h (const_flag): Ditto. - (struct nlist): Replace union n_un and n_un.{n_name,n_next,n_strx} - fields with just n_name; delete field n_value; change n_other from - char to unsigned char and n_desc from short to int; insert explicit - padding for alignment. - -Mon Jul 24 20:06:17 1995 Ken Raeburn - - * subsegs.h (struct seg_info_trash): Make bitfield types valid. - - * config/obj-coff.c (fixup_segment): Local add_number should not - be declared register since its address is taken for - MD_APPLY_FIX3. - - Fri Jul 21 15:28:18 1995 Pat Rankin - - Split huge vms_write_object_file routine into managable pieces. - - * config/obj-vms.c (vms_fixup_text_section, synthesize_data_segment, - vms_fixup_data_section, global_symbol_directory, local_symbols_DST, - vms_build_DST): New routines. - (vms_write_object_file): Call them. - (struct vms_obj_state): New file scope variable used by the above. - -Mon Jul 24 14:10:24 1995 Ian Lance Taylor - - * config/tc-sh.c (md_pseudo_table): Add "uses". - (s_uses): New static function. - (sh_coff_frob_file): New function. - (md_convert_frag): Call subseg_change before calling fix_new. - (sh_handle_align): New function. - (SWITCH_TABLE): Define. - (sh_force_relocation): New function. - (md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN. - (sh_coff_reloc_mangle): Likewise. Also handle switch table - entries. - * config/tc-sh.h (HANDLE_ALIGN): Define. - (sh_handle_align): Declare. - (TC_FORCE_RELOCATION): Define. - (sh_force_relocation): Declare. - (TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead. - (tc_frob_file): Define. - (sh_coff_frob_file): Declare. - * config/obj-coff.c (write_object_file): Call tc_frob_file if it - is defined. - (fixup_mdeps): Call HANDLE_ALIGN if it is defined. - (TC_FORCE_RELOCATION): Define if not defined. - (fixup_segment): Use TC_FORCE_RELOCATION to decide whether to - clear the symbol fields of fixP. - -Fri Jul 21 22:38:00 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL - relocation. - (md_apply_fix3): Ditto. - -Thu Jul 20 13:00:56 1995 Ken Raeburn - - * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec, - since seg is a macro name in this file. - - * configure.in (arm-*-riscix*): Don't set emulation. - -Wed Jul 19 16:08:29 1995 Doug Evans - - * config/obj-coff.h (TE_PE): Delete. - * config/tc-arm.h (BYTE_ORDER): Delete. - (TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE. - (ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE. - * config/tc-arm.c (byte_order): Delete. - (md_number_to_chars): Reference target_big_endian, not byte_order. - (md_chars_to_number): Likewise. - (md_longopts): Add -EB/-EL if ARM_BI_ENDIAN. - (md_parse_options): Recognize -EB/-EL. - (md_show_usage): List -EB/-EL. - -Wed Jul 19 11:49:25 1995 Ian Lance Taylor - - * gasp.c (process_assigns): Use toupper before comparing against - upper case letter. - (whatcond): Likewise. - - * config/tc-sh.c (sh_relax): Rename from relax, and make global. - Renamed all uses. - (insert): Pass a size of 2, not 4. - (build_relax): Remove unused len variable. - (md_show_usage): Mention -little option. - (md_convert_frag): Add segT argument. Rewrite to generate relocs - rather than to generate complete instructions here. - (md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for - changes in insert and md_pcrel_from. Add cases for R_SH_PCDISP - and R_SH_PCDISP8BY2. - (md_pcrel_from): Don't subtract 1, add 2. - (tc_coff_fix2rtype): Remove. - (sh_coff_reloc_mangle): New function. - * config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type. - (sh_relax): Declare. - (TC_COUNT_RELOC): If relaxing, count PC relative relocs. - (TC_RELOC_MANGLE): Define. - (sh_coff_reloc_mangle): Declare. - (tc_coff_sizemachdep): Declare. - * tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER - declaration. - * write.c (cvt_frag_to_fill): Add sec argument to non - BFD_ASSEMBLER version. Pass it to md_convert_frag. - (write_object_file): Pass SEG_TEXT to cvs_frag_to_fill. - * config/obj-coff.c (do_relocs_for): Pass segment info to - TC_RELOC_MANGLE. - (fixup_mdeps): Pass segment type to md_convert_frag. - * config/tc-a29k.c (md_convert_frag): Add segT argument. - * config/tc-h8300.c (md_convert_frag): Likewise. - * config/tc-h8500.c (md_convert_frag): Likewise. - * config/tc-i386.c (md_convert_frag): Likewise. - * config/tc-i860.c (md_convert_frag): Likewise. - * config/tc-i960.c (md_convert_frag): Likewise. - * config/tc-m68k.c (md_convert_frag): Likewise. - * config/tc-m88k.h (md_convert_frag): Likewise. - * config/tc-ns32k.c (md_convert_frag): Likewise. - * config/tc-rce.c (md_convert_frag): Likewise. - * config/tc-tahoe.c (md_convert_frag): Likewise. - * config/tc-vax.c (md_convert_frag): Likewise. - * config/tc-w65.c (md_convert_frag): Likewise. - * config/tc-z8k.c (md_convert_frag): Likewise. - * config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument. - * config/tc-h8500.h (TC_RELOC_MANGLE): Likewise. - * config/tc-rce.h (TC_RELOC_MANGLE): Likewise. - * config/tc-w65.h (TC_RELOC_MANGLE): Likewise. - * config/tc-z8k.h (TC_RELOC_MANGLE): Likewise. - -Mon Jul 17 15:02:54 1995 Pat Rankin - - * config/obj-vms.c (Current_Routine, Text_Psect): Delete as file - scope variables. - (Define_Routine, Define_Local_Symbols): Take Current_Routine and - Text_Psect as arguments. - (VMS_DBG_Define_Routine): Delete. - (VMS_TBT_Block_End): Change `Size' argument from int to valueT. - (vms_write_object_file: text and data fixup loops): Difference - of two symbols has type offsetT rather than int; convert with - md_number_to_chars before passing to VMS_Store_Immediate_Data. - (vms_write_object_file: debug symbol loop): Call Define_Routine - instead of VMS_DBG_Define_Routine. - -Sat Jul 15 00:01:35 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the - compiler can mark which relocs not to complain about with - -mrelocatable. - (ppc_elf_validate_fix): Add .fixup to sections not to complain - about, and also don't complain for BFD_RELOC_CTOR relocations in - writable non-code segments. - (md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32. - -Fri Jul 14 19:54:28 1995 Ian Lance Taylor - - Add support for SPARC SunOS PIC: - * config/tc-sparc.h (sparc_pic_code): Always declare, not just - when OBJ_ELF. - (TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT. - (tc_fix_adjustable): New definition for OBJ_AOUT. - * config/tc-sparc.c (sparc_pic_code): Always define, not just when - OBJ_ELF. - (md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC. In - BFD_RELOC_32_PCREL_S2 case, don't increment val for an external - symbol when PIC. - (tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as - well as when OBJ_ELF. - (md_shortopts): If OBJ_AOUT, include `k'. - (md_parse_option): If OBJ_AOUT, handle 'k'. - (md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF. - (md_pcrel_from): Don't add in size for an external symbol when - PIC. - -start-sanitize-arc -Fri Jul 14 10:26:43 1995 Doug Evans - - * config/tc-arc.c (byte_order): Provide explicit initial value. -end-sanitize-arc - -Thu Jul 13 21:16:43 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM. - * write.c (adjust_reloc_syms): Set sy_used_in_reloc for both - symbols in a fixup where a defined symbol is subtracted from an - undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined). - (fixup_segment): Do nothing for the difference of two symbols if - UNDEFINED_DIFFERENCE_OK is defined. - -Wed Jul 12 23:33:40 1995 Ian Lance Taylor - - * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3. - -Wed Jul 12 01:12:12 1995 Ken Raeburn - - * write.c (fix_new): Use int, not short int, for argument type. - (fix_new_exp): Ditto. - - * configure.in (arm-*-riscix*): Don't set emulations. - - * config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING - wasn't previously defined. - (s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING. - (nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING. - (macro_build) [!USE_STDARG]: Don't use variadic prototype. - (mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential - ECOFF debugging symbols. - - * emul.h (struct emulation): Use unsigned, not unsigned char, for - bitfields. - * obj.h (struct format_ops): Likewise. - - * config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set - udata.p, not udata. - -Tue Jul 11 14:30:19 1995 Ian Lance Taylor - - * doc/c-mips.texi: Document -m4010 and -mno-4010. - -Tue Jul 11 14:28:55 1995 Jeff Spiegel - - * config/tc-mips.c (mips_4010): New static variable. - (interlocks): New static variable. - (md_begin): Check for a cpu of "r4010". Set mips_4010 correctly. - If mips_4650 or mips_4010, set interlocks. - (append_insn): Check interlocks, not mips_4650. - (mips_emit_delays): Likewise. - (mips_ip): Only permit INSN_4010 instructions if mips_4010. - (md_longopts): Add "m4010" and "no-m4010". - (md_parse_option): Accept -mcpu=r4010. Handle -m4010 and - -no-m4010. - (md_show_usage): Document -m4010 and -no-m4010. - -Tue Jul 11 13:22:50 1995 Ian Lance Taylor - - * ecoff.c (struct efdr): Add new field fake. - (init_file): Initialize fake. - (add_file): Add new parameter fake. Change all callers. - (ecoff_build_debug): Don't warn about a missing .end for a fake - file. - -Mon Jul 10 16:01:31 1995 Ken Raeburn - - * doc/as.texinfo: Split out most cpu chapters... - * doc/c-*.texi: ...to here. - - * read.c (po_hash): Now static. - -Mon Jul 10 13:47:22 1995 Ian Lance Taylor - - Based on patches from H.J. Lu : - * config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1. - Accept pointer to value and segment. Fix OBJ_ELF PCREL case to - handle global defined symbols correctly. - (md_apply_fix): Remove both versions. - * config/tc-i386.h (MD_APPLY_FIX3): Define. - - * configure.in: When switching on ${cpu}, use ${cpu}, not - $[target_cpu}, in default case. - * configure: Rebuild. - -Sat Jul 8 13:27:55 1995 Ian Lance Taylor - - * write.c (fixup_segment): Call resolve_symbol_value on - sub_symbolP, in case it isn't in the symbol table. - -Fri Jul 7 11:17:27 1995 Ian Lance Taylor - - * read.c (s_lcomm): For .lcomm 1, set align to 0, not 1. - - * config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set - BSF_FUNCTION. - (symbol_globalP, symbol_global_lastP): New global variables. - (yank_symbols): Sort defined global symbols to the end, just - before the undefined symbols. - (glue_symbols): Add two arguments, and use them instead of - referring directly to global variables. - (crawl_symbols): Call glue_symbols twice, once for defined globals - and once for undefined. Add corresponding know calls. - - * app.c (do_scrub_next_char): Always accept \v. Don't make it - conditional on BACKSLASH_V. - * read.c (next_char_of_string): Likewise. - * config/obj-bout.h (BACKSLASH_V): Don't define. - * config/tc-mips.h (BACKSLASH_V): Don't define. - - Add SPARC ELF PIC support. - * write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP, - not fixP->fx_r_type. - * config/tc-sparc.c (sparc_pic_code): New global variable. - (md_apply_fix): If generating PIC, adjust fx_addnumber for any non - PC relative reloc. - (tc_gen_reloc): If generating PIC, adjust various reloc types. - Remove fx_pcrel assert, since it is no longer true. - (md_parse_option): Handle -K PIC. - * config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF. - (TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF. - (tc_fix_adjustable): Don't adjust PC relative relocs if PIC. - * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a - reloc type. - - * Makefile.in (Makefile): Add dependency on conf.in, so that conf - is rebuilt when conf.in changes. - -Thu Jul 6 16:49:38 1995 Ken Raeburn - - * All files: Updated FSF address. - -Thu Jul 6 16:30:34 1995 Jim Wilson - - * ecoff.c (add_file): Don't collapse multiple .file commands into - a single file structure. - (ecoff_build_lineno): Set ilineBase to sum of previous file's - ilineBase and cline. - -Thu Jul 6 12:54:27 1995 Ian Lance Taylor - - Patches from Jerry Blakely : - * as.c (listing_filename): New static variable. - (show_usage): Mention -a=file. - (parse_args): Support = option of -a to set name of listing file. - (main): Pass listing_filename to listing_print. - * listing.c (list_file): New static variable. - (various): Replace printf with fprintf to list_file. - (listing_print): If name argument is not NULL, open it as - list_file. - * doc/as.texinfo, doc/as.1: Document -a=file. - - * config/tc-sparc.c (s_reserve): Don't permit redefinition, even - if the symbol was already in bss_section. Fix warning message. - - * listing.c (struct file_info_struct): Rename end_pending field to - at_end. - (file_info): Initialize at_end, not end_pending. - (buffer_line): If at_end set, just return immediately. Don't - worry about end_pending cases. Set at_end when EOF is read. - (print_source): Check at_end, not end_pending. - (listing_listing): Likewise. - - * config/tc-alpha.h (alpha_do_align): Don't declare. - (md_do_align): Don't define. - (tc_frob_label): Define. - (alpha_define_label): Declare. - (md_flush_pending_output): Define. - (alpha_flush_pending_output): Declare. - * config/tc-alpha.c (insn_label): New static variable. - (auto_align): New static variable. - (md_pseudo_table): Add cases for .text, .data, .align, .byte, - .hword, .int, .long, .octa, .quad, .short, .word, .double, .float, - and .single. Change .t_floating, .s_floating, .f_floating, - .g_floating, and .d_floating to use s_alpha_float_cons rather than - float_cons. - (s_alpha_text, s_alpha_data): New static functions. - (s_rdata, s_sdata): Clear insn_label and set auto_align. - (s_gprel32): If auto_align, align. Clear insn_label. - (emit_insn): Clear insn_label. - (s_alpha_align): New static function. - (alpha_align): Make static. Take label argument. - (alpha_flush_pending_output): New static function. - (s_alpha_cons, s_alpha_float_cons): New static functions. - (alpha_define_label): New function. - -Wed Jul 5 22:49:31 1995 Ken Raeburn - - * conf.in: Regenerate with autoreconf. - - Mon Jul 3 19:47:53 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.h (vms_resolve_symbol_redef): Use full prototype. - (vms_check_for_special_label, tc_frob_label): Move them to group - with other prototypes. - [WANT_VMS_OBJ_DEFS]: Only define the many OBJ_x, DBG_x, and DST_x - macros when this is defined. - * config/obj-vms.c: Fully prototype all local functions. - [symbolS, fragS]: Use consistently instead of their struct tags. - [WANT_VMS_OBJ_DEFS]: Define this. - (s_const): Make definition correctly match actual usage. - (VMS_stab_parse): Make `expected_type' arg be int rather than char. - (get_VMS_time_on_unix): Define as `static void'. - (hash_string): Make definition match actual usage; argument is - `char const *' rather than `unsigned char *'. - (VMS_Case_Hack_Symbol, VMS_Modify_Psect_Attributes, VMS_Psect_Spec, - VMS_Global_Symbol_Spec): Declare string args as `const char *'. - [IS_GXX_VTABLE]: New macro. - (vms_write_object_file: GSD loop): Use it. - (vms_write_object_file: data segment): Reorganize `fill' loop. - -Wed Jul 5 12:01:49 1995 Ian Lance Taylor - - * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF. - (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. - - * conf.in: Add undef of HAVE_SBRK. - - * config/obj-coff.c (obj_coff_line): Call listing_source_line, in - both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function. - - * symbols.c (S_SET_EXTERNAL): Warn if symbol is weak. - (S_CLEAR_EXTERNAL): Likewise. - (S_SET_WEAK): Warn if symbol is global. - - * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt - to put an undefined symbol into a set. - - * Makefile.in: Remove @configure_input@; it's not needed in - files named Makefile. - - * config/tc-m88k.c (md_pseudo_table): Add ".set" so that the - explicit pseudo-op works, while continuing to treat "set" as an - instruction. - - * ecoff.c (ecoff_debugging_seen): New global variable. - (ecoff_directive_def): Set ecoff_debugging_seen. - (ecoff_stab): Likewise. - * ecoff.h: Make idempotent. - (ecoff_debugging_seen): Declare. - * config/tc-mips.c: Include ecoff.h. - (mips_debug): New static variable. - (s_stringer, s_mips_space): Remove unneeded declarations. - (md_parse_option): In case 'g', set mips_debug to debugging level. - (mips_local_label): New function. - * tc-mips.h (LOCAL_LABEL): Call mips_local_label. - (mips_local_label): Declare. - -Wed Jul 5 00:59:22 1995 Fred Fish (fnf@cygnus.com) - - * as.c (main): Only use sbrk when HAVE_SBRK defined. - * configure.in: Add test for sbrk. - * configure: Regenerate using autoconf 2.4. - -Mon Jul 3 15:58:16 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6. - * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle - relocations for the difference of two (possibly external) - symbols. - (hppa_fix_adjustable): For SOM, reject reductions involving - the difference of two symbols. - (hppa_force_relocation): Force relocations for expressions - involving the difference of two symbols. - -Mon Jul 3 14:22:59 1995 Steve Chamberlain - - * configure[.in] (i386-*-win32): New host and target. - -Thu Jun 29 17:25:43 1995 Steve Chamberlain - - Support for long filenames non-bfd coff. - * config/obj-coff.c (filename_list_head, filename_list_tail): New. - (yank_symbols): Notice and record filenames which are too long. - (w_strings): Write out filename strings. - (c_dot_file_symbols): Put long filenames onto list. - -Wed Jun 28 17:33:13 1995 Steve Chamberlain - - * config/obj-coff.c (fixup_segment): PE doesn't use - the strange common symbol format that other 386s formats - do. - * config/tc-i386.c (md_begin): If LEX_AT defined then - '@' is in the set of identifiers. - (i386_operand): If LEX_AT, then don't look for @goto stuff. - * config/te-pe.h: Define LEX_AT. - -Wed Jun 28 17:49:59 1995 Ken Raeburn - - * doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP - numbers are for the standard emulation code. - (SH Floating Point): Ditto. - (Overview): Describe new --emulation option for MIPS. - * doc/*.m4: Deleted. - -Thu Jun 22 19:26:25 1995 Ken Raeburn - - Sun May 7 11:53:41 MDT 1995 Bryan Ford - - * configure.in: Added i386-*-moss* target. - -Thu Jun 22 14:41:23 1995 Michael Meissner - - * write.c (write_object_file): Cast decode_local_label_name - argument to char * to avoid warning. - -Wed Jun 21 18:07:59 1995 Ken Raeburn - - Changes from Andreas Schwab : - * config/tc-m68k.c (insword): Increment the frag offsets. - (struct m68k_it): Add reloc[].pcrel_fix field to hold pc-rel - fixup. - (add_fix): Accept additional parameter, the pc-rel fixup. All - callers changed. Fix offset address if width == 'b'. - (m68k_ip) [case AINDX]: Allow explicit size spec. Don't make the - outer displacement pc-relative. - (md_pcrel_from): Make it relative to the first extension word of - the operand. - (opcode_ptr): Make it a macro if DO_BREAK_UP_BIG_DECL is - undefined. - (md_convert_frag_1): Don't reference fragP->fr_opcode[2..]. - (md_estimate_size_before_relax) [case TAB (FBRANCH, SZ_UNDEF)]: - Turn on long bit. - (m68k_ip) [case 'C']: Don't set set long bit, set it in the opcode - table. - (md_estimate_size_before_relax) [case TAB (PCINDEX, SZ_UNDEF)]: - Variable part increases by four, not six. - * write.c (fixup_segment) [TC_M68K]: Don't do further pcrel - processing after converting difference of two symbols in the - same segment. - - * write.c (fixup_segment): Don't conditionalize the pcrel fix on - TC_M68K. - - * config/tc-sparc.c (sparc_ip, case 'A'): If ASI is not a "#" - value, don't shift it an extra time. - -Wed Jun 21 14:18:37 1995 Steve Chamberlain - - * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive - string compares. - -Tue Jun 20 14:55:02 1995 Ken Raeburn - - * config/obj-coff.c (write_object_file): Cast time() argument to - time_t *. - -Tue Jun 20 12:00:53 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_build_unwind_subspace): Fix typo in last - change. - -Mon Jun 19 15:27:17 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_build_unwind_subspace): Zero out memory - from frag_more calls. - -Thu Jun 15 16:53:37 1995 Stan Shebs - - * config/obj-coff.c: Don't use "bfd/" when including libbfd.h - and libcoff.h. - (fill_section): Call PROGRESS. - * Makefile.in (INCLUDES): Add bfd srcdir. - - * mpw-config.in: Add bfd_gas flag and set for each config. - (i386-unknown-go32, m68k-unknown-coff): Recognize. - * mpw-make.in (HACK_O_RAMA, OBJ_COFF_OMIT_TIMESTAMP): Add to - config.h. - -Thu Jun 15 10:04:26 1995 Doug Evans - - * config/tc-arm.h (LOCAL_LABEL): Prepend '.' if not OBJ_AOUT. - (FAKE_LABEL_NAME): Likewise. - -Mon Jun 12 22:25:39 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip): Check for invalid register in single - precision fmpyadd and fmpysub instructions. - -Thu Jun 8 19:33:02 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.c (myname): Delete all references. - (VMS_stab_parse, Write_VMS_MHD_Records, VMS_Case_Hack_Symbol): - Replace printf calls with as_tsktsk. - (PUT_LONG, PUT_SHORT): Use COPY_LONG, COPY_SHORT. - (VMS_Store_Immediate_Data): Move second buffer capacity check - below bottom of loop; first check at top suffices for loop itself. - (find_file): Remove redundant pointer checks in first two loops; - replace third loop with pointer to last list element determined - in first loop. - -start-sanitize-arc -Thu Jun 8 11:44:35 1995 Doug Evans - - * config/tc-arc.h (MD_APPLY_FIX3): Define. - * config/tc-arc.c (md_apply_fix3): Renamed from md_apply_fix. - Undo effects of md_pcrel_from if symbol is in another section. -end-sanitize-arc - -Tue Jun 6 13:53:06 1995 Ken Raeburn - - * config/tc-sparc.c (sparc_ip): Handle defined absolute symbols as - ASI values. - - * config/obj-vms.c (vms_write_object_file, case N_DATA): Use - strcmp against FAKE_LABEL_NAME instead of checking third - character. (Suggested by Pat Rankin.) - -Mon Jun 5 20:10:46 1995 Pat Rankin (rankin@eql.caltech.edu) - - Add support for N_ABS and N_ABS|N_EXT type symbols. - - * config/obj-vms.h (LSY_S_M_{DEF,REL}, ENV_S_M_{DEF,NESTED}): - New macros for local symbols (from and ). - * config/obj-vms.c (Current_Environment): New file-scope variable. - (VMS_Local_Environment_Setup): New routine. - (GBLSYM_LCL): New macro. - (VMS_Global_Symbol_Spec): Handle local symbols too. - (VMS_Psect_Spec): Set GLOBALVALUE_BIT for absolute symbols. - (VMS_Emit_Globalvalues): Handle local and global absolute symbols. - (VMS_Store_PIC_Symbol_Reference): Ditto. - (vms_write_object_file: GSD symbol loop): Ditto. - -Mon Jun 5 16:10:40 1995 Steve Chamberlain - - * config/tc-arm.h (LOCAL_LABELS_FB): Define. - -Mon Jun 5 02:17:58 1995 Ken Raeburn - - * configure.in (i386-*-gnu*): Always use GNU ELF config. - -Wed May 31 17:49:18 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.c (obj_crawl_symbol_chain): Update *symbolPP - in `else' clause when removing a symbol. Also, revise comments - to match the code. - (vms_write_object_file (GSD symbol loop, case N_DATA)): Never - output symbol definitions for local numeric labels. - -Tue May 30 18:29:10 1995 Richard Earnshaw (rearnsha@armltd.co.uk) - - * configure.in (architecture variants, cases armeb and arm*): Remove - spaces round assignment to endian. - -Tue May 30 12:31:31 1995 Ken Raeburn - - * write.c (write_object_file): Check for undefined local dollar - and fb labels. - - * symbols.c (decode_local_label_name): Extract instance number - from the correct location. - -Sat May 27 21:28:49 1995 J.T. Conklin - - * config/te-dpx2.h: Include obj-format.h. - (COFF_MAGIC): Renamed from FILE_HEADER_MAGIC. - -Wed May 24 13:45:32 1995 Steve Chamberlain - - * configure, configure.in, config/obj-coff.c, config/obj-coff.h: - Add support for ARM pe - -Tue May 23 17:00:32 1995 Doug Evans - - * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP16 - and BFD_RELOC_SPARC_WDISP19. - -Tue May 23 19:18:33 1995 Ken Raeburn - - * as.c (parse_args) [! USE_EMULATIONS]: Always print an error - message. - - * doc/internals.texi: Document obj_app_file and - TARGET_BYTES_BIG_ENDIAN. - -Mon May 22 20:03:23 1995 Ken Raeburn - - * ecoff.c (ecoff_stab): Add extra leading argument, for 4 May - change. - * ecoff.h (ecoff_stab): Fix declaration. - * obj.h (format_ops.process_stab): Include prototype. - * config/obj-elf.h (OBJ_PROCESS_STAB): Pass through seg argument. - * config/obj-ecoff.h (OBJ_PROCESS_STAB): Ditto. - - * config/e-mipself.c (mipself): New emulation mode, doesn't change - endianness from configured default. - * config/e-mipsecoff.c (mipsecoff): Ditto. - * configure.in (mips ecoff/elf targets): Include them. - * as.c (mipself, mipsecoff): Declare. - - * as.c (emulation_name): New variable. - (select_emulation_mode): Set emulation_name. Don't change argv. - (parse_args): Handle --emulation; complain if the supplied name - isn't what select_emulation_name came up with. - -start-sanitize-arc -Mon May 22 16:56:58 1995 Doug Evans - - * config/tc-arc.c (md_pcrel_from): Return 0 for undefined symbols. -end-sanitize-arc - -Sun May 21 21:36:17 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: Reverse changes from Dec. 19th which - changed the way unwinds were built for ELF. Rely on relocation - symbol reductions to avoid placing the end of function marker - symbols into the object file's symbol table. - -Sat May 20 12:31:36 1995 Ken Raeburn - - Added improved VMS support from Pat Rankin: - - Fri 19 May 16:51:40 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.h (AOUT_STABS): Define. - - * config/obj-vms.c (fpush, rpush): New routines. - (push): Replaced by the above. - (find_symbol): Slight reorganization to expose tail recursion. - - Fri Mar 17 18:40:36 1995 Pat Rankin (rankin@eql.caltech.edu) - - * Makefile.in (VMS_OTHER_OBJS): delete this. - * vmsconf.sh (make-gas.com): build ../libiberty/liberty.olb - first if necessary; link gas against it. - -Fri May 19 16:37:39 1995 Richard Earnshaw (rearnsha@armltd.co.uk) - - * gasp.c (istrue): Correctly test for string inequality. - -Thu May 18 04:25:11 1995 Ken Raeburn - - Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk) - - * config/tc-arm.c (CP_T_{Pre,UD,WB}): Define, bits in co-processor - instructions. - ([ls]fm_flags): Correct error in bitmasks. - (cp_address_required_here): Delete second parameter, FLAGS. All - callers changed. Remove all dead code referring to FLAGS. If - address is just "[Reg]" then convert into a PRE-INCREMENT UP format. - (do_fp_ldmstm): Handle full-descending and empty-ascending stack - formats explicitly. - - * config/tc-arm.c (internalError): Define. - (ARM_{1,2,250,3,6,7,7DM,ANY,2UP,ALL,3UP,6UP,LONGMUL}): Define processor - variants. - (FPU_{CORE,FPA10,FPA11,NONE,ALL,MEMMULTI}): Define floating point - variants. - ({CPU,FPU}_DEFAULT): Define. - (cpu_variant): New variable. - (asm_flg): Change more_flags to flag_bits. - Add prototypes for new functions. - (FLAG_{S,P,B,T,ED,FD,FA,EA,IB,IA,DB,DA,L}): Delete. - (s_flag[], ldst_flags[], byte_flag[], cmp_flags[], ldm_flags[], - stm_flags[], lfm_flags[], sfm_flags[], round_flags[], except_flags[], - cplong_flag[]): New variables. - (asm_opcode, insns[]): New format, add version support. - (arm_flg_hsh): Delete. - (do_mul, do_mla): Remove "Warning" from warning messages. - (do_arit): Simplify. - (do_swap): Make error message more appropriate. - (md_begin): Build hash tables starting at first entry in tables. - (md_number_to_chars): Cope with big/little-endian selection. - (md_chars_to_number): New function. - (md_apply_fix): Rewrite to make endian independent. - (tc_gen_reloc): Better error messages. - (md_assemble): Reject opcodes forbidden by the currently selected cpu - variant. Rewrite handling code for instruction flags. - (md_shortopts): Add option "m:". - (md_parse_option): Get the desired cpu/fpu variant. - - From: David Taylor (dtaylor@armltd.co.uk) - * configure.in (architecture variants): Check for "armeb" and "arm*", - set endianness accordingly. - * read.c (read_a_source_file): New hooks md_start_line_hook and - md_after_pass_hook. - * config/arm-{big,lit}.mt: New files - * config/tc-arm.h ({LITTLE,BIG}_ENDIAN, BYTE_ORDER): Define. - (TARGET_FORMAT): Select depending on endianness and emulation and - object format. - (md_after_pass_hook, md_start_line_hook): Define. - * config/tc-arm.c: Include subsegs.h, symbols.h and listing.h. - (shift[]): Add uppper case equivalents. - (CP_T_[XY], TRANS_BIT): Define. - (conds[]): Delete initial NULL entry, add "lo" entry as synonym for - "cc". - (LONGEST_FLAG, flags[]): Delete. - (arm_psr): New structure. - (psrs[]): New variable. - (PSR_ALL): Define. - (LONGEST_INST): Bump to 5. - (LITERAL_MASK, COND_MASK, OPCODE_MASK, DATA_OP_SHIFT): Define. - (OPCODE_{AND,EOR,SUB,RSB,ADD,ADC,SBC,RSC,TST,TEQ,CMP,CMN,ORR,MOV,BIC, - MVN}): Define. - (insns[]): Add smull, umull, smlal, umlal, ldfm, stfm, msr and mrs - instructions. Add nop and adr pseudo ops. - (reg_table): Add APCS register name variants. - (arm_psr_hsh): New hash table. - (md_pseudo_table): Add "ltorg", "pool", "extend", "ldouble" and - "packed". - (MAX_LITERAL_POOL_SIZE): Define. - (struct literalS): New structure. - (literals, next_literal_pool_place, lit_pool_num, current_poolP): New - variables. - (add_to_lit_pool, symbol_locate, symbol_make_empty): New functions. - (validate_immediate): Return FAIL on failure. - (s_ltorg): New function. - (psr_required_here, psrf_required_here): New functions. - (cp_address_required_here): New parameter, flag, all callers changed. - If flag is non-zero, restrict the legal addressing modes. - (do_nop, do_mrs, do_msr, do_mull): New functions. - (negate_data_op): New function. - (data_op2): accept #x,y meaning x rotated right by y, but only when - suitable constants. If immediate is not legal, try changing the - opcode. - (do_adr): New function. - (do_ldst): accept "ldr reg, =expr". Put expr in the pool if it can't - be done as an immediate. - (do_fp_ldst): Use CP_T_[XY], not immediate values. - (do_fp_ldmstm): New function. - (arm_psr_parse): New function. - (output_inst): Use INSN_SIZE in call to md_number_to_chars. - (md_assemble): Add hack so that "Label instruction" causes alignment of - the label. - (arm_after_pass_hook, arm_start_line_hook, arm_frob_symbol): New - functions. - -Wed May 17 05:25:16 1995 Michael Meissner - - * config/tc-ppc.c (md_show_usage): Add \'s at end of lines in - strings for non-GCC compilers. - -Tue May 16 19:36:00 1995 Ken Raeburn - - * config/obj-ecoff.c (ecoff_pop_insert): New function. - (ecoff_format_ops): Use it. - (obj_ecoff_frob_symbol): Now static. - -Wed May 17 00:59:12 1995 Andrew Cagney - aka Noid - - * config/tc-ppc.c (md_begin): Was assuming that an instruction was - bigendian and hence 16bit relocs withing instructions would - ALWAYS be at addresses i+2-i+3. In LE mode it is i+0-i+1. - -Tue May 16 16:29:58 1995 Ken Raeburn - - * config/obj-multi.h (obj_frob_symbol, obj_frob_file, S_GET_SIZE, - S_SET_SIZE, S_GET_ALIGN, S_SET_ALIGN, obj_copy_symbol_attributes, - OBJ_PROCESS_STAB): New macros. - * config/tc-mips.c: Protect against redefining them also when - including obj-elf.h. Test only OBJ_ELF for including elf/mips.h. - (mips_init_after_args): New function. Set byte_order here. - (md_parse_option): Not here. - (byte_order): Don't bother initializing. - * config/tc-mips.h (mips_init_after_args): Declare. - (tc_init_after_args): New macro. - - * read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile - time. - -Fri May 12 14:17:47 1995 Steve Chamberlain - - Initial support for PE object files. - * configure.in, configure (i386-*-pe, i386-*-*nt): Add. - * config/obj-coff.c (fixup_segment): Cope with PE wierdness. - * config/obj-coff.h (TE_PE): New target format. - -Thu May 11 14:58:21 1995 Ken Raeburn - - * config/obj-elf.c (NEED_ECOFF_DEBUG): Define if ECOFF_DEBUGGING - was defined by header files. Test in preprocessor conditionals - instead of ECOFF_DEBUGGING. - (ecoff_debug_pseudo_table): Make empty if NEED_ECOFF_DEBUG is not - defined. - (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol, - elf_frob_file): Only call ecoff routines if NEED_ECOFF_DEBUG is - defined. - (elf_ecoff_set_ext, elf_get_extr, elf_set_index): Define only if - NEED_ECOFF_DEBUG is defined. - (elf_format_ops): Reference elf_ecoff_set_ext only if - NEED_ECOFF_DEBUG. - -Wed May 10 18:09:12 1995 Ken Raeburn - - * Makefile.in (OBJS): Include @extra_objects@. - (obj-elf.o, obj-ecoff.o, e-mipself.o, e-mipsecoff.o): New rules - for building these independently. - * emul-target.h, config/e-mipself.c, config/e-mipsecoff.c: New - files. - - * acconfig.h (DEFAULT_EMULATION, EMULATIONS, USE_EMULATIONS, - OBJ_MAYBE_*, I386COFF, M68KCOFF, M88KCOFF): New macros. - * aclocal.m4 (GAS_UNIQ): New macro. - - * as.c (emulations, n_emulations) [USE_EMULATIONS]: New variable. - (select_emulation_mode, default_emul_bfd_name, common_emul_init) - [USE_EMULATIONS]: New functions. - (main) [USE_EMULATIONS]: Call select_emulation_mode before other - initialization. - * emul.h: New file. - * as.h [USE_EMULATIONS]: Include it. - - * configure.in: Handle enable-targets option. Iterate over target - list, building up a list of object file formats and emulation - configurations. (Only supports emulations for MIPS CPU so far.) - If multiple formats are needed, set obj_format to multi and add - format config files to extra_files. If emulation modes are - needed, add the relevant files to extra_files. - - * configure.in: Define I386COFF, M68KCOFF, M88KCOFF for those - configurations. - - * ecoff.c (ecoff_generate_asm_lineno): Filename argument now - points to const. - * ecoff.h (ecoff_generate_asm_lineno): Updated declaration. - - * obj.h (obj_read_begin_hook): Don't declare function if it's - already a macro. - - * read.c (s_space, cons, stringer): If md_flush_pending_output is - defined, call it on entry. - * config/obj-elf.c (obj_elf_section): If md_flush_pending_output - is defined, call it on entry. If md_elf_section_change_hook is - defined, call it before returning normally. - - * read.h (target_big_endian): Declare. - - * obj.h (struct format_ops): Added new function pointer fields - ecoff_set_ext, read_begin_hook, symbol_new_hook. - (ecoff_format_ops, elf_format_ops): Declare. - * config/obj-elf.c (elf_s_get_size, elf_s_set_size, - elf_s_get_align, elf_s_set_align, elf_copy_symbol_attributes, - elf_sec_sym_ok_for_reloc): New functions. - (elf_format_ops): New variable. - (elf_frob_symbol): Now takes additional int* argument. - * config/obj-elf.h (elf_frob_symbol): Update declaration. - (elf_pop_insert): Declare. - (obj_pop_insert): Define to call elf_pop_insert. - * config/obj-ecoff.c (ecoff_sec_sym_ok_for_reloc, - obj_ecoff_frob_symbol): New functions. - (ecoff_format_ops): New variable. - - * config/te-generic.h: If OBJ_HEADER is defined, use it as the - filename to include in place of obj-format.h. - * config/te-multi.h: New file, copied from te-generic.h. - * config/obj-elf.c (OBJ_HEADER): Define it to "obj-elf.h". - * config/obj-ecoff.c (OBJ_HEADER): Define it to "obj-ecoff.h". - - * config/obj-elf.c (ECOFF_DEBUGGING): Default to 0. - (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol, - elf_frob_file): Test it at run time. - (obj_ecoff_set_ext, elf_get_extr, elf_set_index): Define - unconditionally. - (elf_pseudo_table): Renamed from obj_pseudo_table, now static. - (ecoff_debug_pseudo_table): Split off into separate table. Define - it unconditionally. - (elf_pop_insert): New function. - * config/obj-elf.h (elf_pop_insert): Declare. - (obj_pop_insert): New macro. - (obj_ecoff_set_ext) [!OBJ_MAYBE_ELF]: Define to elf_ecoff_set_ext. - * config/obj-ecoff.h (obj_ecoff_set_ext): Define to ecoff_set_ext. - - * config/tc-mips.h: Protect against multiple inclusions. - (mips_pop_insert): Declare. - (md_pop_insert): Call it. - - * config/tc-mips.c: If OBJ_MAYBE_ELF is defined, include - obj-elf.h, but preserve OUTPUT_FLAVOR and protect some other - macros from redefinition. - (ECOFF_DEBUGGING): Default to 0. All references changed to - run-time tests or made unconditional. - (s_stringer, s_mips_space, s_elf_section): Deleted. - (md_pseudo_table): Don't refer to them. Split table into three - sections, for MIPS, non-ECOFF_DEBUGGING, and ELF. - (mips_pop_insert): New function. - (mips_flush_pending_output): New function. - (mips_enable_auto_align): New function. - * config/tc-mips.h (mips_pop_insert): Declare. - (md_pop_insert): New macro. - (mips_flush_pending_output): Declare. - (md_flush_pending_output): New macro. - (mips_enable_auto_align): Declare. - (md_elf_section_change_hook): New macro, calls - mips_enable_auto_align. - -Tue May 9 17:07:41 1995 Michael Meissner - - * configure.in: Add little endian PowerPC support. - * configure: Rebuild with autoconf. - * config/ppc-big.mt: New file for big endian PowerPC systems. - * config/ppc-lit.mt: New file for little endian PowerPC systems. - - * config/tc-ppc.h (target_big_endian): Declare. - (TARGET_FORMAT): Deal with little and big endian ELF variants. - (TARGET_BYTES_BIG_ENDIAN): Define as 1, not empty. - - * config/tc-ppc.c (ppc_big_endian): Delete variable, use - target_big_endian instead. - (md_parse_option): Parse -mlittle and -mlittle-endian to use - little endian support. Parse -mbig and -mbig-endian to use big - endian support. - (md_show_usage): Update to reflect current switches. - (ppc_set_cpu): Recognize powerpcle as little endian PowerPC. Use - as_fatal, not abort if unknown machine. - -Tue May 9 10:58:41 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Cast *valp to an integer when - comparing against signed values. - (hppa_force_relocation): Make "distance" an integer. - -Tue May 9 00:47:03 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * obj.h (struct format_ops) [BFD_ASSEMBLER]: New type. - (this_format) [BFD_ASSEMBLER]: Declare new variable, if not - already defined as a macro. - -Mon May 8 21:44:13 1995 Ken Raeburn - - * subsegs.h (seg_info): Provide dummy version for - non-BFD_ASSEMBLER, non-MANY_SEGMENTS configuration. It should - never get invoked, but this is easier than conditionalizing some - of the uses. - (struct seg_info_trash): Dummy type used by above to make code - compile. - -Fri May 5 14:47:13 1995 Ken Raeburn - - * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define to 1, not - empty. - * config/obj-elf.h (SEPARATE_STAB_SECTIONS): Ditto. - * config/obj-som.h (SEPARATE_STAB_SECTIONS): Ditto. - -Thu May 4 19:26:55 1995 Ken Raeburn - - * stabs.c (get_stab_string_offset): Always define. If - SEPARATE_STAB_SECTIONS isn't set, abort. - (SEPARATE_STAB_SECTIONS): Default to zero. - (aout_process_stab): New function, split out from s_stab_generic. - (OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab, - if not already defined. - (s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time. If - it's not set, and OBJ_PROCESS_STAB isn't defined, abort. Always - pass six arguments to OBJ_PROCESS_STAB. - * read.h (get_stab_string_offset): Declare unconditionally. - * config/obj-aout.h (AOUT_STABS): Define. - * config/obj-bout.h (AOUT_STABS): Define. - * config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument, - ignored. - * config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto. - - * config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty. - * config/obj-elf.h (ECOFF_DEBUGGING): Ditto. Test value, not - whether it's defined. - -Wed May 3 21:38:20 1995 Ken Raeburn - - * as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already - defined, define 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. - -Wed May 3 13:08:53 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Do nothing for an out of range - PC relative call since those only occur in cases where the linker - can fix them up. - (hppa_force_relocation): Force relocations for out of range PC - relative calls. - -Tue May 2 16:34:47 1995 Jeff Law (law@snake.cs.utah.edu) - - * configure (hppa*-*-lites*): Handle just like hppa*-*-*elf*. - * configure.in: Likewise. - -Tue May 2 11:22:00 1995 Ken Raeburn - - * read.c (pop_insert): New function. - (pop_override_ok, pop_table_name): New variables. - (md_pop_insert, obj_pop_insert): New macros. - (pobegin): Use them. - - * config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of - NO_STDARG &c. - - * read.c (target_big_endian): If TARGET_BYTES_BIG_ENDIAN is - defined, initialize to 1. - * config/tc-mips.c (mips_target_format): Changed to a function, - checking flavor and byte order at run time. - (md_parse_option, cases OPTION_EB and OPTION_EL): Set - target_big_endian here. - (md_begin): Not here. - * config/tc-mips.h (mips_target_format): Adjust declaration. - (TARGET_FORMAT): Call mips_target_format. - - * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of - OUTPUT_FLAVOR. - * config/tc-mips.c (g_switch_value, g_switch_seen): Define - unconditionally. - (md_begin, mips_ip, md_parse_option, s_change_sec, s_option, - s_abicalls, nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run - time, instead of compiling conditionally on GPOPT. - (GPOPT): Don't define. - (md_shortopts): Always include -G. - (RDATA_SECTION_NAME): Select at run time. - (md_begin): Test for ELF format at run time instead of compile time. - (mips_ip, s_change_sec): Ditto. - (md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED): - Ditto. - (OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define - unconditionally. - -Tue May 2 00:17:04 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * Makefile.in (TARG_CPU_DEP_*): New variables. - (targ-cpu.o): Depend on one, selected by autoconf substitution, - instead of TARG_CPU_DEPENDENTS. - * configure.in: Substitute $cpu_type, $obj_format, $atof, and - $emulation into Makefile.in. -start-sanitize-arc - * config/arc.mt: Deleted. -end-sanitize-arc - * config/h8300.mt: Deleted. - * config/h8500.mt: Deleted. - * config/i386coff.mt (TARG_CPU_DEPENDENTS): Deleted. - * config/m68k.mt: Deleted. - * config/m68kcoff.mt (TARG_CPU_DEPENDENTS): Deleted. - * config/m88kcoff.mt (TARG_CPU_DEPENDENTS): Deleted. - * config/mips-big.mt (TARG_CPU_DEPENDENTS): Deleted. - * config/mips-lit.mt (TARG_CPU_DEPENDENTS): Deleted. -start-sanitize-rce - * config/rce.mt: Deleted. -end-sanitize-rce - * config/sh.mt: Deleted. - * config/w65.mt: Deleted. - * config/z8k.mt: Deleted. - - * config/te-dpx2.h (dpx2): Deleted unused macro. - * config/te-generic.h (TE_GENERIC): Ditto. - * config/te-go32.h (TE_GO32): Ditto. - * config/te-hp300.h (TE_HP300): Ditto. - * config/te-hppa.h (PA, _TE_PA_H): Ditto. - * config/te-ic960.h (TE_IC960): Ditto. - * config/te-nbsd532.h (TE_NETBSD532): Ditto. - * config/te-pc532mach.h (TE_PC532MACH): Ditto. - * config/te-ppcnw.h (TE_PPCNW): Ditto. - * config/te-sco386.h (scounix): Ditto. - -Mon May 1 15:59:56 1995 Ken Raeburn - - * read.c (s_app_file): If obj_app_file is defined, call it with - string as argument. Don't call c_dot_file_symbol or - elf_file_symbol. - * config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol. - * config/obj-elf.h (obj_app_file): Define as elf_file_symbol. - - * as.h (OUTPUT_FLAVOR): Don't define here. - * config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define. - * config/obj-bout.h (OUTPUT_FLAVOR): Define. - * config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define. - * config/obj-ecoff.h (OUTPUT_FLAVOR): Define. - * config/obj-elf.h (OUTPUT_FLAVOR): Define. - -start-sanitize-arc -Sat Apr 29 21:44:57 1995 Doug Evans - - * config/tc-arc.c (delay_slot_type): Deleted. - (md_assemble): Remember suffixes seen. - Issue warnings for 8 byte jump with delay slot, and conditional - branch immediately following set of condition codes. -end-sanitize-arc - -Thu Apr 27 20:07:33 1995 Doug Evans - - * Makefile.in (RUNTEST): Use one in srcdir if present. - (RUNTESTFLAGS): Define. - -Wed Apr 26 15:54:10 1995 Ken Raeburn - - Support for more portable alignment handling in assembly code, - based on patches from Bryan Ford : - * read.c (potable): Added balign and p2align, for aligning by - bytes or powers of two independent of what ".align" does for a - given target. - * doc/as.texinfo: Document them. - -Tue Apr 25 11:12:04 1995 Rob Savoye - - * configure, configure.in: Look for m68k-*-vxworks* rather than - just m68k-wrs-vxworks so gas can be configured for - m68k-vxworks5.1. - -Fri Apr 21 15:19:06 1995 Ken Raeburn - - * config/tc-sh.c (md_apply_fix): If fx_r_type is zero, handle - fx_size of 1, and abort on unrecognized sizes. - - * config/tc-m68k.c (m68k_ip): Fix bug in last change regarding - non-isvar case. - -Sun Apr 16 01:52:52 1995 Ken Raeburn - - * config/tc-m68k.h (md_relax_table, TC_GENERIC_RELAX_TABLE): - Missed this one in 11 Apr changes. - - * config/tc-i386.h (TC_GENERIC_RELAX_TABLE): Fix typo. - -Thu Apr 13 18:18:08 1995 Ken Raeburn - - * config/tc-sh.c (md_convert_frag): Instead of aborting on large - displacements, print an error message. Don't invoke the code that - followed the abort call until it's been verified. - - * config/tc-m68k.c (md_show_usage): Add 68060 to list. Split cpu - list into three lines. - -Thu Apr 13 14:34:36 1995 Torbjorn Granlund - - * tc-m68k.c (m68k_init_after_args): Test for m68360. - (md_parse_option): Likewise. - (md_show_usage): Mention m68360. - * tc-m68k.h (TARGET_WORD_SIZE): Define. - (TARGET_ARCH): Define. - - * expr.c (integer_constant): If TARGET_WORD_SIZE is defined, - sign-extend appropriately. - -Thu Apr 13 11:20:17 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_validate_fix): Properly use PARAMS to - hide prototype from non-ANSI compilers, and don't use ANSI syntax - for arguments. - -Wed Apr 12 12:20:19 1995 Stan Shebs - - * mpw-config.in (TDEFINES): Put empty definition into - makefile fragment. - * mpw-make.in (xmalloc.c.o): Remove. - (as.new): Depend on Version.r. - (Version.r): Generate from version info. - - * mpw-make.in: Delete references to hex-value.c. - - * mpw-config.in: Add mapping from configs to object file formats, - get VERSION from Makefile.in and add to mk.tmp. - (mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN. - * mpw-make.in (VERSION, gC): Don't define. - (ALL_CFLAGS): Remove -d flags. - (config.h): Remove definition of MPW, add HAVE_STDARG_H, - BFD_ASSEMBLER. - - * mpw-make.in (ALL_CFLAGS): Add definition of HAVE_STDARG_H, - include of ::libiberty:. - (config.h): Ifdef contents on GAS_VERSION. - - * mpw-make.in (as.c): Compile with C not gC. - (config-stamp): Touch correctly. - (install-only): New target. - (install): Depend on all and install-only. - - * mpw-config.in: Parse target and use to generate forward includes - to tc-, obj-, and atof- files, use te-generic.h for emulation. - * mpw-make.in (VERSION): Define. - (as.c): Compile with GCC. - (TARG_OBJECTS, CLIBS): Define. - (as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link - command. - (config.h, config-stamp): Build. - - * mpw-make.in (C, CFLAGS): Removed definitions. - (ALL_CFLAGS): Define. - Set default rule to use {CC} instead of {C}. - - * mpw-make.in (install): Moved here from mpw-build.in. - * mpw-build.in: Removed, functionality in mpw-make.in - - * mpw-make.in (CFLAGS): Add more include paths. - - * mpw-config.in (varargs.h, sys/*.h): Don't create when - configuring. - * mpw-make.in (CFLAGS): Add -w flag. - - * mpw-make.in: Replace 8-bit chars with their names. - - * mpw-config.in: New file, MPW version of configure.in. - * mpw-make.in: New file, MPW version of Makefile.in. - -start-sanitize-arc -Wed Apr 12 07:35:44 1995 Doug Evans - - * config/tc-arc.c (delay_slot_type): New function. - (md_assemble): Use hashed list of insns. - Print warning if 8 byte insn appears in delay slot. - (md_operand): Handle %st(sym1-sym2). - (get_arc_exp_reloc_type): Likewise. - (md_apply_fix, case BFD_RELOC_ARC_B26): Now using implicit addends - so must store them here. -end-sanitize-arc - -Tue Apr 11 01:42:36 1995 Ken Raeburn - - * configure.in: Require at least autoconf 2.3, because earlier - versions lose on some AIX versions. - * configure: Regenerated. - - * configure.in: Add m68k-*-elf. - * config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'. - (md_pseudo_table) [OBJ_ELF]: Ignore "swbeg". - (md_begin): Set alt_notend_table['&'], so svr4-style immediate - operands are accepted. - (md_apply_fix): Argument VALP should point to valueT. - (md_convert_frag): Argument SEC should be type segT. - (md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument. - (md_parse_option): Ignore it. - (md_convert_frag_1): Add in frag address for the symbol in the - displacement calculation. - * config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k". - (TARGET_ARCH): Define. - (REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0. - (LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle - these the same way for OBJ_ELF as for M68KCOFF. - - * gdbinit.in: Add breakpoint in as_abort. - - * write.c (cvt_frag_to_fill): If offset is less than zero, - complain about it specifically, instead of reporting an assertion - failure. - (relax_segment): Complain about .org backwards, then ignore it. - Do generic rs_machine_dependent relaxation only if - TC_GENERIC_RELAX_TABLE is defined, and use its value for the base - of the table. - * tc.h (md_relax_table): Delete declaration. - * as.h (struct relax_type): Add forward declaration for type. - * config/tc-a29k.c: Deleted md_relax_table. - * config/tc-{alpha,arm,h8300,hppa,i860,m88k,mips,ppc,sparc,z8k}.c: - Ditto. - * config/tc-{h8500,i386,i960,ns32k,sh,tahoe,vax,w65}.h: Declare - md_relax_table here, and define TC_GENERIC_RELAX_TABLE to expand - to md_relax_table. - * config/tc-h8500.c (md_relax_table): No longer const. - * config/tc-w65.c (md_relax_table): Ditto. - * config/tc-sparc.c (md_short_jump_size, md_long_jump_size): - Deleted. -start-sanitize-arc - * config/tc-arc.c (md_relax_table, md_short_jump_size, - md_long_jump_size): Deleted. -end-sanitize-arc -start-sanitize-rce - * config/tc-rce.h: Declare md_relax_table here, and define - TC_GENERIC_RELAX_TABLE to expand to it. -end-sanitize-rce - * doc/internals.texi: Describe TC_GENERIC_RELAX_TABLE and - WORKING_DOT_WORD. Mention md_*_jump_size (but description needs - to be fleshed out later). Note m68k PCINDEX mode has been checked - in. - -Mon Apr 10 15:57:42 1995 Ken Raeburn - - * config/tc-mips.c (nopic_need_relax): New static function, split - out from md_estimate_size_before_relax. - (md_estimate_size_before_relax): Call it. - (load_address, macro): In NO_PIC branches, if nopic_need_relax - returns nonzero, don't attempt GP optimization. - - * config/tc-m68k.c (PCINDEX): New macro. - (md_relax_table): No longer const. Add PCINDEX entries. - (m68k_ip): For AINDX with simple symbol operand, generate a - PCINDEX frag if PC is used, or do normal non-AINDX processing for - address register. - (m68k_init_after_args): If cpu is 68000 or 68010, fix - md_relax_table to prevent relaxation of PCINDEX/BYTE mode to - SHORT, since they don't support that mode. - (md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2. Add - support for new PCINDEX modes. - (md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode. - - * config/tc-m68k.c (md_convert_frag_1, case PCLEA/SHORT): Add 2 to - offset. - (m68k_ip, case most punctuation/AOFF): If using PC, call add_frag - using PCLEA. - - * config/tc-m68k.c: Don't explicitly include config.h. Deleted a - bunch of "#if 0" code and useless comments. - (struct m68k_cpu): New type. - (archs, n_archs): New variables, with single list of name/enum - mapping and aliases. - (m68k_ip): Delete the table here. - (m68k_init_after_args): Use the new table here instead of - open-coding it. - (md_parse_option, case 'm'): Ditto. - - * doc/Makefile.in (Makefile): Fix rule for running config.status. - (internals.dvi, internals.ps, internals.ps4): New targets, not - built by default. - - * doc/internals.texi: Add loud disclaimer. Refill to 79 columns, - specify fill-column in local-variables section. Change - subheadings to subsections so they can be cross-referenced. - Describe broken words, frags, frag chains, generic relaxation, - relax table, m68k relaxation, m68k addressing modes, test suite - code. Add a few words about various file formats. - - * doc/as.texinfo (m68k): Recommend using `%' with registers as the - normal case, instead of the exceptional case. - -start-sanitize-arc -Thu Apr 6 20:00:11 1995 Doug Evans - - * config/tc-arc.c (arc_condition_codes): Deleted. - (init_opcode_tables): Delete cpu_type_map, call - arc_get_opcode_mach instead. - (arc_common): Delete non-ELF stuff. Require leading '.' in .data. - (md_apply_fix): Delete non-ELF stuff. - Disable special handling of limm values, treat them normally. - (get_arc_exp_reloc_type): New argument `data_p'. Callers updated. - (md_assemble): All limm operands must be output by gas, the opcode - insertion routines cannot be used (they don't do anything and we're - using implicit addends now so we need to output something). - * config/tc-arc.h (FAKE_LABEL_NAME): Define. -end-sanitize-arc - -Thu Mar 30 14:38:47 1995 H.J. Lu (hjl@nynexst.com) - - * configure.in: Change linux to default to elf. Using - i[345]86-*-linuxaout will defaults to a.out. - * configure: Rebuild. - -Wed Mar 29 17:16:30 1995 Torbjorn Granlund - - * config/tc-m68k.c (md_apply_fix_2): Cast negative offsets to offsetT - (for hosting on 64 bit machines). - -Tue Mar 21 16:53:27 1995 Ian Lance Taylor - - * config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650. - -Fri Mar 17 16:47:13 1995 Stan Shebs - - * write.c (write_object_file): Add PROGRESS macros. - -Fri Mar 17 12:40:34 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_comm): Make sure to always reset the frag - and section for common symbols. - -Thu Mar 16 17:26:18 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_validate_fix): Allow non PC relative - pointers in the .ctors and .dtors section also when using the - -mrelocatable option. - (md_parse_option): Support -m403 as a PowerPC computer. - (md_show_usage): Ditto. - -Wed Mar 15 14:45:42 1995 Ian Lance Taylor - - * ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr - may be NULL when given strange input. Don't core dump. - -Tue Mar 14 21:36:34 1995 Ian Lance Taylor - - * config/tc-mips.c (load_register): Don't use addiu for dli of an - unsigned seemingly negative number. Don't bother shifting a zero - value. - (mips_ip): For case 'j', if there are more alternatives, and the - ISA level is at least 3, don't accept an unsigned seemingly - negative number. - -Tue Mar 14 19:16:43 1995 Ken Raeburn - - * read.c (s_app_line): Fix last patch to deal with a line number - of 1. - -Tue Mar 14 17:00:57 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_validate_fix): Use as_warn_where, not - as_bad_where to give a warning instead of an error. - -Mon Mar 13 17:03:46 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/tc-vax.c (md_assemble): issue a warning if a constant - is used as an operand where an immediate value is not allowed. - -Fri Mar 10 19:21:19 1995 Ken Raeburn - - * config/obj-coff.c: Redo my 10 Jan change, but get it right this - time. :-) - (fixup_segment): If linkrelax is set, just return. - (write_object_file): Don't treat h8300 and z8k specially with - regard to fixups. - * config/tc-h8300.c (md_begin): Set linkrelax. - * config/tc-z8k.c (md_begin): Ditto. - -Thu Mar 9 18:01:37 1995 Ian Lance Taylor - - * config/obj-coff.c (coff_header_append): Check return value of - bfd_coff_swap_scnhdr_out. - -Thu Mar 9 13:51:30 1995 Doug Evans - - Delete this patch, it breaks the h8300 assembler. - Tue Jan 10 13:34:14 1995 Ken Raeburn - * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k - specially with regard to fixups. - -Thu Mar 9 12:28:18 1995 Michael Meissner - - * config/tc-ppc.c (mrelocatable): Change type to boolean. - (md_begin): Set the EF_PPC_RELOCATABLE if -mrelocatable. - -Wed Mar 8 15:39:39 1995 Ian Lance Taylor - - * config/tc-mips.c (md_begin): Check for a cpu string of r8000 or - r10000. If mips_isa is 4, set the machine number to 8000. - (append_insn): If mips_isa is at least 4, don't generate nops for - coprocessor delays. Check INSN_READ_FPR_R when setting - mips_cprmask[1]. - (mips_emit_delays): If mips_isa is at least 4, don't generate nops - for coprocessor delays. - (mips_ip): Check for INSN_ISA4 instructions. Handle new argument - types 'h', 'R', 'N', and 'M'. - (md_longopts): Accept "mips4". - (md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000. - (s_mipsset): Permit .set mips4. - -Wed Mar 8 09:36:05 1995 Michael Meissner - - * config/tc-ppc.c (ppc_elf_validate_fix): Allow .stab sections to - have non PC relative relocations with -mrelocatable. - -Wed Mar 8 02:57:53 1995 Ken Raeburn - - * config/tc-m68k.c (opcode_ptr): Return pointer to const. - (md_begin): Make hash table errors fatal. Process opcode aliases - after main opcode table. - (md_apply_fix_2, case 4): Recode setting of lower_limit to avoid - gcc warning. - -start-sanitize-arc -Tue Mar 7 20:42:35 1995 Doug Evans - - * config/tc-arc.h (LITTLE_ENDIAN, BIG_ENDIAN): Define. - (DEFAULT_TARGET_FORMAT): Define. - (DEFAULT_BYTE_ORDER): Define to little endian. - (TARGET_FORMAT): Byte order is now selectable. - * config/tc-arc.c (arc_target_format): New variable. - (byte_order): New variable. - (md_longopts): New options -EL, -EB. - (md_parse_option): Recognize them. - (md_show_usage): Print them. - (md_begin): Set target_big_endian. -end-sanitize-arc - -Tue Mar 7 16:07:10 1995 Ian Lance Taylor - - * doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans - . - -Mon Mar 6 09:58:34 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to - be consistent with current naming conventions. - (md_begin): Set a default architecture and machine type. - (pa_ip): If the current instruction specifies a newer machine type - than the current machine type, then update the current machine - type. - (need_pa11_opcode): Likewise. - -Sun Mar 5 19:38:09 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument - relocation bits for absolute calls. - -Fri Mar 3 17:41:50 1995 Ken Raeburn - - * config/tc-h8300.* (md_operand): Change empty function to empty - macro. - - * config/tc-h8300.c (build_bytes): Make H8/300-H warning message - clearer. - - * write.c (write_contents): If bfd_set_section_contents fails, - print a message and exit, instead of aborting. - -Fri Mar 3 16:26:19 1995 Michael Meissner - - * tc.h (md_apply_fix3): If MD_APPLY_FIX3 is defined, declare - md_apply_fix3. - - * write.c (fixup_segment): If MD_APPLY_FIX3 is defined, call - md_apply_fix3 with the normal 2 arguments and the current segment - pointer instead of md_apply_fix. - - * config/tc-ppc.h (MD_APPLY_FIX3): Define. - - * config/tc-ppc.c (ppc_elf_validate_fix): Warn if -mrelocatable - and a non PC relative relocation that isn't in the .got2 segment - was performed. - (md_apply_fix3): Rename from md_apply_fix and take segment pointer - as third argument. If ELF object format, call ppc_elf_validate_fix - for normal relocations. - (md_parse_option): If ELF object format, recognize the - -mrelocatable switch. - -Thu Mar 2 16:34:44 1995 Ian Lance Taylor - - * config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0. - -Tue Feb 28 18:29:27 1995 Ken Raeburn - - * config/tc-arm.c, config/tc-arm.h (md_operand): Replaced empty - function in .c file with empty macro in .h file. - * config/tc-h8500.*, config/tc-hppa.*, config/tc-i386.*, - config/tc-i860.*, config/tc-i960.*, config/tc-ns32k.*, - config/tc-ppc.*, config/tc-sh.*, config/tc-sparc.*, - config/tc-tahoe.*, config/tc-vax.*, config/tc-w65.*, - config/tc-z8k.*: Ditto. -start-sanitize-rce - * config/tc-rce.*: Ditto. -end-sanitize-rce - * config/tc-m68k.*: Ditto. - - * config/tc-m68k.c (mote_pseudo_table): Removed dots from opcode - names. - - * read.c (s_app_line): Ignore non-positive line numbers. - -Tue Feb 28 15:34:14 1995 Ian Lance Taylor - - * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or - GOT relocs either. - -Mon Feb 27 13:03:41 1995 Kung Hsu - - * configure.in: add a29k-*-vxworks configuration. - -Fri Feb 24 14:41:15 1995 Ian Lance Taylor - - * config/tc-mips.c (load_register): Take dbl argument to determine - handling of signed 32 bit values in 64 bit modes. Change all - callers. - (macro): Handle M_DLI and M_DLA_AB. - -Wed Feb 22 23:10:56 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Don't subtract the value of the - add symbol if it's a common symbol (the value of a common symbol - is its size, not a value in the traditional sense). - -Wed Feb 22 21:12:28 1995 Ian Lance Taylor - - * config/tc-mips.c (append_insn): If listing_prev_line is called, - call frag_grow to make sure there is still room for a variant. - -Fri Feb 17 14:50:08 1995 Ian Lance Taylor - - * config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte - if OBJ_ELF. From gary@Intrepid.COM (Gary Funck). - - * config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both - weak and common. - * config/obj-aout.c (obj_aout_frob_symbol): Likewise. - -Fri Feb 17 12:43:47 1995 Michael Meissner - - * config/tc-ppc.c (md_pseudo_table): Don't redefine byte under - ELF. - (ppc_elf_cons): Don't support @pcrel any more, since DIFF_EXPR_OK - allows the normal expressions to generate it. - (md_apply_fix): Convert BFD_RELOC_32 with pcrel bit set into - BFD_RELOC_32_PCREL. Abort if either BFD_RELOC_16 or BFD_RELOC_8 - need PC relative relocations. - - * config/tc-ppc.h (DIFF_EXPR_OK): Define to allow PC relative - expressions to be handled. - -Thu Feb 16 14:30:13 1995 Doug Evans - - * expr.c (operand): Move md_operand handling to default case - (so it works). - -Wed Feb 15 16:08:47 1995 Jason Molenda - - * config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored - parameter, to match prototype. - -Wed Feb 15 15:07:00 1995 Michael Meissner - - * config/tc-ppc.c (md_pseudo_table): If ELF, go to ppc_elf_cons - instead of cons. - (md_show_usage): Show all of the PowerPc options. - (ppc_elf_suffix): New function to recognize ELF suffixes that - specify a relocation, such as @GOT. - (ppc_elf_cons): Replacement for the standard cons function that - knows about the ELF suffixes. - (ppc_fixup): Add reloc field to hold non-standard relocation. - (md_assemble): Handle ELF suffixes like @GOT. - (md_create_short_jump): Dummy in case WORKING_DOT_WORD is not - defined. - (md_create_long_jump): Ditto. - (md_short_jump_size): Ditto. - (md_long_jump_size): Ditto. - (md_apply_fix): Handle BFD_RELOC_32_PCREL, BFD_RELOC_LO16, - BFD_RELOC_HI16, BFD_RELOC_HI16_S, BFD_RELOC_PPC_TOC16, and - BFD_RELOC_16 relocations. If relocation can not be found, print - the decimal value of the relocation. - -Wed Feb 15 11:46:02 1995 Ian Lance Taylor - - * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for - DWARF. From gary@Intrepid.COM (Gary Funck). - - * config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double - loads and stores). - - * config/tc-i386.c (tc_i386_fix_adjustable): Do adjust global - symbols if OBJ_AOUT. - - * config/tc-mips.c (macro): Don't use the target register as a - base register when building the address for M_L{W,D}{L,R}_AB. - -Mon Feb 13 14:44:32 1995 Ian Lance Taylor - - * config/tc-mips.c (KT0, KT1): Define. - (mips_ip): Recognize $kt0 and $kt1 as register names. - - * config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF. - * config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the - value of a defined symbol; the value was added in by - fixup_segment. This was previously corrected, if the reloc was - changed to be against a section symbol, in tc_gen_reloc. - -start-sanitize-arc -Mon Feb 13 10:02:35 1995 Doug Evans - - * config/tc-arc.h (TC_PARSE_CONS_EXPRESSION): Define. - (TC_CONS_FIX_NEW): Define. - * config/tc-arc.c (get_arc_exp_operand_type): New function. - (init_opcode_tables): Insert registers into global symbol table. - (md_assemble): Call `expression' to parse all expressions. - Call `get_arc_exp_operand_type'. - (md_operand): Recognize %st(foo). - (arc_parse_cons_expression): New function. - (arc_cons_fix_new): New function. - (md_apply_fix): Handle new reloc BFD_RELOC_ARC_B26. -end-sanitize-arc - -Fri Feb 10 14:04:04 1995 Ian Lance Taylor - - * config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN - rather than !S_IS_LOCAL. - -start-sanitize-arc -Thu Feb 9 17:44:29 1995 Doug Evans - - * config/tc-arc.c (md_pseudo_table): Add .cpu. - (comment_chars): Add ';'. - (arc_mach_type, mach_type_specified, cpu_tables_init_p): New globals. - (md_parse_option): Delete support for -mmult. Add -mcpu=xxx. - (md_begin): Current ARCs are little endian. - Call bfd_set_arch_mach to set the cpu type. - (init_opcode_tables): New function. - (md_begin): Ignore suffixes and registers not supported by cpu. - (md_assemble): Initialize opcode tables here. - Ignore opcodes not supported by selected cpu. - Always ask for more memory in one piece. - (arc_cpu): New function. - (md_numbers_to_chars): Support both endians (will probably be needed - eventually anyway). - (md_apply_fix): Likewise. - * config/tc-arc.h (LOCAL_LABEL): Delete "_.L_", gcc works around - dwarfout.c quirk. -end-sanitize-arc - -Thu Feb 9 18:16:34 1995 Ian Lance Taylor - - * config/tc-i386.c (md_assemble): Adjust conditions for changing - BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags. - Patch originally from Rob Ryan . - - * config/tc-i386.c: Include subsegs.h. - (tc_i386_fix_adjustable): Declare return value. - (i386_operand): Don't use an assignment directly as a condition. - -Thu Feb 9 10:37:13 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): In some cases subtract the - value of the add symbol from valp. Offsets braindamage in the - "machine independent" fixup_segment. - -Wed Feb 8 18:51:23 1995 Ken Raeburn - - * messages.c (as_abort): New function. - * as.h (as_abort): Declare it. - (abort): New macro. - - Thu Jan 19 18:10:05 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/vms-conf.h (HAVE_UNISTD_H): define it unconditionally. - * config-gas.com: test for availability of ; create a - rudimentary one if necessary. - -Tue Feb 7 13:34:46 1995 Michael Meissner - - * configure.in: Add powerpc-*-eabi support, which is the same as - powerpc-*-elf. - (configure): Rebuild with autoconf. - -Mon Feb 6 03:37:00 1995 Ken Raeburn - - Changes from Bryan Ford for i386 - 16-bit and msdos support: - * config/tc-i386.c (flag_16bit_code): New variable. - (set_16bit_code_flag): New function. - (md_pseudo_table): Added entries "code16" and "code32". - (md_assemble): Ensure that correct data-size prefixes get emitted, - based on the current mode. Ensure that 32-bit addressing will - always be done. Move segment-prefix handling code. (Why?) Use - 16-bit jumps for 16-bit code, 32-bit jumps for 32-bit code. - * config/tc-i386.h (MAX_PREFIXES): Bump to 5. - (Data16, Data32): Define. - * doc/as.texinfo (i386-16bit): New node. - * configure.in (i386-*-msdos*): New target, using a.out format. - * configure: Regenerated. - -Thu Feb 2 15:21:24 1995 Ken Raeburn - - * config/tc-m68k.c (cpu32_control_regs): New macro. - (m68k_init_after_args): Use it, for cpu32 processors. - - Tue Jan 31 17:20:45 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.c (vms_tir_stack_psect): new routine; - (VMS_Set_Data, VMS_Set_Psect, VMS_Store_PIC_Symbol_Reference, - VMS_TBT_Routine_Begin, VMS_TBT_Line_PC_Correlation): use it; - (VMS_Global_Symbol_Spec, VMS_Procedure_Entry_Pt): treat - Psect_Number as `unsigned'. - - Thu Jan 26 17:06:28 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.c: performance tuning. - (VMS_Symbol_type_list): convert from single list head to small - array of list heads; - (SYMTYP_HASH): new macro for accessing VMS_Symbol_type_list[]; - (find_symbol, setup_basic_type, VMS_typedef_parse): use it; - (VMS_RSYM_Parse): move S_GET_VALUE() inside switch to avoid - calling it for uninteresting cases. - -Wed Feb 1 23:52:45 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Go ahead and call - hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL - relocations in SOM. - (hppa_fix_adjustable): Refine somewhat. - -Fri Jan 27 21:29:53 1995 Michael Meissner - - * config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are - using ELF. - -Thu Jan 26 19:03:42 1995 Ken Raeburn - - * config/tc-h8300.c (get_specific): Add parens around | inside &. - (skip_colonthing): Set L_8 if ":8" is specified. - -Thu Jan 26 18:38:01 1995 Ian Lance Taylor - - * config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the - 601. Check that the error return from hash_insert is "exists". - -Thu Jan 26 11:35:33 1995 Michael Meissner - - * configure: Add support for configuring powerpc-*-eabi. - - * config/tc-ppc.c (GOT_symbol): Define if object format is ELF. - - * config/tc-ppc.h (GLOBAL_OFFSET_TABLE_NAME): Define if object - format is ELF and not defined to be "_GLOBAL_OFFSET_TABLE_". - -Wed Jan 25 16:23:13 1995 Jim Wilson - - * tc-sh.c (little): Add argument IGNORE to avoid compiler warnings. - (md_pseudo_table): Add space for consistent formatting. - (COND8_RANGE, COND12_RANGE): Delete unused macros. - (COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M): - Correct minimum and maximum branch offsets. Add comments explaining - why these numbers are correct. - -Wed Jan 25 15:32:09 1995 David Edelsohn - - * config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for - mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and - m620 for PowerPC64 mode. - (ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix. - -Tue Jan 24 16:44:23 1995 Ken Raeburn - - * config/tc-vax.c (vip): Introduce new ptr-to-const local variable - for scanning operand string. - - Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu) - - * config/vax-inst.h (struct vop, fields `vop_warn', `vop_error'): - make them pointers to const char; - (struct vit, field `vit_error'): ditto. - * config/atof-vax.c (md_atof): rename local `littlenum_pointer' - to `littlenumP' to avoid shadowing file scope variable. - * config/tc-vax.c (vip_begin, vip_op_defaults, vip_op_1): make - string arguments be pointers to const char; - (vip): make `alloperr' const char *; - (vip_op): make `err' and `wrn' const char *; rename `access' to - `access_mode' to avoid shadowing library function. - * config/obj-vms.c (`symbol_name'): make it const char *; - (get_struct_name): cast one use of `symbol_name' to char * - [caller guarantees that it won't modify the pointer's target]; - (PUT_COUNTED_STRING): use pointer to const char; - (VMS_typedef_parse): make `pnt2' const char *; - (Write_VMS_MHD_Records): make `cp' const char *; - (VMS_Modify_Psect_Attributes, array `Attributes'): make const, - and make field `Name' pointer to const char; - - * as.h (`seg_name[]' declaration): pointers to const char; - (struct _pseudo_type, field `poc_name'): pointer to const char. - * subsegs.c (`seg_name[]' definition): ditto; - * hash.c (hash_ask): rename argument `access' to `access_type' - to avoid shadowing library function. - * write.c (variable `the_object_file'): move from file scope - to block scope within write_object_file(); free it after use; - (fixup_segment): conditionally exclude it for OBJ_VMS. - (cvt_frag_to_fill): rename argument `headers' to `headersP' - to avoid shadowing file scope variable. - -Mon Jan 23 21:42:39 1995 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused - miscompilation of "diag" instructions. - -Mon Jan 23 15:51:41 1995 Ken Raeburn - - * configure: Regenerated. - - * config/tc-mips.c: Include libiberty.h. - -Mon Jan 23 14:07:58 1995 Ian Lance Taylor - - * config/tc-sh.h (tc_init_after_args): Don't define. - * config/tc-sh.c (md_begin): Remove unused variable table. - (md_assemble): Remove unused variable p. - (md_convert_frag): Cast fr_address to unsigned long for printf. - (md_apply_fix): Use as_warn_where rather than as_warn. - (sh_init_after_args): Remove empty function. - - * configure.in (i386-*-gnu*elf*): New target. - -Sat Jan 21 19:02:23 1995 Ian Lance Taylor - - * hash.c (hash_ask): If we find the slot after wrapping around, - break out of the loop. Fixes bug in Jan 18 change. - -Fri Jan 20 17:07:31 1995 Ken Raeburn - - * hash.c (hash_code): Undo last change. - -Thu Jan 19 14:49:47 1995 Ken Raeburn - - * config/tc-alpha.c (alpha_ip): Initialize local variables to keep - gcc quiet. - (gpdisp_hi16_howto): Don't use "const" with reloc_howto_type. - (in_range_signed): Add parens around subtraction inside shift. - * gasp.c (do_data): Initialize local variable "opname". - (istrue): Provide a default case to set "res" and keep "gcc -Wall" - quiet. - * write.c (write_contents): Deleted unused variable. - (print_symbol_value_1): Declare. - * hash.c (hash_ask): Delete disabled non-strcmp version of the - code, and automatic variables used only in those sections. - * write.c (chain_frchains_together_1): Only define local variable - "prev_fix" if BFD_ASSEMBLER. - * flonum-konst.c (dummy1): Return void. - * config/tc-vax.c (md_assemble): Remove two comparisons of - unsigned numbers versus zero. - * as.h (bcopy): If neither memcpy nor bcopy is defined as a macro, - define to use memcpy. - - * config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes. - Turns out we never got the assignment done after all. - - Cleanup of VAX and VMS code, from Pat Rankin: - * config/obj-vms.c: Changed exported function names to lower case. - (Changed call sites in write.c.) Declare VMS system function - names used, conditional on actually being on VMS. Changed many - functions that returned no useful value to now be declared to - return void. Removed many unused variables. Supply missing - return statements or values. Supply `default' case in switch - statements. Ensure local variables get initialized. - * config/tc-vax.c: Minor changes to silence "gcc -Wall". - * config/obj-vms.h, config/tc-vax.h: Added some missing - declarations. - -Wed Jan 18 13:49:26 1995 Ken Raeburn - - * atof-generic.c (flonum_print) [TRACE]: New function. - (atof_generic) [TRACE]: Print multiplier before multiplication, - and print multiplication result before and after copy. - - * flonum-mult.c (flonum_multip): Avoid sign extension problems - around multiplication operation. - - * atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define. - (atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.' - explicitly instead of calling strchr. - - * config/tc-sparc.c (sparc_ip): When scanning successive opcode - table entries, check names for pointer equality before doing - string comparisons. - - * hash.c (hash_ask): Call strcmp instead of expanding it inline. - (hash_code): Replaced with a version from bfd. - - * config/obj-coff.c (write_object_file): If COFF_FLAGS isn't - defined, default it to zero. - -Wed Jan 18 12:16:07 1995 Ian Lance Taylor - - * write.c (fix_new_internal): Clear fx_bsr on those targets which - use it. - - * expr.c (operand): Parenthesize && within ||. - * listing.c (listing_newline): Likewise. - (list_symbol_table): Use %lu to print sizeof. - * symbols.c: Comment out unused function indent. - (print_symbol_value_1): Cast pointer to unsigned long for printf. - * config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it - will be used. - * config/tc-h8300.c (md_begin): Remove unused variable reg. - (get_operand): Declare type of parameter direction. Remove unused - variable size. - (get_specific): Fix comment to avoid nested comments. - (check_operand): Cast X_add_number to unsigned long for printf. - (build_bytes): Remove unused local variables output_ptr, part, and - high. - (build_bytes): Cast X_add_number to unsigned long for printf. - (clever_message): Remove unused variable scan. - (md_assemble): Remove unused variable i. - (tc_coff_sizemachdep): Remove unused function. - * tc-h8300.h (tc_reloc_mangle): Declare. - -Tue Jan 17 10:58:06 1995 Ian Lance Taylor - - * config/tc-mips.c (mips_4650): New static variable. - (md_begin): Handle a cpu string of "4650". If mips_4650 was not - initialized, set it to 0. - (append_insn): Don't insert nops around HI and LO on a 4650. - (mips_emit_delays): Likewise. - (mips_ip): Use INSN_ISA mask to check ISA of instruction. Check - for INSN_4650. - (md_longopts): Add m4650 and no-m4650. - (md_parse_option): Handle mips-cpu=4650. Handle -m4650 and - -no-m4650. - * doc/as.texinfo: Document new MIPS options. - -Sat Jan 14 23:48:13 1995 Steve Chamberlain - - * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles. - * config/obj-coff.h: Cope with w65. - * configure, configure.in: Recognize w65. - -Thu Jan 12 17:56:24 1995 Ken Raeburn - - * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get' - function is scrub_from_file, call scrub_from_file directly, and - get gcc's inlining capability into the act. - - * Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o. - (OBJS): Delete hex-value.o. - (REAL_SOURCES): Delete hex-value.c. - (hex-value.o): Delete dependencies. - * hex-value.c: Deleted. - * as.c (main): Call hex_init. - * expr.c, config/tc-mips.c: Include libiberty.h. Replace - hex_value array references with hex_* macros. - -Wed Jan 11 17:51:38 1995 Ken Raeburn - - * config/tc-h8300.h (COFF_FLAGS): Don't define. - * config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS), - config/tc-z8k.h (COFF_FLAGS): Ditto. -start-sanitize-rce - * config/tc-rce.h (COFF_FLAGS): Ditto. -end-sanitize-rce - - * config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always - defined. - - * config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't - generate 68020 addressing modes for a 68000 processor. - (md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto. - -Tue Jan 10 13:34:14 1995 Ken Raeburn - - * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k - specially with regard to fixups. - -Mon Jan 9 16:22:28 1995 Ken Raeburn - - * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to - bfd_vma before subtracting. - - * config/obj-coff.c (size_section): Handle rs_space like rs_fill, - but make sure fr_symbol is null. - (fill_section): Ditto. - -Sun Jan 8 16:14:19 1995 Ian Lance Taylor - - * config/tc-mips.c (mips_ip): Fix handling of floating point - values when GPOPT is not defined. - -Fri Jan 6 16:59:41 1995 Ken Raeburn - - * gasp.c: Include string.h. Put config.h before other includes. - - * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until - after any remaining operands are also known to match. - -Fri Dec 30 18:21:41 1994 Ken Raeburn - - * listing.c (list_symbol_table): Build a format string based on - the size of the value to be printed, as long as "unsigned long" is - at least as wide, after handling the special case of 4-byte - values. - - * Makefile.in (dependencies): Make $(OBJS) depend on as.h and - everything it includes. Delete those files from per-file - dependencies. - - * as.h (relax_substateT): Now defined to be unsigned int. - (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. - - * 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. - - * read.c (s_space): Rewrite to handle general expressions. - Generate rs_space frags for non-constant values. - * write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space - like rs_align and rs_org. Verify that fr_offset is non-negative, - and force frag type to rs_fill only after assertion checks. - (relax_segment): Treat rs_align_code like rs_align. Treat - rs_space like rs_org in the first switch; in the second, force the - operand to a constant, and use it for the growth size. - -Wed Dec 28 20:57:37 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_subspace): For sections with the ZERO - attribute, set the "bss" field in the appropriate seginfo structure. - -Wed Dec 28 15:01:01 1994 Ken Raeburn - - * subsegs.h: Include obstack.h. - -Tue Dec 27 18:16:04 1994 Ken Raeburn - - * as.h (struct frag): Enable align* components now. - -Tue Dec 20 14:56:31 1994 Ken Raeburn - - * frags.c (frag_init): Call obstack_begin on `frags'. - * 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. - - * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT - instead of long and unsigned long. - (md_apply_fix): Cast value before passing it. - - * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h, - config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c, - config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on - use of ".." when including header files. -start-sanitize-rce - * config/tc-rce.c: Ditto. -end-sanitize-rce - - * config/obj-coff.c (fixup_segment): Reformat condition in an `if' - statement. - - * Makefile.in (SUBDIR_INCLUDES): Deleted. - -Tue Dec 20 13:40:36 1994 Ian Lance Taylor - - * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h. - -start-sanitize-arc -Tue Dec 20 09:10:40 1994 Doug Evans - - * config/tc-arc.c: Delete lots of sparc pseudo-ops. -end-sanitize-arc - -Mon Dec 19 16:53:36 1994 Ian Lance Taylor - - * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit - constants. - (mips_ip): Accept O_big constants in case 'I'. Change case - 'i'/'j' to treat an O_big constant as an out of range value. - -Mon Dec 19 14:15:07 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is - clear for a section with the "ZERO" attribute. - - * Reduce useless symbols for ELF in an attempt to make smaller - objects and speed up the linker. - * config/tc-hppa.c (struct call_info): Replace end_symbol field - with a size field. - (hppa_elf_mark_end_function): Delete unneeded function. - (pa_build_unwind_subspace): For the 2nd unwind relocation, use - the function symbol + function size instead of a special symbol - for the end of the function. - (process_exit): Compute the function size here. Don't call - hppa_elf_mark_end_of_function anymore. - (pa_procend): Likewise. - (hppa_fix_adjustable): Only reject 32bit relocations for SOM. - (elf_hppa_final_processing): Simplify. - -start-sanitize-arc -Mon Dec 19 12:57:09 1994 Doug Evans - - * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer - to table entry. All callers changed. - (md_shortopts): New argument -mmult. - (md_parse_option): Recognize it. - (md_show_usage): Print it. - (md_begin): If -mmult, say we have the new multiply and shift insns. - (md_assemble): Fix reloc generation for 32 bit immediate values. - Clean up modifier handling. Try next insn if fake operand says there's - an error. Update to new syntax of insertion/extraction fns. - Recognize predefined aux regs. Don't abort if insertion fn missing. -end-sanitize-arc - -Mon Dec 19 13:49:07 1994 Ken Raeburn - - * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but - reject other vendors until we can be sure we're consistent with - bfd. - - * config/obj-vms.c (Create_VMS_Object_File): Instead of formatting - a buffer to pass to `error', just call `as_fatal' directly. - (VMS_Psect_Spec): Ditto. - (VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1, - VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call - as_tsktsk instead of printf. - (VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation, - VMS_TBT_Source_File, VMS_TBT_Source_Lines, - VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit - integers rather than sizeof expressions using basic integer types, - in case host and target aren't the same. Use memcpy or COPY_* - macros instead of possibly unaligned word or longword assignment. - - * config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro. - * config/obj-vms.c (VMS_Store_PIC_Symbol_Reference, - VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of - forcing sy_number to hold a pointer. - -Fri Dec 16 14:40:16 1994 Ken Raeburn - - * config/tc-sh.c (md_begin): Don't fill in md_relax_table here. - (md_relax_table): Use static initialization. - - * config/tc-h8300.c (parse_exp, get_operands, clever_message, - md_assemble, tc_crawl_symbol_chain, md_undefined_symbol, - tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN. - - * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET, - CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not - used. - (AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM, - NM_FOR_TARGET): Don't define. - (VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty. - (tooldir): Use exec_prefix, not libdir. - -Fri Dec 16 11:07:10 1994 Stan Shebs - - * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h. - - * as.h: Include progress.h. - * as.c (main): Call START_PROGRESS and END_PROGRESS. - (main, perform_an_assembly_pass): Call PROGRESS. - -Fri Dec 16 00:46:08 1994 Ian Lance Taylor - - * write.c (adjust_reloc_syms): Use bfd_is_und_section and - bfd_is_abs_section rather than comparing against &bfd_und_section - and &bfd_abs_section. - -Thu Dec 15 15:27:14 1994 Jim Wilson - - * config/tc-sh.c (md_begin): Use a local variable when - initializing md_relax_table to avoid errors about modifying a - const data structure. - -Tue Dec 13 15:42:27 1994 Ian Lance Taylor - - * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which - appears to no longer be needed. - -Tue Dec 13 08:04:15 1994 Ian Lance Taylor - - * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without - requiring that the X_op_symbol be in the text_section. - (macro): Change the test for a legel expression difference to - correspond to changes in pseudo_set in read.c. - -Fri Dec 9 21:04:17 1994 Ken Raeburn - - * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use - bfd_install_relocation. - - * ecoff.c (ecoff_set_gp_prolog_size): If there is no current - routine, just return. - - * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode - value from pattern instead of assuming jsr. - * config/alpha-opcode.h (jmp): Add a "1,Bc" form. - -Thu Dec 8 17:48:25 1994 Ken Raeburn - - * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just - plain nm. - - * configure.in (ns32k-pc532-mach*): Select correct emulation. - (mips-sony-bsd*): Use ecoff. - (mips-*-gnu*): New target, using aout format, from Roland McGrath. - * configure: Regenerated. - -start-sanitize-arc -Tue Nov 29 18:12:22 1994 Doug Evans - - * configure.in (arc-*-elf*): Recognize. - * configure: "regenerated". - * config/tc-arc.c, config/tc-arc.h, config/arc.mt: New files. -end-sanitize-arc - -Tue Nov 29 13:58:10 1994 Ken Raeburn - - Use libiberty version of xmalloc: - * Makefile.in (REAL_SOURCES): Delete xmalloc.c. - (OBJS): Delete xmalloc.o. - (xmalloc.o): Delete dependencies. - * as.c (main): Call xmalloc_set_program_name once program name is - known. - - * config/tc-alpha.c (in_range_signed, in_range_unsigned): New - routines, split from in_range. - (in_range): Deleted. All calls changed to in_range_*signed. - (create_lita_section): Macro deleted. Single use expanded in - place. - (alpha_ip): Handle `t' and `8' operand types. - (md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of - unhandled relocation types. - * config/alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI, - since it doesn't work, and isn't supported by the native - assembler. - - * input-scrub.c: Change wording of a comment to avoid interference - with Cygnus source-control tools. - - * as.h (errno) [NEED_DECLARATION_ERRNO]: Declare. - - * config/tc-m68k.c (init_table): List buscr and pcr control - registers. - (m68k_ip, case 'J'): Handle them. - - Delete signal handler code. It's been disabled since March 1993 - without complaints. - * as.c: Don't include signal.h. - (got_sig): Unused function deleted, declaration deleted. - (SIGTY): Macro deleted. - (main): Deleted disabled code for establishing signal handler. - -start-sanitize-rce - Tiemann should've noted something like this: - * config/tc-rce.c, config/tc-rce.h: New files. - * as.c (main) [TC_RCE]: Call dump_literals. - * configure.in: Handle rce-*-aout. - * configure: Regenerated. -end-sanitize-rce - -Mon Nov 28 11:37:35 1994 Doug Evans - - * app.c (do_scrub_next_char): Insert missing newline at end of file - like warning says we do. - -Mon Nov 28 00:11:15 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.h (pa_check_eof): Declare new extern function. - (tc_frob_file): Define to call pa_check_eof. - - * config/tc-hppa.c (pa_check_current_space_and_subspace): New - function to verify the current space and subspace are reasonable. - Call for the appropriate pseudo-ops and before instruction parsing. - (pa_check_eof): New function to verify enter/exit and proc/procend - pairs match at EOF. - (pa_code): Simplify. - - * config/obj-som.c: Delete #if 0 code. - -Wed Nov 23 19:36:09 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and - coff-sh. - * config/sh.mh (TARG_CPU_DEPENDENTS): Get it right. - * config/tc-sh.c (little): New function. - (md_parse_option): Notice new option. - (build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix): - Cope with little endian data. - * config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent. - -Wed Nov 23 10:54:38 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last - change. The real bug was in bfd/elfcode.h and has been fixed. - -Tue Nov 22 23:31:20 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma - to the relocation's offset. - -Tue Nov 22 14:37:58 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * Makefile.in (INSTALL_XFORM): Fix typo. - -Tue Nov 22 10:23:25 1994 J.T. Conklin - - * config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and - .set (no)volatile directives. - -Tue Nov 15 21:44:13 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_subspace): Make sure to always reset - current_subspace. - (pa_text, pa_data): Likewise. - - * config/tc-hppa.c (pa_align): New function. Aligns the current - offset within the current subspace along with updating the - alignment of the subspace itself. - (pa_subspace): Default alignment to one byte rathern than zero - bytes to avoid setting alignment to log2(0). - (md_pseudo_table): Use pa_alignment for .align. - -Tue Nov 15 15:24:45 1994 Ken Raeburn - - * messages.c (as_fatal): Always put a space after "fatal error:" - when printing message. - -Tue Nov 15 11:10:43 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.h (obj_frob_symbol): Delete. - (tc_frob_symbol): Make definition conditional on OBJ_SOM or - OBJ_ELF. For ELF subtract out symbol->section->vma for non common - symbols. - -Wed Nov 9 14:53:03 1994 Ken Raeburn - - * config/te-delta.h: New file, derived from te-sysv32.h. - -Wed Nov 9 11:52:44 1994 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-ppc.c (ppc_bf): Always set coff_line_base. - -Mon Nov 7 01:58:49 1994 Ken Raeburn - - * Makefile.in (VERSION): Bump to 2.5.3. - - * configure.in: Compare generic cpu name against "sparc", not - "sparc*", since sparc variants should be changed to "sparc". - * configure: Regenerated with autoconf 2.1. - - * config/tc-a29k.c (octal, toHex): Variables deleted. - (isoctal): Macro deleted. - (md_begin): Don't initialize them. - (machine_ip, case 'P'/'A'): For absolute operand, generate an - error message if it's out of range. - (md_apply_fix, case RELOC_JUMPTARG): Check range for PC-relative - jumps. - (md_apply_fix): Delete code inside "#if 0". - -Thu Nov 3 20:20:40 1994 Ken Raeburn - - * config/go32.mh: Unused file deleted. - - * read.c (get_absolute_expression): Indicate that the error may - merely be that the expression can't currently be reduced. - -Thu Nov 3 16:09:59 1994 J.T. Conklin (jtc@rtl.cygnus.com) - - * config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as - "a.out-m68k-netbsd". - * config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as - "a.out-sparc-netbsd". - - * config/te-nbsd.h: New file, NetBSD target emulation - * config/te-netbsd.h: Removed. - * configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*): - Set bfd_gas. Use nbsd emulation. - -Thu Nov 3 17:44:47 1994 Ken Raeburn - - Changes from net 2.5.2 release branch: - - * configure.in: Put AC_DEFINE(sparcv9) on its own line, so that - the shell variable settings associated with it are permanent. For - CPUs requiring bfd_gas=yes, select it based on CPU only, not - individual target names. Handle m68k-hp-hpux*, not just -hpux. - - * config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument - to match prototype in obj-coff.h. - - * configure.in: Skip tests for defining WANT_FOPEN_BIN and - IBM_COMPILER_SUX. - * acconfig.h: Deleted them. - * configure, conf.in: Rebuild with autoconf 2.0. - * config/go32.cfg, config/vms-conf.h: Updated. - - * config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use - IBM_COMPILER_SUX version of code, with comments indicating why. - - * listing.c (file_info): Use text mode when opening file for read. - Use "r" directly, no macro. - * input-file.c (input_file_open): Don't use FOPEN_RT, just use - "r". - * read.c (s_include): Ditto. - * output-file.c (output_file_create): Try both "wb" and "w", don't - bother with FOPEN_* macros. - * as.h: Don't include fopen-*.h. - - * config/alpha-opcode.h: Make "ret" with no operands equivalent to - "ret zero,(ra)", to match OSF1 and to be consistent with both - one-operand forms. - - Patches from DJ Delorie: - * as.h (alloca): undef alloca before defining it just in case - * config/go32.cfg: new file for autoconf values - * config/te-go32.h: new file - * configure.bat: new for autoconf - - * config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had = - for ==. - - * configure.in: If target_frag doesn't exist, use /dev/null. - - * as.c (parse_args): For non-VMS systems, re-add `v' to - std_shortopts. Add "verbose" to list of long options. - - * write.c (adjust_reloc_syms): When generating an absolute section - symbol as a placeholder, don't mark it as used in a relocation - entry, here. - - * Makefile.in (comparison): Compare using makefile code from gcc, - stripped down to discard subdir stuff and adapted to give a - non-zero exit status if either file differs. - -Thu Nov 3 15:43:02 1994 Ian Lance Taylor - - * config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for - NO_PIC case. - -Tue Nov 1 16:10:59 1994 Ian Lance Taylor - - * config/tc-mips.c (s_change_sec): If not GPOPT, don't permit - switching to the readonly data section. - - * ecoff.c (ecoff_directive_type): Fix warning message. - -Sun Oct 30 00:57:35 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_proc): Delete disabled code to put each - proc in its own subspace, we're not going to use it. - -Tue Oct 25 14:44:33 1994 Ian Lance Taylor - - * config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in - .rdata does not become a variant frag. - - * config/tc-mips.c (mips_cpu): Initialize to -1. - (md_begin): Don't mips_cpu if it was already set. - (md_parse_option): For -mipsN, don't set mips_cpu if it was - already set. For -mcpu=, just set mips_cpu, not mips_isa. - -Fri Oct 21 20:42:29 1994 Ian Lance Taylor - - * config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section. - (s_elf_section): New static function. - * ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize - the section when setting the storage class; default to sc_Data. - -Thu Oct 20 00:43:38 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all - fixups to branch instructions (not just pc-relative ones) which - will generate SOM relocations. - -Wed Oct 19 13:41:56 1994 Ian Lance Taylor - - * config/tc-a29k.c: Include ctype.h with angle brackets. - (define_some_regs): Add new special register names defined on the - 29040. - (parse_operand): Add argument opt. If non-zero, don't warn about - a missing operand. - (machine_ip): If handling argument type 'I', pass opt as non-zero - to parse_operand. Handle new optional operand type 'I'. - (md_undefined_symbol): Handle special register names (srNN). - -Tue Oct 18 00:45:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * write.c (renumber_sections): New static BFD_ASSEMBLER function. - (write_object_file): Call it after removing gas created sections. - -Mon Oct 17 18:06:05 1994 Ian Lance Taylor - - * symbols.c (symbol_create): Use udata.p, not just udata. - * config/obj-elf.c (obj_ecoff_set_ext): Likewise. - (elf_get_extr): Likewise. - - * read.c (read_a_source_file): The second argument to as_where is - unsigned int *, not int *. - -Mon Oct 17 02:26:32 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: Eliminate all uses of fx_addnumber. - (tc_gen_reloc): Simplify. It's no longer necessary to set a - reloc's addend field to zero for function symbols. - (md_apply_fix): Simplify. For fixups which will require a SOM - reloc, just clear out the necessary bits in the output file. - -Fri Oct 14 19:06:46 1994 Ken Raeburn - - * Makefile.in (BISON): Use bison -y, not bison. - -Thu Oct 13 19:22:54 1994 Ken Raeburn - - * Makefile.in (VERSION): Updated to 2.5. - (clean-here): Delete stamp-mk.com. - (distclean): Delete .gdbinit. - * Version 2.5 released. - -Wed Oct 12 20:30:51 1994 Ken Raeburn - - * config/te-nbsd532.h: Renamed from te-netbsd532.h. - * configure.in, configure: Adjusted. - -Wed Oct 12 16:33:38 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * config/cplus-dem.c: Removed. It isn't used. Even if it was, - it's better to use the one in libiberty. - -Wed Oct 12 18:48:39 1994 Ken Raeburn - - * symbols.c (resolve_symbol_value, case O_symbol): Undo last - change; it breaks the rs6000 support, and doesn't seem to be - needed. - -Wed Oct 12 11:56:50 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to - a.out--netbsd to match corresponding changes in BFD. - -Wed Oct 12 11:06:11 1994 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values - rather than explicitly adding the frag address. - * config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark - the end of the line numbers; this replaces the zero entry which - used to be added by coff_add_linesym, removed Oct 7. - (coff_adjust_section_syms): Ignore sections with no seginfo. - -Wed Oct 12 01:41:37 1994 Ken Raeburn - - * Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a - "stage" symlink to the appropriate stage* directory, and use it - instead in the -B options. - (comparison): Revert yesterday's change. - -Tue Oct 11 16:48:11 1994 Ken Raeburn - - * config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if - pc-relative, use fx_offset only, ignore address of relocation. - -Tue Oct 11 15:24:00 1994 Ian Lance Taylor - - * config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking - for an embedded PIC switch expression, since the definition of - S_IS_LOCAL was changed. - -Tue Oct 11 15:05:11 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * Makefile.in (comparison): When comparing as.new or gasp.new, try - running the binary through sed to avoid differences due to - "stage1" or "stage2" having been written into the binary. - -Sat Oct 8 01:48:04 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - ELF symbol size handling, based on code from Eric Youngdale: - * config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro. Adds an - expression pointer to the symbol structure, used for `size' - expressions that couldn't be reduced to constants when initially - processed. - (elf_frob_symbol): Declare. - (obj_frob_symbol): Call elf_frob_symbol always, rather than - ecoff_frob_symbol only if ECOFF_DEBUGGING defined. - * config/obj-elf.c (obj_symbol_new_hook): Deleted unused code. - Clear sy_obj field. - (obj_elf_size): Deleted unused code. If size is non-reducible - expression, allocate some storage for the sy_obj field and copy - the expression. - (elf_frob_symbol): New function. Computes sizes, calls - ecoff_frob_symbol if appropriate. - - * write.c (fixup_segment): For i386 elf and coff (for now), don't - add in value of symbol from another defined section of the file. - -Fri Oct 7 17:54:02 1994 Ken Raeburn - - * config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define. - * config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET, - rather than both it and TC_M88K. - (coff_adjust_section_syms): New function. - (coff_frob_section): For non-empty sections, create aux entry for - the section symbol, indicating the size. - (n_line_nos): New variable. - (add_lineno): Increment it. - (coff_add_linesym): Increment n_line_nos, don't call add_lineno. - (coff_frob_file): New function; map coff_adjust_section_syms over - sections. - (obj_coff_line): Only reset line_base for .bf symbols. - * config/obj-coff.h (coff_adjust_section_syms, coff_frob_file): - Declare. - (obj_frob_file): New macro. - - * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from - obj_frob_forward_symbol, and rewritten for new parameter list. - - Mon Oct 3 21:02:38 1994 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference. - -Wed Oct 5 11:49:26 1994 Ian Lance Taylor - - * config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype - as synonyms for .size and .type. - -Wed Oct 5 00:08:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-coff.c (coff_frob_section): Remove assert about - section alignment. - * config/tc-sparc.c (md_section_align): Use section alignment, not - xvec align_power_min field. - -Fri Sep 30 19:05:20 1994 Pat Rankin (rankin@eql.caltech.edu) - - * vmsconf.sh (make-gas.com): handle DCL verification to enable - sensible feedback to the user while gas is being built. - -Fri Sep 30 16:23:31 1994 Ken Raeburn - - * Makefile.in (DISTSTUFF): New variable, listing only make-gas.com - for now. - (diststuff): New target; builds DISTSTUFF. - (realclean): Separate target, depend on clean and distclean, then - delete DISTSTUFF. - * make-gas.com: Deleted. - - * config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New - function. Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF - reloc for "foo". - (i386_operand): Don't look up section symbol for - undefined_section. - (reloc): Always permit return of 8- and 16-bit relocation types. - Add a space after "pc-relative" in the error message. - (tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject - BFD_RELOC_386_GOTOFF relocs. - (i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32 - with a "foo-GOT" value. - * config/tc-i386.h (i386_validate_fix): Declare it. - (TC_VALIDATE_FIX): New macro -- call it. - (NOP_OPCODE): Cast to `char' to avoid compiler warnings. - - * as.h: If __STDC__ is not defined and varargs.h is available, use - it rather than stdarg.h. - - * write.h (struct fix): Added new bitfield fx_plt, for fixups - referring to PLT entries. - * write.c (fix_new_internal): Initialize fx_plt to zero. - (adjust_reloc_syms): Re-fetch `sym' after top of reduction loop. - Don't adjust fx_offset by frag address, since S_GET_VALUE now - includes the frag address. - (fixup_segment): Changed local var PCREL to type int, added PLT. - If PC-relative fixup refers to a PLT entry for a symbol in the - current section, don't reduce it. - - * write.c (adjust_reloc_syms): Exit loop through a label. If - DEBUG5 is defined, print out each fixup before and after - processing. - (fixup_segment): If DEBUG5 is defined, print out each fixup before - and after processing. - (print_fixup): Added prototype. Show address on first line. Show - fx_offset and fx_subsy. [!BFD_ASSEMBLER]: Only show fx_r_type if - NEED_FX_R_TYPE is defined. - - * symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN, - S_IS_DEBUG, S_IS_DEFINED also. - -Thu Sep 29 18:57:06 1994 Ken Raeburn - - * Makefile.in (all): Depend on .gdbinit. - (.gdbinit): Rebuild from gdbinit.in by running config.status. - - * gdbinit.in: Define new function "pf". Fix doc on "pe" and "ps". - - * write.c (print_fixup): Print source location on first line. - Show fx_r_type and fx_addsy fields. - -Wed Sep 28 14:56:39 1994 Ken Raeburn - - * configure.in: Set bfd_gas for all sparc targets in one place, - instead of separately for each. Correctly handle user-supplied - "--enable-bfd-gas" option. - - * gdbinit.in: Move "break abort" to end, in case gdb complains. - - * as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]: - Use PARAMS macro. - - * symbols.c (resolve_symbol_value, case O_symbol): Don't do any - processing if add_symbol is undefined or in expr_section. - (resolve_symbol_value, case O_add): For symbol plus - constant-valued symbol, convert to O_symbol and re-reduce. - (S_GET_VALUE): If symbol needs resolving, resolve it. - (indent_level): No longer static. - (print_symbol_value_1): Don't print frag address if it matches - zero_address_frag. Don't print "resolving" if already resolved. - Print segment name. Don't call print_expr_1 on an undefined - symbol. - (print_expr_1): Fix whitespace before printing X_add_number. - - * expr.c (make_expr_symbol): No longer static. Use symbol_create, - not symbol_new, for symbols holding expression values. - * expr.h (make_expr_symbol): Move declaration here. - * write.c (fix_new_exp): Handle O_add by creating an - expression-valued symbol, and calling fix_new_exp recursively. - (adjust_reloc_syms): If a fixup's symbol value is a sum of an - undefined symbol and a constant, fold the constant into the fixup, - and refer to the undefined symbol directly. Then process the - fixup again from scratch. - (write_object_file): Before calling adjust_reloc_syms, make a pass - through the symbol list trying to resolve values. - - * write.c (print_fixup): New routine, for debugging. - (write_relocs): Call bfd_install_relocation. Deleted various - hacks for working around problems with bfd_perform_relocation. - - * Makefile.in (VERSION): Update to 2.4.90. - -Wed Sep 28 11:50:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * Makefile.in (gasp.o): Depends upon config.h. - - * config/tc-mips.c: Include subsegs.h. - (md_apply_fix): If an unconditional b or bal overflows, and we are - not assembling PIC code, replace it with a j or jal. - - * config/tc-mips.c (md_apply_fix): Correct branch overflow test. - Use as_bad_where and as_warn_where rather than as_bad and as_warn. - -Mon Sep 26 17:15:59 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * write.c (write_relocs): Add file name and line number to - as_fatal calls. Handle bfd_reloc_overflow case specifically when - RELOC_EXPANSION_POSSIBLE. - -Fri Sep 23 16:11:28 1994 Ken Raeburn - - * as.h (USE_STDARG, USE_VARARGS): Define one or neither of these - here. Use them for deciding which PRINTF*LIKE macro definitions - to use. - * messages.c: Use them, instead of NO_STDARG, NO_VARARGS. - [!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide - default definitions matching what we were doing before. - (as_tsktsk): Remove the non-stdarg, non-varargs version, and - always use the varargs form if not using stdarg. It's safe to - always use vfprintf, because libiberty will provide it if the - native system doesn't. Also, always make format be const. - (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto. - -Fri Sep 23 14:42:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-mips.c (load_register): Always use addiu when adding a - constant to $zero--no need to use daddiu. - (macro): Hack the -mips3 overflow tests to not fail when offsetT - is only 32 bits. - - * symbols.h (copy_symbol_attributes): Declare. - -Thu Sep 22 21:58:24 1994 Ken Raeburn - - * listing.c: Bugfixes based in part on patches from Paul - Kranenburg. - (listing_newline): Check filename as well as line number when - deciding whether to record it. - (list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is - false (if defined) as well as checking for reg_section. - (listing_listing): Iterate fetching lines while line number is too - low, and we haven't run off the end of the input file. - - * config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE. - -Thu Sep 22 13:39:10 1994 Kung Hsu (kung@x1.cygnus.com) - - * ecoff.c (ecoff_generate_asm_lineno): check if - current_stabs_filename is NULL before strcmp. - * read.c (read_a_source_file): fix a bug in generate_asm_lineno - checking. - -Wed Sep 21 18:17:35 1994 Ken Raeburn - - * config/ho-*.h: Now-unused files deleted. - - * symbols.c (copy_symbol_attributes): New function. Copies BFD - symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES. - (resolve_symbol_value, case O_symbol): Call it, if X_add_number is - zero. Don't call obj_frob_forward_symbol. - * read.c (pseudo_set): Call copy_symbol_attributes, but only if - X_add_number is zero. - * config/obj-elf.h (obj_frob_forward_symbol): Deleted. - - * config/tc-i960.c: Lots of whitespace, comment reformatting, - using GNU indent. - (strchr): Don't declare. - [BFD_ASSEMBLER]: Don't compile md_convert_frag, - md_estimate_size_before_relax, md_ri_to_chars, - md_create_short_jump, md_create_long_jump. - (brtab_emit): Use data_section, not SEG_DATA. - - Mon Sep 19 17:14:44 1994 Pat Rankin (rankin@eql.caltech.edu) - - * config/vms-conf.h: new file, manually derived from conf.in. - * config-gas.com: use it, and eliminate obsolete "host.h". - -Wed Sep 21 11:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-ppc.c (ppc_current_block): New static variable. - (ppc_stabx): Set sy_tc.within of a C_STSYM symbol to - ppc_current_block. Don't move around any stab symbol, just those - for common symbols. - (ppc_bs): Set ppc_current_block. - (ppc_es): Clear ppc_current_block. - (ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset - from the csect of the enclosing block. - - * config/tc-mips.c (insns_since_cache_access): Remove. - (append_insn): Remove setting of insns_since_cache_access, and - special 4600 handling; it turns out not to be required. - -Tue Sep 20 16:13:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-mips.c (md_shortopts): Remove E. - (md_longopts): Add EB and EL. - (md_parse_option): Handle -EB and -EL as separate options, rather - than as a single -E option with an argument. - -Mon Sep 19 12:42:05 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions - involving global symbols too. - -Mon Sep 19 12:12:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION. - - * configure.in: Test for remove, not delete. Fix cross-assembler - test. - * as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to - remove, not delete. - - * read.c (pseudo_set, case O_symbol): If - OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it. - [BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too. - * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define. - - Wed Aug 10 19:15:30 1994 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM, - many others): new macros; values obtained from "DSTRECRDS.SDL". - * config/obj-vms.h (various): use them. - (USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield - representation (only enum bitfields can avoid being bitstrings). - (bitfield_suffix, setup_basic_type): new routines. - (VMS_typedef_parse): use them. Now recognize bitfields of all - integral types, not just type `int'. Caveat: the representation - used for bitfields still does not work for objects placed in - registers, and gcc's optimizer sometimes puts small structs there. - - Tue Jun 14 17:31:44 1994 Pat Rankin (rankin@eql.caltech.edu) - - * read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION - bit from const_flag. - * config/obj-vms.h (IN_DEFAULT_SECTION): define this macro. - (tc_frob_label): define this to call vms_check_for_special_label, - and declare the latter. - * config/obj-vms.c (vax_g_doubles): declare this file-scope - variable. - (const_flag): initialize to IN_DEFAULT_SECTION instead of 0. - (vms_check_for_special_label): new routine (tc_frob_label). - (VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.' - and `gcc2_compiled.' labels; they won't reach here any more. - (VMS_typedef_parse) [case 'r']: for types `double' and `complex - double', use `vax_g_doubles' flag to select type of double. - (VMS_write_object_file) [traceback setup]: don't pass symbols - with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin - and TBT_Routine_End functions. - - Mon Jun 6 20:52:20 1994 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.c (VMS_TBT_Routine_End): cache the result of - S_GET_VALUE() to avoid many repeated function calls. - (VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize - _C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is) - gets requested. [All the HACK_DEC_C_STARTUP code appears to - be obsolete; gcc does it automatically for vms target. It's - also misnamed, because it is for the "VAX C" run-time library, - not the newer "DEC C" one which has much different startup code.] - {various}: use `S_SET_xxx(symbol,new_value)' rather than - `S_GET_xxx(symbol) = new_value'. - -Mon Sep 19 12:05:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr, - not &bfd_abs_section. - -Thu Sep 15 18:36:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * expr.c (clean_up_expression): Use addressT, not bfd_vma. - -Tue Sep 13 20:05:47 1994 Jeff Law (law@snake.cs.utah.edu) - - * expr.c (expr): Don't reduce the difference of two symbols in the - same frag if the symbols are not in normal sections. - - * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud. - (S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise. - (obj_attach_unwind_info): Do not define. Not needed anymore. - * config/tc-hppa.c: Delete whitespace at EOL. - (struct hppa_fix_struct): Delete fx_unwind field and all references. - (fix_new_hppa): Last arg is now a pointer to an int. Do not - call obj_attach_unwind_info anymore. For SOM R_ENTRY and R_EXIT - fixups, store 32bits of unwind information in the fx_addnumber - field of the fixup. - (md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY - and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a - pointer to 32 bits of unwind info. - (tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol - pointer to the dummy symbol; set the addend field to fx_addnumber. - (pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr - rather than &bfd_XXX_section. - -Tue Sep 13 21:15:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement - value by one; discard adjustments previously being made. From - Eric Youngdale. - - VMS- and Vax-related changes from Pat Rankin: - * Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1. - * vmsconf.sh: no longer have make-gas.com echo text about needing - to modify the gcc-vms driver when intending to use with gcc 1.x. - * as.c (parse_options): suppress 'v' from std_short_options and - eliminate VMS-specific conditional initialization; - [default case]: check for '-v' if md_parse_options doesn't recognize - an option; - [default case, #if VMS]: check for filename argument when '-v' seen; - [case 'v']: delete. - * config/tc-vax.c (md_assemble): don't rely on `this_add_number' - for O_big literal operands (double floats and long long ints); - [VMS, md_shortopts]: add second colon after 'v'; - (md_parse_options) [VMS, case 'v']: check for argument, so - caller can handle `-v' w/o arg. - -Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET - is defined, put the tx_offset into the r_offset. - * config/tc-sh.c (line_comment_chars): Add # - (tc_reloc_mangle): Deleted. - * config/tc-sh.h (TC_KEEP_FX_OFFSET): Define. - (TC_RELOC_MANGLE): Delete. - -Tue Sep 13 16:20:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS. - * hex-value.c: Ditto. - * config/obj-vms.c: Ditto. - - * config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with - a call to as_fatal. - * config/tc-i860.c (i860_ip): Ditto. - * config/tc-hppa.c (pa_ip): Ditto. - * config/tc-alpha.c (alpha_ip): Ditto. - * as.c (parse_args): Ditto. - - * config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a - call to as_fatal. - - * write.c (write_contents): Use EXIT_FAILURE. - * output-file.c (output_file_create, output_file_close, - output_file_create, output_file_close): Ditto. - * messages.c (as_fatal): Ditto. - * config/obj-som.c (obj_som_version, obj_som_copyright): Ditto. - * config/obj-ieee.c (write_object_file): Ditto. - * config/obj-coff.c (write_object_file): Ditto. - * config/tc-vax.c (main): Use EXIT_SUCCESS. - * config/tc-m68k.c (main): Ditto. - - * hash.c (main): Pass a value to exit(). - - * as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here. - * as.c: ...from here. - (parse_args): Use them always. - (main): Use exit rather than return. - - * Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall): - Rewrite handling of program_transform_name. - - * configure.in: Test for functions unlink and delete. - * as.h: If unlink isn't available but delete is, define unlink to - be delete. - - Update for autoconf 1.118: - * gdbinit.in: New file, created from old .gdbinit. - * .gdbinit: Deleted. - * aclocal.m4 (GAS_GDBINIT): Deleted. - * configure.in: Don't use it. Instead, generate .gdbinit from - gdbinit.in. Don't substitute cpu_type, obj_format, emulation, - atof. Switched order of AC_LINK_FILES arguments. Use AC_PREREQ - to ensure that older versions of autoconf aren't used. - * Makefile.in: Added @configure_input@ line. - (configure): Deleted rule. - -Tue Sep 13 12:08:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/obj-coff.c (fixup_segment): After handling the difference - of two symbols from the same segment, set fx_subsy to NULL, to - satisfy existing TC_COUNT_RELOC macros. - -Tue Sep 13 01:47:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * aclocal.m4 (GAS_GDBINIT): New macro. - * configure.in: Use it. - * configure: Regenerated. - -Mon Sep 12 20:56:38 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com) - - * .gdbinit (pe, ps): Define new commands. - * symbols.c (indent_level): New static variable. - (indent, print_expr_1, print_symbol_value_1, print_symbol_value, - print_expr): New functions. - - * Makefile.in (config-stamp): Add a "this file generated by make" - message to config.h. - - PIC implementation for i386-linux, based on code from Eric - Youngdale and Paul Kranenburg, with some work of my own: - - * write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup - before processing same-section pcrel relocations. - (TC_RELOC_RTSYM_LOC_FIXUP): Default to 1. - - * expr.c (make_expr_symbol): If operator is O_symbol and - X_add_number is zero, just return the symbol. If operator is - O_constant, resolve the symbol's value before returning. - (operand): Permit use of "[]" for grouping. - (clean_up_expression): For difference of two symbols in the same - frag, add the difference of their offsets into X_add_number. - (expr): Reduce difference of two symbols in same frag to their - difference. - - * config/tc-i386.c (TC_RELOC): New macro. - (struct _i386_insn): New field disp_reloc. - (GOT_symbol): New variable. - (operand_special_chars): Added square-brackets and at-sign. - (reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not - NO_RELOC, just return it. - (reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro. - (BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More - dummy macros. - (tc_i386_fix_adjustable): New function. Returns zero if symbol in - fixup is not local, to prevent relocations against externals from - being dropped. - (md_assemble): Initialize disp_reloc field to NO_RELOC. Pass - disp_reloc field to reloc() function, and use TC_RELOC to generate - value to pass to fix_new_exp. - (md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC - reloc. - (i386_operand): Initialize disp_reloc field to NO_RELOC. Handle - @GOTOFF, @PLT, @GOT operands. For GOTOFF relocations with local - symbols, force generation of the section symbol. - (md_estimate_size_before_relax): If GOT_symbol exists, decide - we're generating PIC code, and convert relocations against - undefined symbols from PCREL to PLT32. - (md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking - relocs. - (md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set - and return GOT_symbol if it matches. - (F, MAP): Move macro definitions outside function. - (tc_gen_reloc): Only switch on size and pcrel if code wasn't - already supplied as PLT32. GOT32, GOTOFF, or GOTPC. Convert - BFD_RELOC_32 using GOT_symbol into GOTPC. - * config/tc-i386.h (TC_RELOC, tc_fix_adjustable, - TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New - macros. - (NEED_FX_R_TYPE): Define. - (LOCAL_LABEL): Accept ".X" prefix too. - (GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_". - -Mon Sep 12 17:51:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/obj-elf.c (obj_elf_type): Rewrite to accept syntax - reportedly to be used on Irix 6. - - * config/tc-mips.c (md_pseudo_table): Handle .globl and .global. - (s_mips_globl): New static function; needed for Irix 5 support. - * ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an - external symbol with no type, set the type to st_Proc rather than - st_Global. Don't set the index of an external st_Proc or - st_StaticProc symbol unless it is also a local symbol. - - * read.c (read_a_source_file): The second argument to as_where is - unsigned int *, not int *. - -Thu Sep 8 17:18:24 1994 Kung Hsu (kung@mexican.cygnus.com) - - * config/obj-ecoff.h : Change names to OBJ_GENERATE_ASM_LINENO, - and generate_asm_lineno. - * config/obj-elf.h : ditto. - * read.h : ditto. - * read.c (read_a_source_file): if no file when inst is read, set - generate_asm_lineno to true. - * ecoff.h : change name to generate_asm_lineno and add function - ecoff_no_current_file. - * ecoff.c : change name to generate_asm_lineno. - * ecoff.c (ecoff_generate_asm_lineno) : new function, to generate - ecoff style line for asm file. - -Thu Sep 8 19:43:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/obj-coff.c (size_section): Do an fprintf to stderr rather - than a printf. - (fixup_segment): Use as_bad_where rather than as_bad. - -Wed Sep 7 17:21:12 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing - nothing becomes macro doing nothing. - -Wed Sep 7 19:10:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * Makefile.in (Makefile): Depend on config.status. - (config.status): Run config.status from . instead of srcdir. - - * config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to - display the name of the relocation type that couldn't be handled. - * config/tc-sparc.c (tc_gen_reloc): Likewise. - * config/tc-alpha.c (tc_gen_reloc): Likewise. Deleted abort call - after call to as_fatal. - - * configure.in (i386-*-linux*): Don't set bfd_gas. - - * Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET, - install, uninstall): Don't use "brokensed" hack any more, the new - autoconf code should never let program_transform_name be empty. - - Update for autoconf beta 1.112: - * aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New - macros. - * configure.in: Use them. Use AC_ARG_PROGRAM (now provided by - autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move - test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a - message to try to ease confusion about autoconf's - "cross-compiling" message. - * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE, - NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION. - * configure, conf.in: Regenerated. - -Wed Sep 7 12:49:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * configure.in: Check ${host} and ${target} rather than - ${host_canon} and ${target_canon}. - * configure: Likewise. - -Tue Sep 6 11:42:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-mips.c (mips_cpu): New static variable. - (insns_since_cache_access): New static variable. - (md_begin): Set mips_cpu as well as mips_isa. - (append_insn): If mips_cpu is 4600, require four nop instructions - between an instruction which accesses the cache and certain CACHE - instructions. Keep track of the number of instructions seen since - an instruction which accesses the cache. - (md_parse_option): Set mips_cpu as well as mips_isa. - -Mon Sep 5 07:09:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * doc/Makefile.in (VPATH): Define using @srcdir@. - (prefix, program_transform_name, exec_prefix): Use autoconf style - @-substitutions. - -Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) - - * config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files - * configure.in: Recognize the arm. - -Fri Sep 2 16:05:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * ecoff.c (add_file): Don't try to generate line numbers if the - symbol table has been frozen. - -Thu Sep 1 19:48:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE. - - * configure.in: Handle user-specified bfd-assembler option with - separate variable from preferred configuration, until the two are - resolved. Indicate bfd_gas=preferred for linux a.out. Use - AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm. - * Makefile.in (target_alias, program_transform_name): Define, - using autoconf @-substitutions. - -Wed Aug 31 17:43:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * atof-generic.c: Deleted alloca handling here. - - * Makefile.in (prefix, exec_prefix): Use @-subtitutions. - - * aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since - autoconf 1.109 has this fixed. - * configure.in: Don't change quote characters around AC_MSG_ERROR - invocation. Don't use AC_HEADER_STDC, since it requires running a - program. Cache NEED_*_DECLARATION values. - * configure, conf.in: Regenerated with a modified autoconf 1.109. - - * as.h (volatile): Don't test or define here; not needed. - (alloca): Replace alloca-conf.h inclusion with code recommended in - autoconf documentation. Include config.h first. - -Wed Aug 31 11:20:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined - also. - - * configure.in, configure: Initialize bfd_gas to no. - -Tue Aug 30 19:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * as.h: Include alloca-conf.h from "libiberty", not - "../libiberty". - -Mon Aug 29 16:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a - symbol is used as an offset into a CSECT that is not a TOC. These - types of loads are generated by gcc -mminimal-toc. - -Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com) - - * as.h (flag_*): Added comments describing meanings of some of - these variables. - (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. - - * frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments. - Always initialize them to zero. - * frags.h (frag_variant): Fixed prototype. - * config/tc-i960.c (get_cdisp): Don't pass the extra zero args. - * config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache - the value of frag_now and fill in the fields later. - - * Makefile.in (distclean, realclean): Remove new - configure-generated files. - -Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com) - - Conversion to autoconf: - * 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. - - * input-file.c: Don't include assert.h here, 'cause as.h already - includes it. - - * config/tc-alpha.c: Added various prototypes for static - functions. - (in_range): New function, tests whether a value can fit in an - N-bit field. - (build_mem, build_operate_n): New functions for constructing - opcode values. - (emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New - functions for emitting single instructions, no longer requiring a - recursive call to md_assemble. - (emit_add64): New function for expanding a REG:=REG+CONST - operation into one or more instructions, to handle wide constants. - (clear_insn): New variable. - (md_begin): Fill it in with zeros and BFD_RELOC_NONE values. - (alpha_ip): Use it to initialize local variable insns. - (alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64 - for calculations. - -Fri Aug 26 14:46:15 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com) - - * subsegs.c (section_symbol): Reverse still-wrong test of - EMIT_SECTION_SYMBOLS. - - * write.c (BFD_FAST_SECTION_FILL): Always define. - (write_contents): If fill_size is 1, use memset instead of looping - calling memcpy. - -Wed Aug 24 12:46:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility - with native MIPS assembler. - * configure.in (mips-*-irix*): Don't set emulation. - * config/te-irix.h: Remove. - - * ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we - haven't seen any input files yet. - * config/tc-alpha.c (md_begin): Just call symbol_create, rather - than calling symbol_new and then removing the symbol from the - list. - - * as.c (main): Move a inside the #if 0 block which uses it. - * ecoff.c (current_stabs_filename): Make const. - * frags.h (frag_align_pattern): Declare. - * gasp.c (new_file): Cast isp to long, and use %ld to print it. - * config/tc-alpha.h (md_operand): Add cast to void. - (alpha_do_align): Declare argument types. - (tc_get_register): Declare. - (alpha_frob_ecoff_data): Declare. - * config/tc-alpha.c: Include . - (s_mask): Don't declare; does not exist. - (line_comment_chars): Remove /* from descriptive comment. - (tc_get_register): Remove unused local reg. - (tc_gen_reloc): Don't bother to compare unsigned to zero. - (s_base): Correct warning to actually print register number. - (md_begin): Remove unused locals retval, lose, and i. - (alpha_fix_adjustable): Move default case inside switch to avoid - warning. - (load_symbol_address): Remove unused locals reloc_addr, p, sym, - and addend. - (emit_byte_manip_r): Declare types for all arguments. - (emit_extract_r, emit_insert_r, emit_mask_r): Likewise. - (emit_sign_extend, emit_bis_r, s_proc): Likewise. - (alpha_ip): Use sprint_value to print offsetT value. Remove - unused local size. Remove unused label get_macro. - (alpha_do_align): Make fill const. - (md_apply_fix): Remove unused label check_zov. - - * configure.in: Recognize i586 as a synonym for i[34]86. - -Tue Aug 23 12:32:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/obj-coff.c (c_line_new): Change line_number argument from - unsigned short to int so that the type in the prototype matches - the promoted type in the definition. - (stack_delete): Comment out; not used. - * config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not - BFD_ASSEMBLER, not if BFD_ASSEMBLER. Declare argument type. - * config/tc-m68k.h (tc_coff_sizemachdep): Declare. - * config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored - argument. - -Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu) - - * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for - the common symbol to the zero address frag (the correct fix). - -Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu) - - * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for - the common symbol to the zero address frag (the correct fix). - - * config/tc-hppa.c (pa_comm): Set sy_resolved for the common - symbol. - -Fri Aug 12 17:51:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-mips.c (md_begin): Drop "el" from the end of - TARGET_CPU. Check for mips64orion. - -Tue Aug 9 19:43:45 1994 Stu Grossman (grossman@cygnus.com) - - * configure.in: Recognize ppc-*-netware. - * config/te-ppcnw.h: New file to support Power-PC/Netware - configurations. Currently, it just enables the use of backslash - escapes in string directives. - -Tue Aug 9 11:12:13 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-ppc.c (ppc_stabx): Call expression directly, rather - than via pseudo_set. If expression is a symbol, move stab symbol - to just after symbol from expression. - - * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be - zero. Undoes change of June 4, 1993. - - * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and - orion. - -Mon Aug 8 16:28:08 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * as.h: Remove FOPEN_WB patch of Aug 6. - * configure.in: Configure for ho-go32 correctly. - * config/ho-go32.h: Fix copyright. - -Mon Aug 8 11:59:51 1994 Jeff Law (law@snake.cs.utah.edu) - - * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant - upper-case versions of the pseudo-ops. - -Mon Aug 8 13:42:16 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-sparc.c (md_apply_fix): If we are going to generate a - non PC relative reloc, don't put the addend in the object file. - -Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * as.h: If FOPEN_WB is not defined, do the right thing in a go32 - environment. - -Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/tc-h8300.c (pint): New function for handling varying - size of int pseudo op. - * doc/as.texinfo: Fix typo describing .h8300h pseduop. - -Mon Aug 1 02:40:43 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (create_new_space): Initialize sd_subspaces - field in the space chain. - - * config/tc-hppa.c (tc_gen_reloc): Cast return value from - hppa_gen_reloc_type. - -Thu Jul 28 15:45:37 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Check more carefully for - conflicting architectures. - (md_parse_option) [NO_V9]: Complain if v9 was selected. - (md_show_usage): Derive architecture list in usage message from - architecture_pname array. - (cypress): Macro deleted. - (op_hash): Don't initialize. - (s_common): Use bfd_und_section_ptr instead of bfd_und_section. - - * config/tc-sparc.c (BSR): New function. - (sparc_ip): Use it for right-shift operations of 32 bits or more. - - * config/tc-sparc.c (sparc_ip): Implement new operand type 'x'. - -Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-coff.h: Moved common includes and TARGET_FORMAT - definitions together. - (WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD, - OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]: - Moved these definitions to the start of the file, before the - includes. - (SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always - define these. - (S_GET_ZEROES): Deleted. - (S_SET_ZEROES): Moved to obj-coff.c. - - * config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted - forward declarations. - (obj_pseudo_table): Moved to one version end of file, - conditionalized internally. - (stack typedef, stack_init, stack_delete, stack_push, stack_pop, - tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved - to one combined version at top of file, unconditional. Deleted - forward declarations. - (s_get_name): Moved one copy of declarations to start of file. - (def_symbol_in_progress): Ditto. Don't initialize. - (S_SET_ZEROES): Moved here from obj-coff.h. - (write_object_file): If TC_COFF_SET_MACHINE is defined, call it on - the file headers. - - * config/obj-coff.c (seg_info_off_by_4): Now const and static. - (SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted. - (previous_file_symbol, def_symbol_in_progress, symbol_externP, - symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't - bother explicitly initializing to zero value. - - * config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME - and SF_GET_CALLNAME instead of the TC_S_IS_ versions. - - * config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls - tc_headers_hook. - - * config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX - was used previously. - (tc_headers_hook): If I_CX2 is found, set flags to F_I960CA. - - * config/tc-i960.c (po_hash): Declaration deleted. - (next_object_file_charP): Ditto. - (regnames, aregs, coj): Now const. - (parse_memop): Static array def_scale now const. - (md_begin): Cast away const when passing hash routines addresses - of values in regnames or aregs. - (md_longopts): Added "link-relax" and "no-relax" hyphenated forms. - Continue to accept one-word forms. - (struct tabentry, arch_tab): Moved to top level from inside - md_parse_option. Now const. - (md_show_usage): Use arch_tab to generate usage message. Print - hyphenated forms of relax options. - - * config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC, - TC_S_FORCE_TO_*): Moved from here... - * config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff - to test OBJ_AOUT and OBJ_BOUT directly. - - * config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ, - M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F, - {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*): - Macros deleted. - - start-sanitize-i960xl - * config/tc-i960.c (ARCH_XL): Define. - (arch_tab): Include XL. - (targ_has_sfr, targ_has_iclass): Handle XL. - (tc_headers_hook): Set flags to F_I960XL for i960XL. - end-sanitize-i960xl - -Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * subsegs.c (section_symbol): Had last change backwards. - -Thu Jul 14 13:21:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/atof-ns32k.c: Deleted. - - * config/obj-aout.c (obj_aout_frob_symbol): Use - bfd_ind_section_ptr and bfd_und_section_ptr. - - * subsegs.c (subseg_set_rest): Compare segT values directly, - without casting to int first. - - * config/tc-ns32k.c (md_begin): Return value from hash_insert - should be pointer to const. Don't call exit explicitly after - calling as_fatal; it won't return. - (convert_iif): Make local variable j be pointer to bit_fixS, since - that's how it's used. - (encode_operand, case 'b'): Ignore sprintf return value. Don't try - converting freeptr to int and back. - - Merged in NS32K support update from Ian Dall (dall@hfrd.dsto.gov.au): - - * config/te-pc532mach.h: New file. pc532-mach target emulation. - - * config/te-netbsd532.h: New file. Netbsd532 target emulation. - - * config/tc-ns32k.h: Add definition of NOP_OPCODE. - - * config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp. - - * config/tc-ns32k.h: Add BFD_ASSEMBLER support. - - * config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER. - - * config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type - differently for BFD_ASSEMBLER. - - * config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc - type differently for BFD_ASSEMBLER. - - * config/tc-ns32k.c (md_create_long_jump): Size of opcode is one - not 2. - - * config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER - case. Also use smart md_pcrel_adjust function. - - * config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER - case. Also use smart md_fix_pcrel_adjust function. - - * config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can - find offset from opcode to operand even if in another frag - and in the presence of relaxing. - - * config/tc-ns32k.c (md_pcrel_adjust): New function which can - find offset from opcode to operand even if in another frag - and in the presence of relaxing. - - * config/tc-ns32k.c (md_number_to_disp): Check ranges properly. - - * config/tc-ns32k.c (md_atof): use atof_ieee instead of special - atof_ns32k. - - * config/tc-ns32k.c (reloc): New (static) function for - BFD_ASSEMBLER. - - * config/tc-ns32k.c (convert_iif): More correct pc relative code. - md_relax must be able to find opcode address even if in another frag. - - * config/tc-ns32k.c: More extensive comments. - - * config/tc-ns32k.c (encode_operand): Support new operand classes I - and Z. Drop Q. - - * config/tc-ns32k.c (fix_new_ns32k_exp): new function and - corresponding prototype. - - * config/tc-ns32k.c: make 32532 default machine instead of 32032. - - * config/tc-ns32k.c: include opcode/ns32k.h after as.h - - * aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K - - * write.h: fx_im_disp needs to be 2 bits big for TC_NS32K - - * write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined) - instead of adding pcrel_adjust. - - * write.c (write_object_file): Adjust to_addr for the - BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case. - - * write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined. - - * write.c (write_contents): Add code (currently if - BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster. - - * configure.in: Remove ns32k from special FP list. All the ns32k - series use ieee float. - - * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets - - * as.h: include expr.h before targ-env.h. Some target dependent file - want to use expr structures. - -Wed Jul 13 14:49:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer. - (md_parse_option): Clear cpu field of current_architecture before - setting a new cpu type. Clear no_68881 for m68881 or m68882. - Clear no_68851 for m68851. - -Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/ho-sysv.h (realloc): Declare. - - * symbols.c (symbol_create): New function, most of the guts of the - old symbol_new function. - (symbol_new): Now just checks symbol_table_frozen, calls - symbol_create, and enters the symbol into the symbol table. - * subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true, - and the symbol table is frozen, call symbol_create instead of - symbol_new. - * symbols.h (symbol_create, symbol_table_frozen): Declare. - - * symbols.c (symbol_clear_list_pointers): Always a function now. - * struc-symbol.h (symbol_clear_list_pointers): Deleted macro - version. - - * symbols.c (debug_verify_symchain): New macro, defined to be - verify_symbol_chain or a cast to void, depending on DEBUG_SYMS. - (many functions): Invoke debug_verify_symchain unconditionally. - -Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com) - - * config/obj-ecoff.h: change calling interface of - OBJ_GENERATE_ASM_LINE_STAB. - * config/obj-elf.h: ditto. - * read.c (read_a_source_file): ditto. - * ecoff.h: change calling interface of - ecoff_generate_asm_line_stab. - * ecoff.c (add_file): record of filename to handle case of include - files, also change default built-in type from int to void for - asm file. - * ecoff.c (ecoff_generate_asm_line_stab): handle case of include - files. - -Mon Jul 11 17:20:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large - constant, and case ldd_std, set mips_optimize to 2 temporarily to - avoid inserting an unexpected nop instruction. - -Sat Jul 9 00:05:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.c (ecoff_build_lineno): Handle count correctly for last - line number. - -Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * gasp.c (process_pseudo_op): Pass right args to do do_aif. - (get_any_string): New arg 'pretend_quote'. - (get_and_process, do_formals, macro_expand, do_sdata, - process_pseudo_op): Use new arg. - -Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com) - - * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB. - * config/obj-elf.h: ditto. - * read.c (read_a_source_file): generate line stabs for asm file. - * read.h: add extern generate_asm_line_stab. - * ecoff.h : add prototype for ecoff_generate_asm_line_stab(). - * ecoff.c (add_file): if there's no filename provided, set switch - to generate line stabs for .s file. - * ecoff.c (add_procedure): add stabs symbol for .ent directive. - * ecoff.c (generate_ecoff_stab): creates an artificial stabs. - * ecoff.c (generate_asm_line_stab): generate a artifitial label - for each line and generate a stabn for the line. - -Thu Jul 7 17:04:03 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * gasp.c (get_any_string): Cope with getting a string with an - alternate base specifier. - (do_aif, do_aelse): Only enable output if expression is true and previous - level was on. - (chartype_init): Add BASEBIT chartype. - (process_pseudo_op): Notice nesteed AIFs. - -Thu Jul 7 12:30:22 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa - insn. (fix pr 5165, 5174) - -Thu Jul 7 11:31:32 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define - to an appropriate value to avoid losing on old hpux systems. - - * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for - symbols in DLT relative relocs. - (tc_gen_reloc): Zero out the addend field for DLT relative relocs. - -Wed Jul 6 01:07:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to - align to a four byte boundary. - -Tue Jul 5 15:42:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-alpha.c (load_expression): Handle 32-bit addends. - (gpdisp_hi16_howto): Now points to const. - (load_insn_table, alpha_ip): Fix uses of const. - - * doc/internals.texi: Updates to COFF description. Added "@end - defmac" as needed, and some extra heading and "@bye" so it'll - format as a separate document. - -Tue Jul 5 13:54:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define. - * config/obj-elf.c (obj_elf_common): Set alignment of common - symbol. - * config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of - common symbol. - -Mon Jul 4 18:29:43 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (is_complex): New macro. - (cons_fix_new_hppa): "Handle" complex expressions. - -Fri Jul 1 00:48:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-coff.c (write_object_file): Set s_align field from - section_alignment array. - -Thu Jun 30 15:05:28 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * write.c (write_object_file): Use bfd_com_section_ptr. - * as.h (absolute_section, undefined_section): Use new BFD macros - bfd_abs_section_ptr and bfd_und_section_ptr. - -Thu Jun 30 14:36:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it - based on contents of imm_expr and offset_expr, rather than - mips_pic. For M_LI_DD, decide how to handle it based on segment - name of offset_expr, rather than mips_pic. - (mips_ip): If g_switch_value < 4, use immediate values for 'l'. - If g_switch_value < 8, use .rdata rather than .lit for 'L'. - -Wed Jun 29 17:30:46 1994 Stan Shebs (shebs@andros.cygnus.com) - - * as.c (show_usage): Break long string into shorter ones. - (parse_args): Add -v, prints version id and continues. - * config/tc-mips.c (md_show_usage): Break long string. - -Mon Jun 27 09:47:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if - OBJ_ELF is defined. - -Sun Jun 26 16:30:48 1994 Stan Shebs (shebs@andros.cygnus.com) - - * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific - initialization. - -Wed Jun 22 00:24:55 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF. - More gas/bfd lossage exposed by the new linker code. - -Tue Jun 21 11:32:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * subsegs.c (subseg_change): Clear seginfo after allocating it. - (subseg_get): Pass actual size of seginfo to memset. - - * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER. - (subseg_change): Store seg_info for bfd_abs_section_ptr in - abs_seg_info, and store seg_info for bfd_und_section_ptr in - und_seg_info. - (subseg_get): Likewise. Also, don't set output_section if it is - already set. - (seg_info): Define as function. - * subsegs.h (seg_info): Declare as function rather than defining - as macro. - * write.c (relax_and_size_seg): Call seg_info rather than - bfd_get_section_userdata. - -Mon Jun 20 16:30:54 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * configure.in (ppc-*-elf*): New target, like -sysv4*. - - * expr.c (operand): If "0f" is followed by '\0', don't do eol - checks. - -Mon Jun 20 15:17:43 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out - via backend pointer, not directly. - -Fri Jun 17 18:05:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Makefile.in (config-stamp): Make sure there is at least one - element in the for loop. - -Fri Jun 17 11:01:04 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy. - - * config/tc-hppa.h (elf_hppa_final_processing): Declare. - -Wed Jun 15 20:44:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * as.c (parse_args): Cast xmalloc return value. - - * Makefile.in (config-stamp): If $(defs) contains multiple words, - emit a #define line for each. - * configure.in: For sparc64 target, use sparc cpu files and add - sparcv9 to extra_defs. No longer treat sparc64-*-aout* specially. - - * config/tc-sparc.c (membar_masks): Now static and const. - (md_show_usage) [!NO_V9]: Add -Av9 to usage message. - (current_architecture) [sparcv9]: Initialize to v9. - (md_begin) [sparcv9]: Don't bother changing it unconditionally - here. - (s_reserve): Don't pass unexpected argument to as_bad with - bad-segment message. - - * as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare. - - * config/atof-ieee.c (int_to_gen): Commented out unused routine. - - * config/tc-vax.c (md_assemble): Removed check of operand section. - - Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define - these new VMS symbol-type macros for `complex float' and - `complex double' support. Their values come from the existing - DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in . - (DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of - REAL8 and COMPLX8; not used yet, because gcc outputs the same - .stabs for `double' regardless of whether `-mg' is used. - * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries - for gcc2's predefined types "complex float", "complex double", - and "complex long double" (identical to complex double). - -Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text - section symbol, not C_LABEL. - - * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and - permit non constant expressions in 'u' case. Lets ``lui - $8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly. - -Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt - to put a common symbol in a set. - -Sat Jun 11 16:41:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - Add weak symbols as an extension to a.out. - * read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and - OBJ_BOUT if not BFD_ASSEMBLER. - * config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB): - Define as in ../include/aout/aout64.h. - * config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER, - define as char. - (S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER. - * config/obj-aout.c (obj_pseudo_table): Add "weak". - (obj_emit_symbols): Adjust type of weak symbols. - (obj_aout_weak): New static function. - -Fri Jun 10 13:48:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-elf.c (obj_elf_section): Don't set any flags based on - the type of a special section. - - * config/ho-sunos.h: Include . Don't declare malloc, - realloc, free, or atol. - -Wed Jun 8 06:28:37 1994 Bill Cox (bill@cygnus.com) - - * Makefile.in (check): Delete as.new dependency, so that - regression test doesn't trigger an assembler build. - -Tue Jun 7 13:33:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Makefile.in (mostlyclean, realclean): New targets. - * doc/Makefile.in, testsuite/Makefile.in: Likewise. - -Mon Jun 6 13:10:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (RDATA_SECTION_NAME): Define. - (macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D - or M_L_DOB or label dob, force a new frag to avoid getting - confused in tc_gen_reloc. - (mips_ip): Use RDATA_SECTION_NAME, not .rdata. - (s_change_sec): Likewise. - -Fri Jun 3 23:35:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * read.c (emit_expr): Use memset to zero out memory, rather than - going through md_number_to_chars. This permits handling symbolic - arguments when the size is larger than sizeof (valueT), if - TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS). - -Fri Jun 3 12:50:13 1994 David J. MacKenzie (djm@rtl.cygnus.com) - - * as.c (show_usage), config/tc-alpha.c (md_show_usage), - config/tc-mips.c (md_show_usage): Fix up messages. - - * as.h: Replace flagseen with separate variables. - * 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. - - * as.c (show_usage): Remove target specific messages; - 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. - -Thu Jun 2 13:54:46 1994 David J. Mackenzie (djm@rtl.cygnus.com) - - * as.c (show_usage): New function. - (parse_args): Code moved from main. - Recognize --help and --version. - * config/tc-ns32k.h: Define TC_NS32K. - * doc/as.texinfo: Document all of the target-independent command - line options. - -Thu Jun 2 12:07:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * gasp.c (hash_new_table): Clear newly allocated table. - - * config/tc-m68k.c (enum _register): Add 68060 control registers - BUSCR and PCR. - (last_movec_reg): New macro. - (m68000_control_regs, m68010_control_regs, m68020_control_regs, - m68040_control_regs, m68060_control_regs): New arrays. - (control_regs): New pointer. - (m68k_ip): Use control_regs instead of testing CPU every time. - Use last_movec_reg too. In error messages, handle 68060, and - print 68060 for mfloat, too. - (m68k_init_after_args): Handle "68060". Use m68040up for making - m68851 choice. Set control_regs. - (md_parse_option): Handle "68060". - * configure.in: Setting cpu_type, recognize m68060 too. - - * config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER] - [DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even - if pcrel is already set. - - * read.c (potable): Add this_gcc_requires_the_gnu_assembler in all - lower-case, in case we're ignoring case of opcodes in the input - file. - - * doc/as.texinfo (.section): Document as unavailable for a.out - type formats. - - * config/tc-alpha.c (machine): New variable. - (load_insn): New macro. - (load_insn_table): New function. - (md_begin): Call load_insn_table, once for basic instructions and - once for appropriate PAL instruction table. - (md_parse_option): Set `machine' based on -m##### arguments. - * config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from - alpha_opcodes. - (alpha_pal21164_opcodes): New table. - (NUM21064OPCODES, NUM21164OPCODES): New macros. - - * configure.in (target i386-*-netbsd0.8): Use 386bsd emulation. - - * doc/Makefile.in (install-info-gasp): Use $$dir when installing - file. - -Wed Jun 1 10:48:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip): Force floating point values to be - aligned correctly. - -Fri May 27 10:05:53 1994 Ken Raeburn (raeburn@cygnus.com) - - Merged in changes from gas-2.3 net release: - - * Makefile.in (VERSION): Updated to cygnus-2.3.1. - - * config/obj-vms.c: Replaced unchecked uses of malloc with - xmalloc. - - * listing.c (list_symbol_table): Only test BFD64, not - BFD_ASSEMBLER too. - - * config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER] - [DIFF_EXPR_OK]: Don't check pcrel, just convert it. - - * config/obj-vms.c: Removed lots of extra semicolons after - compound statements. - (strchr): Don't declare here. - - * config/ho-vax.h (realloc): Declare. - - * config/ho-vms.h (strchr, strdup): Declare. - - * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore - option `-q'. - - Wed May 18 20:50:35 1994 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these - new VMS symbol-type macros; signed and unsigned quadword integers, - for `long long' support. Their values come from the existing - DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in . The - VMS debugger now recognizes `long long' variables correctly. - * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries - for gcc2's predefined types "long double" (same as double, as - per gcc's current state), "long long int", "long long unsigned - int", and final `otherwise' case (to avoid uninitialized type - and size fields). [caveat: predefined types "complex int", - "complex float", "complex double", and "complex long double" are - still missing.] - - * config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead - of 0, because the latter indicates success rather than failure - when passed to `exit' or return from `main' compiled by gcc2. - - * config/obj-vms.c (array_suffix, generate_suffix): replace two - hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h. - (VMS_typedef_parse): eliminate redundant if-then-else when - allocating new symbol entry and linking it to VMS_Symbol_type_list. - - Tue May 17 20:47:31 1994 Pat Rankin (rankin@eql.caltech.edu) - - * config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret - the contents of the GAS_VERSION string when falling back to it for - language processor identification. - - * make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of - `psect_attr' in linker options. - - Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com) - - * configure.bat: update to latest makefile.in - * config/te-go32.h: [new] go32's environment - -Fri May 20 17:59:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * as.h: Don't declare parameters for strstr. - -Thu May 19 15:40:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-sparc.c (md_section_align): Don't change the size if - OBJ_ELF. - -Wed May 18 13:08:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Makefile.in (install): Redirect ln output to /dev/null. If ln - fails on gasp, install gasp.new, not gasp. - -Wed May 18 09:16:36 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for - absolute calls. - -Tue May 17 12:50:46 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error - on a partial completer match. - -Mon May 16 12:03:49 1994 Jeff Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind - throughout code. - (is_complex): Delete definition and support for complex relocation - types. - (tc_gen_reloc): Delete special unwind crud for ELF. Simplify and - rewrite ELF code based on 94-02-02 PA ELF draft spec. - (pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for - the unwind descriptors. - -Fri May 6 14:13:15 1994 Steve Chamberlain (sac@cygnus.com) - - * config/go32.mh: New makefile fragment for go32 crossing. - * configure.in (host==go32): Use new fragment. - -Fri May 6 14:35:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * gasp.c: Include libiberty.h. - (main): Remove unused variable i. - - * config/tc-ppc.c (md_begin): When using -many, permit comparison - instructions to appear multiple times in the opcode table. - -Thu May 5 19:14:43 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * Makefile.in (VERSION): Update to 2.2.90. - - * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions - to the symbol table if it's already been set in the output bfd. - (symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]: - Don't use bfd_abs_section.symbol for gas absolute symbol. - - * doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp - files too. - -Thu May 5 18:12:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_emit_delays): Make call to - mips_no_prev_insn unconditional. - -Thu May 5 17:25:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-coff*.*: Merged coffbfd versions into coff versions, - with a single "#ifdef BFD_ASSEMBLER" controlling most of it for - now. Deleted obj-coffbfd.* files. - * configure.in: Always use obj-coff.* for COFF targets. - -Wed May 4 13:34:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL): - Define. - * configure.in (m68k-bull-sysv3*): Enable. - - * config/coff_gnu.h: Deleted. - -Wed May 4 11:29:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as - "a.out-zero.big". - - * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC - relative adjustments when TE_LYNX is defined as well as when - TC_I386 is defined. - -Wed May 4 02:29:21 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * as.h (strstr): Restore declaration. - (subseg_get) [BFD_ASSEMBLER]: Declare. - - * write.c (write_object_file): If obj_adjust_symtab is defined, - invoke it. Then call set_symtab, and finally invoke *_frob_file - hooks. - * config/obj-coff.c (coff_adjust_symtab): Renamed from - coff_frob_file. - * config/obj-coff.h (coff_adjust_symtab): Changed declaration - accordingly. - (obj_adjust_symtab): Macro also changed. - - * configure.in (i386-*-gnu*): New target, handled like i386-mach. - -Tue May 3 21:04:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little - endian version. - - * config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto. - - * config/obj-coff.c (coff_frob_section): Round up the size of - every section to a multiple of the alignment, so that BFD doesn't - surprise us. - - Eliminate many simple differences between the two COFF back ends: - - * config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID. - Made minor stylistic changes, deleted some register declarations. - (stack_top): Deleted. - (symbol_to_chars): Use absolute_section and reg_section instead of - the corresponding SEG_* symbols. - (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise. - (stack typedef, stack_init, stack_delete, stack_push, stack_pop): - Moved to just after pseudo-op table. All functions now static. - (stack_delete): Removed declaration. - (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just - after stack functions. - * config/obj-coffbfd.h: Reordered some declarations and macros. - (stack_init, stack_delete, stack_push, stack_pop): Don't declare. - (stack typedef): Deleted. - (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test. - (SYM_AUXENT): New macro. - (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible. - (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible. - (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX, - SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header, - text_section_header): Delete non-BFD_HEADERS versions, since we - always define that symbol now. - - * config/obj-coff.c (stack_top): Deleted. - (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size, - obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change - argument name from "ignored" to "ignore". - (obj_coff_val): Use frag_now_fix. - (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't - get used. - (stack typedef, stack_init, stack_delete, stack_push, stack_pop): - Moved to just after pseudo-op table. All functions now static. - (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just - after stack functions. - * config/obj-coff.h: Reordered some declarations and macros. - Protected against multiple inclusions. - (stack_init, stack_delete, stack_push, stack_pop): Don't declare. - (stack typedef): Deleted. - (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test. - (stdoutput): Deleted declaration. - (TARGET_FORMAT) [TC_I386]: Don't define if already defined. - -Mon May 2 17:09:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * subsegs.h (segment_info_type): Use fix_tail field even if - BFD_ASSEMBLER. - * subsegs.c (subseg_change): Initialize fix_tail field. - (subseg_get): Likewise. - * write.c (frags_chained): New static variable. - (fix_new_internal): If frags_chained is set, use fix_root and - fix_tail from seg_info (now_seg), rather than frchain_now. - (chain_frchains_together_1): Set fix_tail field. - (chain_frchains_together): Set frags_chained. - -Thu Apr 28 01:39:15 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * config/tc-mips.c (s_option): Only refer to g_switch_* variables - if GPOPT is defined. - (s_abicalls): Ditto. - (md_apply_fix): Cast char* to unsigned char* to avoid pointer - mismatch. - -Wed Apr 27 11:06:32 1994 Steve Chamberlain (sac@cygnus.com) - - * configure.in (i386-*-go32): Uses coff now. - * gasp.c (main): Now takes -D on command line. - (show_usage): Describe new options. - -Tue Apr 26 17:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and - "NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying - the header with an empty list. - - * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM - also before setting STYP_NOLOAD for .bss section. - - * config/tc-m68k.c (flag_reg_prefix_optional): New variable. - Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or - zero. - (m68k_reg_parse): If flag_reg_prefix_optional is set, permit - register prefix to be absent. - (m68k_ip_op): Accept `&' also for immediate constants. - (insert_reg): Don't bother with (two!?) sanity checks of the - symbol table when inserting each register. - (m68k_parse_long_option): New function. Set - flag_reg_prefix_optional if "register-prefix-optional" is passed. - * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already - defined. - (OPTIONAL_REGISTER_PREFIX): Don't define. - (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero - or one depending on M68KCOFF. - - Some changes to help Apollo support, from troy@cbme.unsw.edu.au: - * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC): - Define as macros instead of enumerators, since the Apollo compiler - can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum - type. - (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function. - (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE, - R_DIR16, and R_DIR32 relocs. - * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC): - Use Apollo versions. - [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is, - do include the optional header for Apollo target. - (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined. - - * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%' - can be used within a label name. - - * config/tc-m68k.h (m68k_init_after_args): Declare. - (tc_init_after_args): Define as m68k_init_after_args. - * config/tc-m68k.c (m68k_init_after_args): New function, - containing one-shot code from md_assemble. Added warning for - combination of 68040 and 68851. - (md_assemble): Startup-time code deleted. - -Mon Apr 25 16:19:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * doc/Makefile.in (clean, distclean): Remove asconfig.texi. - -Sun Apr 24 00:13:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break - instruction) is unsigned. - -Fri Apr 22 17:58:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value - and bfd_ecoff_set_regmasks to set the GP value and the register - masks, rather than using the now obsolete fake .reginfo section. - -Fri Apr 22 15:17:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * listing.c (list_symbol_table): Don't print register symbols as - undefined. - - * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip - underscores, since symbol_new will already have done it. - * config/obj-coffbfd.c (obj_symbol_new_hook): Ditto. - - * as.c (main): If tc_init_after_args is defined, invoke it after - all arguments have been processed. - - Some changes to help Apollo support, from troy@cbme.unsw.edu.au: - * as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext - section instead of .text. Call create_target_segments. - * read.c (demand_copy_string): No longer static. - -Thu Apr 21 15:50:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (append_insn): Permit branches to be switched - with the preceding instruction even if .set nobopt has been seen. - .set nobopt actually controls whether to bring up an instruction - from the branch target, which gas does not currently support. - -Wed Apr 20 18:46:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-coff.h, config/obj-coff.c: Deleted all code used only - when BFD_ASSEMBLER is not defined, and all conditionals relating - to such code. No such targets remain. - - Fixes for stabs-in-coff: - * config/obj-coff.c: Include subsegs.h. - (coff_frob_section): New function. - (obj_coff_init_stab_section): New function. - * config/obj-coff.h (obj_coff_init_stab_section, - coff_frob_section): Declare. - (obj_frob_section): New macro; uses coff_frob_section. - (INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section. - - * config/tc-sparc.c (md_section_align): Always round up to - multiple of alignment power specified in bfd target vector. - - * gasp.c: Include ctype.h. - -Mon Apr 18 21:08:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to - asconfig.texi. - - * doc/Makefile.in (install-info-as, install-info-gasp): Get file - names from source directory without pathname. - - * config/obj-vms.c (VMS_write_object_file): While looking for - register mask, skip empty fill frags caused by enabling listing - output. - - * config/ho-sysv.h: Include string.h. - - * doc/internals.texi: New (well, recently added) file. Just added - info on as_warn and friends. - -Mon Apr 18 14:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in - defaults for defined, private, and spnum fields for the - $TEXT$ and $PRIVATE$ spaces. Do not clobber spnum. Do - not reset the segment if just updating a space. - (pa_spaces_begin): Set BFD section flags for all built-in - subspaces. - -Fri Apr 15 10:51:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.c (first_proc_ptr): New static variable. - (add_procedure): Set first_proc_ptr if it hasn't been set. - (ecoff_build_lineno): If the first procedure does not start at - address zero, insert a dummy line to compensate. - - * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new - as well as as.new. - -Thu Apr 14 15:12:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * expr.c (operand): Try to parse "0f" and "0b" sequences as - floating point and binary numbers respectively; if it doesn't - work, treat them as local labels. - - * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS). - * configure.in: Set ALL_OBJ_DEPS in output Makefile. - - Based on suggestions from - (Charles Bailey): - * vmsconf.sh: In generated file, get ".obj" suffix right, build - source files from other directories into objects in the current - directory, and specify PSECT attributes explicitly to linker. - Also added missing label. - * Makefile.in (stamp-mk.com): Reference new variable - VMS_OTHER_OBJS for list of non-local object files, instead of - listing them here. - (VMS_OTHER_OBJS): New variable, added more libiberty files. - * make-gas.com: Regenerated. - - * config/ho-vms.h (unlink): Define as delete. - - * config-gas.com: Fix quoting on TARGET_CANONICAL definition. - Delete files before creating them. - -Thu Apr 14 13:34:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f. - - * config/tc-mips.h (DIFF_EXPR_OK): Define. - * config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for - certain cases of 'i', 'j' and 'o'. Change 'u' to take an - argument, the reloc type. - (load_register): Pass reloc type to macro_build for 'u'. - (macro): Likewise. For M_LA_AB permit a difference expression - when generating embedded PIC code between an arbitrary symbol and - a symbol in the .text section. - (mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and - BFD_RELOC_PCREL_LO16 to be emitted. - (md_apply_fix): Check that most relocs are not PC relative. - Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16. - (tc_gen_reloc): Change #error to as_fatal. Handle - BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S. - -Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com) - - * subsegs.c (subsegs_begin): Call memset with args in the correct - order. - (subseg_get): Clear newly allocated seginfo, set its pointer slots - to NULL instead of 0. - -Mon Apr 11 09:00:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_procend): Handle case where label was - defined after the .proc directive. - - * config/tc-hppa.c (pa_procend): Give an error if we encounter a - procend for a procedure without a name. - -Thu Apr 7 14:28:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (macro): Pass NULL for expression argument to - macro_build for nori case. - (SWITCH_TABLE): Define. - (mips_force_relocation): Force a relocation for a switch table - entry. - (md_apply_fix): Write switch table entry value into file. - (tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry, - and set the addend to the difference between the reloc address and - the subtrahend. - -Thu Apr 7 10:38:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.h (elf_tc_symbol): Delete. No longer used. - (elf_tc_make_sections): Likewise. - (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls. - - * config/tc-hppa.c (hppa_tc_make_sections): Delete function. - (hppa_tc_symbol): Likewise. - - * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and - elf_tc_make_sections stuff. It was there to support PA braindamage - which has been fixed, and in the case of elf_tc_make_sections is - redundant with elf_tc_final_processing. - -Wed Apr 6 20:48:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the - manufacturer. - -Tue Apr 5 15:48:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip): For case 'o', when generating - embedded PIC code, accept the difference between two local symbols - as being constant. - (mips_force_relocation): Only force a reloc to be generated for a - PC relative fixup. - (md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup - value into the file if the fixup will not generate a reloc. - -Tue Apr 5 11:14:14 1994 Ken Raeburn (raeburn@rtl.cygnus.com) - - * config/tc-sparc.c (s_reserve): If section passed isn't bss, - don't spew remainder of input file in error message. - (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error - message with reloc type and try to process remainder of file. - - * doc/Makefile.in (install-info-as, install-info-gasp): New - targets, now explicitly checking $(srcdir) for info files. - (install-info): Depend on both of them; do nothing more. - -Mon Apr 4 17:06:04 1994 Jeffrey A. Law (law@cygnus.com) - - * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version. - -Mon Apr 4 12:39:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED - flag rather than signedp field. Only permit extended range if - PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode. - Based on patch from David Edelsohn (edelsohn@npac.syr.edu). - - * config/tc-ppc.c (ppc_size): New static variable. - (ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER. - (md_begin): If an instruction has a size specific flag set, only - add it if we are assembling that size. - -Thu Mar 31 16:51:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get - cross section PC relative relocs right for COFF and ELF. - -Mon Mar 28 14:38:23 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define. - (OBJ_PROCESS_STAB): Don't define. - -Mon Mar 28 12:40:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber - the type of symbol set symbols which happen to be in the absolute - or undefined section. - -Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu) - - * config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka - RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604), - and -many (all architectures). - -Sun Mar 27 14:04:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation - involving a function symbol which is not a plabel to zero. - (md_apply_fix): Never pass a function symbol to field_adjust. - -Fri Mar 25 17:35:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an - N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL. - - * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a - branch with an instruction that uses $at, in case the branch is - later expanded. - (macro): If EMBEDDED_PIC, case M_JAL_A may use $at. - (md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol - to make it pcrel_offset. - (tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to - reloc->address; another gruesome hack to get gas reloc handling to - do the right thing. - -Thu Mar 24 21:29:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using - PV register. - (T12): New macro. - (emit_insn): New function. - (md_assemble): Call it. - (alpha_force_relocation): Handle BFD_RELOC_26, for call_pal - instructions. - (lituse_pending): New variable. Set by anything that generates a - LITERAL reloc, cleared by anything that generates a LITUSE reloc, - tested by code that might want to emit a LITUSE reloc. - (emit_unaligned_io): New function. Currently calls md_assemble, - but it should eventually be converted to generate the insn itself - and call emit_insn directly. - (emit_load_unal, emit_store_unal, emit_byte_manip_r, - emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend, - emit_bis_r): Likewise. - (alpha_ip, case 'I'): Handle with BFD_RELOC_23. - (alpha_ip, label get_macro): Don't emit the final instruction if - the opcode is zero. - (alpha_ip, case 'B', subcase 'd'): New case, for subword and - unaligned memory access macros. - (md_apply_fix): Handle BFD_RELOC_26. Generate an error message if - the value can't be resolved. - -Wed Mar 23 16:06:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (md_parse_option): For -membedded-pic, force - the -G value to 0x7fffffff. For SVR4 PIC options, don't call - bfd_set_gp_size here, it's done in md_begin. Don't permit -G with - -membedded-pic. - (mips_force_relocation): New function. - (md_apply_fix): Set fixP->fx_done appropriately. - (s_change_sec): For EMBEDDED_PIC, change .data and .rdata to - .sdata. - * config/tc-mips.h (TC_FORCE_RELOCATION): Define. - (mips_force_relocation): Declare. - (TC_HANDLE_FX_DONE): Define. - -Tue Mar 22 13:58:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (enum mips_pic_level): New enum. - (mips_pic): Change from int to enum mips_pic_level. Change all - uses (0 becomes NO_PIC, 2 becomes SVR4_PIC). - (load_address): Handle EMBEDDED_PIC. - (macro): Handle EMBEDDED_PIC in all PIC cases. - (md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC. If - OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept - -non_shared to use NO_PIC (this is how the Irix 5 assembler - works). Do not permit -G with SVR4_PIC. - (s_abicalls): Warn if -G was used, and force -G 0. - (tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for - anything but a.out, not just for ELF. For ECOFF, don't generate a - BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC. - - * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1. - -Sun Mar 20 16:31:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (create_new_space): Use ints, not chars as - parameters to avoid losing when compiling with HP CC. - (create_new_subspace, update_subspace, fix_new_hppa): Likewise. - -Sun Mar 20 14:43:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * Makefile.in (config-stamp): If `defs' is defined, emit a - preprocessor directive to create a macro named by this value into - config.new; don't explicitly go for BFD_ASSEMBLER. - * configure.in: Define `defs', not `BFDDEF'. Set it to - MANY_SEGMENTS for any obj-coffbfd target. - * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define. - * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS, - or BFD_HEADERS. - (LOCAL_LOADLIBES): Deleted. - * config/m68kcoff.mt (TDEFINES): Don't define those macros. - * config/m88kcoff.mt (TDEFINES): Ditto. - * config/ebmon29k.mt: Deleted. - * config/h8300hds.mt: Deleted. - * config/ic960coff.mt: Deleted. - * config/sparc.mt: Deleted. - * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. - * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. - * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. - * config/z8k.mt (LOCAL_LOADLIBES): Deleted. - (TDEFINES): Don't define the coffbfd macros. - - * Makefile.in: Insert makefile fragments before OBJS definition. - (OBJS): Add $(TE_OBJS). - - * config/obj-coff.c (obj_pseudo_table): Supply "section" - unconditionally. - - * write.c (set_symtab): Define only if BFD_ASSEMBLER. - -Sun Mar 20 12:06:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * Makefile.in (STAGESTUFF): Add gasp.new. - -Fri Mar 18 20:09:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * write.c (symbol_table_frozen): New variable, to be set after - bfd_set_symtab is called. - (dump_section_relocs): Note whether a symbol is a section symbol - or not. - (adjust_reloc_syms): For now, always supply an absolute symbol for - fixups without symbols but not yet `done'. Use section_symbol to - get the symbol, instead of going directly for abs_symbol. - (write_relocs) [DEBUG4]: Abort if any symbol referred to by a - reloc is not a section symbol and is not in the symbol table. - (set_symtab): New function, broken out from write_object_file. - Counts symbol table instead of relying on an earlier count. - (write_object_file): Call set_symtab, but do it after potentially - invoking the *_frob_file macros. Don't bother counting symbols. - Call symbol_remove, instead of expanding it in place. Moved the - conditionalized `object_file_size' declaration down to - conditionalized block where it's used. When using the absolute - symbol for a fixup without a symbol, set sy_used_in_reloc. - (write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get - the correct symbol for the absolute section. - - * subsegs.c (section_symbol): Use symbol_new instead of - symbol_make, since we may want it to go into the symbol table. - Make the new symbol have internal linkage. If - obj_sec_sym_ok_for_reloc says it's okay, use the BFD section - symbol with the newly created GAS symbol. - (obj_sec_sym_ok_for_reloc): Default to always returning 0. - * config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]: - New macro. - * config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro. - - * config/tc-sparc.c: Include subsegs.h. - (in_signed_range): New function. - (sparc_ip): Use it. - (sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13. - (sparc_ip, label "immediate"): Reject constants for pcrel - instructions only if the relocation type indicates a "call" - instruction and the offset is within range of a "jmpl %g0". If - it's not in range, use the absolute section symbol plus an offset. - (md_apply_fix): Use in_signed_range. Combined _SPARC13 and - _BASE13 cases. - (tc_gen_reloc): Permit BFD_RELOC_SPARC13. - - * config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not - MANY_SEGMENTS). - - * configure.in: Eliminated all targets using obj-coff but not - defining BFD_ASSEMBLER; I think all such targets that are - supported will be matched by real CPU-OS combinations earlier in - the case statement. - (targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted. Made - some comments about the dpx2 configuration, but left it disabled, - since it couldn't be reached before. - (target a29k-amd-ebmonold): Deleted. - -Thu Mar 17 13:36:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_import): Correctly handle importing of an - already defined symbol. - -Wed Mar 16 17:11:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip): Only accept overly large values for - the 'j' operand if there are no further alternatives for this - instruction. - - * config/obj-coffbfd.c (adjust_stab_section): Initialize - stabstrseg to SEG_UNKNOWN, not -1. After loop, check whether it - is not SEG_UNKNOWN rather than checking whether it is >= 0. - - * config/tc-mips.c (mips_align): Take new argument, label, and use - it instead of global insn_label. - (s_align, s_cons, s_float_cons, s_gpword): Save insn_label before - call to mips_emit_delay and pass it to mips_align. - -Wed Mar 16 11:54:12 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly. - - * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an - argument to a .callinfo directive. Don't loop forever on errors. - - * config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can - use pre-defined registers as arguments. - -Mon Mar 14 14:29:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * write.c (write_object_file): Check both S_IS_LOCAL and - S_IS_EXTERNAL when deciding whether to discard a symbol. - - * config-gas.com: Scan Makefile.in, not version.c, for current - version number. Delete all versions of temp files when finished - with them. Create config.h. - - * config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol - values to reduce number of lookups with S_GET_VALUE. Skip debug - symbols to avoid "a really nasty bug". (From Holger Teutsch, - holger@botbso.rhein-main.de.) - (VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER - field. (Also from Holger Teutsch.) Watch for a would-be register - mask that spans frags. - - * config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with - this_base, not line_base. (Patch from Andreas Arens, - ari@obelix.av.rwth-aachen.de.) - - * config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that - look local if they're exported or undefined. Used to be done for - i960 only. - - * read.c (s_lcomm, s_comm): Print symbol name being redefined. - Get it from the looked-up symbol, instead of using the string from - the input stream, which is no longer null-terminated. - (LEX_PCT): New macro, defaults to 0. - (lex_type): Use it for `%'. - - * config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS. - (vip_op): Now static, and returns void. Callers changed. Added - forward decl. - (vip): Ditto. Call as_fatal directly if a program bug is - detected. - (op_hash): Let default initialization suffice. - - * Makefile.in (literal.o): Provide dependencies. - - * configure.in: Set new makefile variable OPCODES_LIB. - * Makefile.in (LIBS): Use it. - - * Makefile.in (make-gas.com, stamp-mk.com): New targets. - * vmsconf.sh: New file. - * make-gas.com: Regenerated from new script. - - * configure.in (sparc*-*-lynxos*): Handle any version number - suffix after "lynxos". Set emulation to lynx. - -Mon Mar 14 11:30:49 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * config/obj-coff.c (obj_coff_section): Delete declaration. - -Fri Mar 11 22:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF - symbols. - (ppc_is_toc_sym): Change .toc to .got. - (md_apply_fix): Change handling of ELF relocs. - (tc_gen_reloc): Likewise. - -Fri Mar 11 17:42:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-vms.c (Close_VMS_Object_File): Add comment pointing - out some code that doesn't belong in this file. - - * config/obj-vms.h: Include aout/stab_gnu.h. - (N_GSYM, ..., N_LENG): Deleted. - (NO_RELOC): Undefine before defining as part of enum reloc_type. - - * config/tc-alpha.c: Add comment questioning need for all the - characters in FLT_CHARS. - - * as.c (main) [OBJ_VMS]: Don't call output_file_close. - - * config/obj-ecoff.c (ecoff_frob_file): Set strict order for - sections with recognized names, before computing VMA values. - -Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and - 0xffff for 'j' to be compatible with MIPS assembler. These - numbers are actually treated as negative. - -Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com) - - * config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo. - -Tue Mar 8 21:17:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-coff.c: Minor formatting/stylistic changes, plus: - (obj_coff_section): Declare. - (obj_pseudo_table): Make it available only if MANY_SECTIONS. - (obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this - work. It still doesn't. It now fails to compile, instead of - silently compiling to do nothing. - * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if - MANY_SECTIONS. - (OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits - warning. - - Handle Alpha load-immediate-FP pseudo-instructions: - * config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns. - * config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New - variables. - (create_literal_section): New function. - (create_lita_section): Now a macro. - (get_lit8_offset, get_lit4_offset): New functions. - (maybe_set_gp): New function. - (select_gp_value): Call it. - (load_expression): Preserve addend if symbol is a section symbol. - (alpha_ip): Handle new operand type `F' for floating-point - constants; store them in .lit{4,8} sections. - (alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs. - - * config/tc-i386.c (smallest_imm_type): Never return Imm1. - -Tue Mar 8 14:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/obj-coffbfd.c (w_strings): Only copy strings out if - their symbols are going to be written. - -Tue Mar 8 11:49:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * messages.c (as_perror): Declare arguments const. - * as.h (as_perror): Change declaration. - -Mon Mar 7 16:08:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (load_address): When calling frag_grow, allow - for the (up to) two nops which may be inserted by append_insn if - mips_optimize is 0. - (macro): Likewise. - -Thu Mar 3 11:37:55 1994 Doug Evans (dje@canuck.cygnus.com) - - * config/atof-ieee.c (make_invalid_floating_point_number): - Add cast to avoid warning from gcc. - -Wed Mar 2 10:31:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: Add a few casts to make HP C compiler happy. - - * config/obj-som.c (obj_som_version, obj_som_copyright): Be - prepared - to handle an error from bfd_som_attach_aux_hdr. - - * config/tc-hppa.h: Wrap ELF specific decls inside an ifdef. - -Mon Feb 28 15:03:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-alpha.c (md_atof): Omit warning about FP values. - (line_comment_chars): Add ! to list. - (md_apply_fix): Do process 32- and 64-bit relocations. - - * config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the - unused parts (most of the function). - (obj_coff_init_stab_section): Cast alloca result. - - * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and - gas_target ic960coff. - * config/ic960coff.mt: New file. - * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h. - (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little. - * config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll - always build little-endian object files. - * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or - BFD_ASSEMBLER is defined. - (mem_fmt): Since COFF doesn't handle callx relocations yet, treat - them like normal 32-bit relocations. - (md_apply_fix): For callx relocations, store zero. - (tc_bout_fix_to_chars): Store symbol index for all callx - relocations, regardless of link-relax setting. - (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions. - (i960_handle_align) [! OBJ_BOUT]: If link-relax option is - selected, print an error message and clear it. - * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC, - TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP, - tc_fix_adjustable): New macros. - (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare. - -Fri Feb 25 20:56:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version. - (hppa_tc_make_sections): Likewise. - (pa_build_symextn_section): Delete unused function. - (hppa_tc_make_symextn_section): Likewise. - (pa_export): Delete call to pa_build_symextn_section. - - * config/tc-hppa.h (hppa_tc_symbol): Add extern decl. - (elf_hppa_final_processing): Delete extern decl. - (hppa_tc_symbol): Delete extern decl. - -Fri Feb 25 13:15:31 1994 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-coffbfd.c (fill_section): Correct test for whether to - fill a section (from Minh Tran-Le ). - -Thu Feb 24 11:30:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * configure.in: Don't require version number for i386-*-mach. - - * read.c (potable): Added ".this_GCC_requires_the_GNU_assembler", - which is ignored by gas, but will cause other assemblers to choke. - Intended for use by gcc ports that require gas instead of native - assemblers. - -Thu Feb 24 07:10:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/ho-hppaosf.h: Fix braino in test for ANSI-C. - -Wed Feb 23 16:51:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * write.c (write_contents): Give the user a reasonable error - message rather than "assertion failed" if bfd_set_section_contents - fails. - -Tue Feb 22 10:07:32 1994 Ken Raeburn (raeburn@rtl.cygnus.com) - - * config/ho-mach3.h: New file. - -Mon Feb 21 11:41:18 1994 Ian Lance Taylor (ian@cygnus.com) - - * ecoff.c (ecoff_build_debug): Don't set hdr->magic here. It is - now set in bfd/ecofflink.c:ecoff_write_symhdr. - - * config/obj-coffbfd.c (write_object_file): use bfd_get_error (), - not bfd_error. - * config/obj-elf.c (elf_frob_file): Likewise. - - * read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm - variables. - - * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__. - - * read.c (read_a_source_file): Use correct arguments to memcpy - (broken 19 Jul 1993). From kjd@pescadero.stanford.edu (Kenneth - Duda). - -Sun Feb 20 18:01:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com) - - * config/obj-coff.h (obj_coff_section): Declare. - * config/obj-coff.c (obj_pseudo_table): For "section", use - obj_coff_section. - (obj_coff_section): Rewrite. - -Fri Feb 18 14:16:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * configure.in (i386-*-mach3*): New target; uses BFD. - * config/te-mach.h: New file. - * config/obj-aout.c (obj_aout_frob_file): New function. - * config/obj-aout.h (obj_aout_frob_file): Declare it. - (frob_file): New macro. - * config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust - pcrel32 relocations. - * config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3. - - * write.c (write_object_file): Removed register declarations. - -Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - Some support for PowerPC ELF. - * configure.in: If cpu is powerpc*, use ppc. - (ppc-*-sysv4*): Use object format elf. - * config/tc-ppc.h: Only declare a number of things if OBJ_COFF is - defined. - (TARGET_ARCH): Make it call ppc_arch. - (ppc_arch): Declare. - (TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF. - (NO_STRING_ESCAPES): Define. - (LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF. - * config/tc-ppc.c: Only define a number of functions of OBJ_COFF - is defined. - (md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added - OBJ_COFF specific "bi" and "ei". - (md_parse_option): Fix handling of -u. Make -m601 set - PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q. - (ppc_set_cpu): New function. - (ppc_arch): New function. - (md_begin): Call ppc_set_cpu. - (ppc_insert_operand): For a signed operand accept an unsigned - value, for IBM compatibility. - (ppc_byte): Don't call stringer for strings; instead, treat two - double quotes as a single double quote. - (ppc_comm): Set sy_tc.output for a .lcomm symbol. - (ppc_biei): New function. - (ppc_tc): If not OBJ_COFF, ignore first argument. - (ppc_fix_adjustable): Call as_bad_where, not as_bad. - (ppc_is_toc_sym): New function. - (md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and - BFD_RELOC_8. - -Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com) - - * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and - bfd_set_error and new error names. - -Tue Feb 15 20:23:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * configure.in: Support i960-vxworks versions > 5.0 as coff. - Default is still bout if no version is specified. - - * atof-generic.c (atof_generic): Use switch and strcasecmp instead - of large number of compares when looking for inf/nan values. - -Fri Feb 11 13:13:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (macro): Do unaligned loads and stores - correctly when big endian, and give errors on overflow rather than - generating incorrect code. - -Thu Feb 10 11:24:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * as.c: Include libiberty.h. - - * read.c (do_align): Don't define label just_record_alignment - unless it might be used. - - * as.c (main): If md_parse_long_option is defined, call it with a - long option. - * config/tc-mips.h (md_parse_long_option): Define. - * config/tc-mips.c (mips_trap): New static variable. - (md_begin): Report an error if mips_trap is set at ISA level 1. - (macro): If mips_trap, use trap instructions instead of break - instructions for overflow and divide by zero detection. - (mips_parse_long_option): New function. Support --trap, - --no-break, --break and --no-trap. - * doc/as.texinfo: Document new options. - - * read.c (potable): Add "zero". - * config/tc-i386.c (md_pseudo_table): Remove "zero". - * config/tc-m88k.c (md_pseudo_table): Likewise. - -Thu Feb 10 01:24:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Reject integer values for - pc-relative operand fields. This forces "call 0" to become "jmpl - %g0,%o7" with no relocations needed. - -Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * as.h (xmalloc, xrealloc): Declare using PTR rather than char *. - * xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *. - - * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined, - don't treat backslash specially inside strings. - * read.c (next_char_of_string): Likewise. - -Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com) - - * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset - instead of memcpy to zero the initial stab symbol, duh. - * config/obj-elf.c (obj_elf_init_stab_section): Ditto. - * config/obj-som.c (obj_som_init_stab_section): Ditto. - -Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * write.c (fixup_segment): Use as_bad_where, not as_bad. - - * subsegs.c (subseg_set_rest): Call memset with the arguments in - the right order. Explicitly clear fix_root and fix_tail fields. - -Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt - and do nothing else. - - * symbols.c (symbol_begin): Initialize value of abs_symbol - properly. - - * write.c (adjust_reloc_syms): Use abs_symbol instead of calling - section_symbol. - - * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence - complaint from "gcc -Wall". - - * configure.in (alpha-*-netware*): New target, like alpha-*-osf*. - - * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of - file. - (tc_gen_reloc): Remove uninitialized variable `code', and code - that tried to use it (incorrectly). For LITERAL reloc, set addend - to negative of GP value. - (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT. - - * write.c (write_relocs): Print some sensible error message if - bfd_perform_relocation returns bfd_reloc_overflow. - -Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * configure.in (hppa*-*elf*): New configuration for PA ELF. - (hppa*-*-osf*): Default object format is SOM. - -Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-alpha.c (md_atof): Warn that floating-point values - might not assemble properly. - - * configure.in (target alpha-*-osf*): Don't set "dev=yes" any - more. - - * config/tc-alpha.c (load_expression): Parenthesize operations in - range checking, to avoid precedence questions. - - * config/tc-alpha.c (addr32): New static variable. - (md_parse_option): Set it for "-32addr". - (load_symbol_address): If addr32 is set, use ldl instead of ldq. - - * atof-generic.c (atof_generic): Calculate maximum_useful_digits - and more_than_enough_bits_for_digits in integer arithmetic, to - eliminate the only sources of dependence on floating point - support, which doesn't work yet on the Alpha. - -Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as - 0x30b for Alpha for now, until ".verstamp" is handled. - - * literal.c (add_to_literal_pool): Use seginfo->frchainP, which - actually refers to the literal pool section, rather than - frchain_now, which refers to whatever section the assembler was - in. - - * write.c (fixup_segment): Only do range checking if size of fixup - is smaller than word size. Otherwise, we always wind up with - zeros. - - * config/tc-alpha.c (md_section_align): Change second argument and - return type to valueT, to agree with tc.h. - (alpha_do_align): Local static array nop_pattern is now unsigned - char, to avoid overflow warnings. - * config/tc-alpha.h (md_section_align): Delete declaration. - - * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for - output bfd is non-null before indirecting through it. - - * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from - alpha_frob_file. - * config/tc-alpha.h (tc_frob_file): Macro deleted. - * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call - alpha_frob_ecoff_data, then fill in optional-header info with gp - value and register masks. - -Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP. - - * config/obj-som.c (obj_som_init_stab_section): Same change - as coffbfd and elf below. Zero the initial stab symbol after - allocating it. - -Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com) - - * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the - initial stab symbol after allocating it. - * config/obj-elf.c (obj_elf_init_stab_section): Ditto. - -Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip): addb[tf] should only accept - non-negated condition completers. Add support for addb pseudo-op - which accepts both negated and non-negated completers. - -Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * configure.in (rs6000*): Use cpu_type ppc. - (ppc-*-aix*): New target; use coff and force bfd_gas. - * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER - (RS/6000) support. At the moment, only XCOFF is supported. - - * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static. - (S_SET_DATA_TYPE): Likewise. - (coff_last_function): Renamed from local static last_functionP in - coff_frob_symbol and made externally visible. - (coff_frob_symbol): New local static set_end; use it to try to - avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted. - * config/obj-coff.h (S_SET_DATA_TYPE): Declare. - (SA_SET_SYM_ENDNDX): Declare. - (coff_last_function): Declare. - - * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as - equivalent to `.' to mean the current location. - - * read.c (LEX_BR): If not defined, define as 0. - (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'. - - * symbols.c (symbol_new): If tc_canonicalize_symbol_name is - defined, call it with preserved_copy_of_name. If - tc_symbol_new_hook is defined, call it on the new symbol. - (symbol_find_base): If tc_canonicalize_symbol_name is defined, - call it on a copy of the name argument. - - * write.c (write_object_file): Simplified usage of obj_frob_symbol - and tc_frob_symbol. Always call both if the symbol is going to be - output. - - * write.c (relax_segment): Use %ld rather than %d when printing - fragP->fr_var, and cast it to long. - - Changed relocs to be based on subsegments (when BFD_ASSEMBLER). - * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields - fix_root and fix_tail. - (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail - field. - * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and - fix_tailP based on frchain_now, not seg_info (now_seg). - (chain_frchains_together_1): Chain the subsegment relocs together. - * subsegs.c (subseg_change): Don't clear fix_tail field. - (subseg_get): Likewise. - * literal.c (add_to_literal_pool): Look through the relocs via - frchain_now, not seginfo. - -Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed - ecoff_undefined to ecoff_extern_size. - * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise. - * config/tc-mips.c (s_extern): Set ecoff_extern_size to the - external symbol size, rathern than setting the symbol value. - (md_estimate_size_before_relax): Check both ecoff_extern_size and - symbol value to see if GP referencing can be used. - * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not - ecoff_undefined. - (ecoff_frob_symbol): Don't check ecoff_undefined. - (ecoff_build_symbols): Get size of an undefined symbol from - sym->ecoff_extern_size, not S_GET_VALUE (sym). - -Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * Makefile.in: Avoid bug in losing hpux sed. - -Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (file_mips_isa): New static variable. - (md_begin): Set it. - (s_mipsset): Add support for .set mipN to set the ISA level. - - * gasp.c (kinfo): Fully bracket initializer. - -Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * gasp.c (malloc): Don't declare, since host.h or system header - files may declare it differently. - - * config/atof-ieee.c (int_to_gen): Now static. - - * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not - ho-sysv.h. Based loosely on a patch from Minh Tran-Le. - -Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * gasp.c: Include host.h. - -Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip): Make an unsupported instruction a - warning, not an error. - - * config/obj-coff.c (dot_text_symbol, dot_data_symbol, - dot_bss_symbol): Don't define if BFD_ASSEMBLER. - (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more - arguments. - (coff_line_base): Renamed from line_base. Changed all uses. - (coff_add_linesym): Renamed from add_line_sym. Made non-static. - Changed all uses. - * config/obj-coff.h: If TC_PPC, include coff/rs6000.h. - (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if - BFD_ASSEMBLER. - (coff_line_base): Declare. - (coff_add_linesym): Declare if BFD_ASSEMBLER. - * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out - now takes more arguments. - -Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com) - - * as.c (statistics_flag): Renamed from quiet_flag. - (main): Get statistics with --statistics instead of -noquiet. - -Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * Makefile.in: Support for Gnu ASsembler Preprocessor. - * gasp.c: New file. - * read.c (s_lcomm): Align lcomm data. - * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction - from different sections. - -Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * write.c (write_object_file): If tc_frob_file is defined, call it - just before calling obj_frob_file. - * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value - (references changed), and made non-static. - (getExpression): Return void. - (select_gp_value): Abort if gp_value is non-zero. Delete call to - non-existent bfd_set_gp_value. - (alpha_validate_fix): Function deleted. - (alpha_frob_symbol): Function deleted. - (alpha_local_label): Function deleted. - (alpha_frob_file): Renamed from alpha_end. - * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix, - alpha_local_label, alpha_end): Declarations deleted. - (alpha_gp_value, alpha_frob_file): Declare. - (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted. - (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label. - (md_convert_frag): Simplified slightly. - (tc_frob_file): New macro. - - * read.c (do_align): New function, most of guts of s_align_* - functions. Look for md_do_align macro, give it a chance to bypass - all but recording of section alignment. - (s_align_bytes, s_align_ptwo): Call do_align. - (s_lcomm) [TC_ALPHA]: Align object to largest power of two that - divides object size. - - * frags.c (frag_align_pattern): New function. - (frag_align): Rewrite for clarity. - - * config/tc-vax.c (md_assemble): Handle O_constant expression. - (vip_begin): Returns pointer to const char. Cast hash_insert arg - to PTR to avoid compiler complaints about const. - (md_begin): Local variable errtxt must point to const. - - * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't - bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only - the last has an existing host support file. Do handle vax-bsd and - vax-ultrix targets. - -Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-coff.c (obj_coff_section_header_append): Do not - declare if BFD_ASSEMBLER. - (stack_pop): Correct test for stack underflow. - (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size, - obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare - type of ignored argument to avoid gcc warning. - (align): Removed unused function. - -Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New - files, based on port of gas-1.38 contributed by CMU, using a.out - variant. Updated for gas-2.x and ECOFF. Floating-point constants - are still broken, bootstrap testing incomplete. - - * literal.c: Comment changes. - - * listing.c (listing_source_file): Check for null listing_tail - before indirecting through it. - - * expr.h (struct expressionS): Added struct tag. - - * as.h: If __GNUC__ and inline are both undefined, define inline - away. - - * 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. - - * atof-generic.c: Some reformatting. - (atof_generic): Be careful when mixing signed/unsigned values of - different sizes. - - * 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/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix - with no fx_addsy. - - * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol): - Deleted. - (symbol_begin): Moved to end of file, so function inlining can - work better. - (fb_label_count, fb_label_max): Default C static initializers are - sufficient. - * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol): - Declarations deleted. - * 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. - -Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * read.c (lex_type): No longer make '{' a valid character for - symbol names. - - * as.c (main): Print long values using %ld. - - * messages.c (as_warn_internal): New static function. - (as_warn, 3 versions): Use as_warn_internal. - (as_warn_where, 3 versions): New function. - * as.h (as_warn_where): Declare. - -Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com) - - * as.c (quiet_flag): New flag. - (main): If -noquiet given, display execution time and memory used. - -Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * doc/{all.texi,as.texinfo}: Add documentation for HPPA port. - -Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.c (ecoff_frob_symbol): New function. Put undefined - symbols of known size in the undefined section. Put small common - symbols in a .scommon section. - * ecoff.h (ecoff_frob_symbol): Declare. - * config/obj-ecoff.h (obj_frob_symbol): Define. - * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol, - obj_elf_frob_symbol): Removed unused functions. - * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed - unused macros. - (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations - of unused functions. - (obj_frob_symbol): Define if ECOFF_DEBUGGING. - - * tc-mips.c (g_switch_seen): New static variable. - (md_parse_option): Set g_switch_seen for -G option. - (s_option): If creating PIC code, force the GP size to be 0. Warn - if -G switch used with a non-zero value. - - * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than - comparing against bfd_com_section. - -Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss - section. - -Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * expr.c (operand): For floating point operand with unusual fp - char from FLT_CHARS, preserve the character. Patch from Lisa - Repka. - -Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (md_pseudo_table): Add all data allocation - pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single. - -Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and - C_FCN assume .val has been set to . - -Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It - confuses GDB for some unknown reason. - * cofnig/obj-som.c: Likewise. - -Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * literal.c (add_to_literal_pool): Handle duplicates of values - already written to literal pool. - -Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols - with explicitly marked stabs through BFD: if a symbol marked - N_UNDF | N_EXT is in the absolute section, move it to the - undefined section; move a symbol marked N_INDR into - bfd_ind_section and set the BSF_INDIRECT flag; set the - BSF_WARNING flag for a symbol makred N_WARNING. - -Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (ecoff_set_gp_prolog_size): Declare. - * ecoff.c (ecoff_set_gp_prolog_size): Return type is void. - -Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u' - and 'f' template operand. - - * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u', - and '2' in copr and sfu instruction templates. - -Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * as.h (subseg_force_new): Add prototype. - -Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com) - - * app.c (do_scrub_next_char): Allow lines like " foolab :". - - * read.c (emit_expr): Fix computation of mask. - * config/obj-elf.c (obj_elf_section): Fix loop termination test. - -Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * ecoff.c (ecoff_set_gp_prolog_size): New function. - (current_file_idx): New static variable. - (add_file): Use and increment current_file_idx instead of indx - parameter. - - * struc-symbol.h (struct symbol): Make all bitfields unsigned. - - * config/tc-i960.c (i960_validate_fix): Added argument - add_symbolPP. Indirect through it to get "add_symbolP". - * config/tc-i960.h (i960_validate_fix): Supply prototype. - (TC_VALIDATE_FIX): Pass address of add_symbolP. - - * configure.in (i386-*-netbsd*): New target, using te-netbsd.h. - (i386-*-netbsd0.8): New target, like 386bsd. - - * configure.in: Set BFDDEF in Makefile to "define" or "undef". - * Makefile.in (config.h): Protect against multiple inclusions. - Define or undef BFD_ASSEMBLER as specified by $(BFDDEF). - (ALL_CFLAGS): Omit $(BFDDEF). - * as.h: Include config.h. - (struct symbol): Added forward declaration. - (add_to_literal_pool): Fix declaration. - * as.c: Don't include config.h. - - * literal.c (add_to_literal_pool): Take symbol and addend as - arguments, instead of expression, for now. Fix calculation of - offset to return. - - * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field - literal_pool_size. - -Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu - - * subsegs.c (subseg_get): Accept new argument "force_new". If - set then a new segment is always created. All callers changed. - (subseg_force_new): New function. Similar to subseg_new, but - always force a new segment to be created. - - * config/obj-som.c (som_frob_file): Call adjust_code_sections - for each section. - (adjust_code_sections): New function. Adjusts the VMA for all the - $CODE$ subspaces. - - * config/tc-hppa.c (md_assemble): Also handle creating a fixup - for the unwind descriptors if a function's label follows the - .PROC and .ENTRY directives. - (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it - is done elsewhere. Don't create a fixup for the unwind - descriptors if the function's label has not been defined yet. - (pa_proc): For SOM, place each procedure within a new $CODE$ - subspace. Adjust the segment and frag for the associated - function label if it exists. - -Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field. - (hppa_fix_new): Initialize segment field. - (md_apply_fix): Do nothing for pc-relative fixup which involves - crossing a segment boundary. - (pa_procend): Undefine the current label after handling .PROC - and .PROCEND directives. - (dummy_symbol): Make type "symbolS *". Change references as - appropriate. - -Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * read.c (read_a_source_file): Cast array argument to unsigned - char. - * write.c (adjust_reloc_syms): Remove unused variable symseginfo. - (write_object_file): Don't define punt_it if it won't be used. - (fixup_segment): Don't define skip if it won't be used. - - * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format. - (mips_target_format): Declare. - * config/tc-mips.c (mips_target_format): Define with appropriate - default definition. - (md_parse_option): If -EL or -EB is used, change byte_order and - mips_target_format as appropriate. - -Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * app.c (do_scrub_next_char): Another attempt to fix bugs - dealing with labels without colons (for HPPA and MRI). - -Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits. - - * expr.c (integer_constant): Fix computation of too_many_digits. - Variable digit_2 renamed to start. Fix check for whether number - will fit in 32 bits. - * read.c (emit_expr): Use valueT instead of long. - -Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-elf.c: If TC_MIPS, include elf/mips.h. - (special_sections): Define. - (obj_elf_special_section): Get default types and attributes from - list of special sections. - * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define. - - * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss - sections to be close together. - - * config/tc-mips.c (macro): Corrected $at warnings in a couple of - spots. - - * listing.c (listing_prev_line): New function. - * listing.c: Include subsegs.h. - (listing_prev_line): New function. - (calc_hex): Reset byte_in_frag to zero for each new frag. - * config/tc-mips.c (append_insn): Call listing_prev_line after - emitting nop instructions. - * Makefile.in (listing.o): Depends upon subsegs.h. - -Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC - here. Handle case where label may be defined after the .PROC. - (pa_proc): It is not an error if the procedure's label isn't - defined before the .PROC directive. - -Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * config/te-netbsd.h: New file. - * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target - a.out-netbsd-386 for this configuration. - -Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information - with the associated stabs information. - (ecoff_build_symbols): Never set the type of stabs symbols to - st_Global. Don't update the symbol index or ifd if the gas symbol - is not the same as the ECOFF symbol (which is now the case for - stabs symbols). - -Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com) - - * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that - splits the function. - (macro2): New function, if LOSING_COMPILER defined. - -Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com) - - * config/obj-coffbfd.c (fill_section): Don't ever fill past the - end of a section. (write_object_file): Temporary fix - setup - stdoutput. - -Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in - non-pcrel_offset relocations. - -Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at - without .set noat. - -Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * literal.c: New file. - * Makefile.in (REAL_SOURCES, OBJS): List it. - - * as.h (DEBUG): Don't define. - (struct expressionS, struct fix): Declare in case they're used in - prototypes. - (add_to_literal_pool) [BFD_ASSEMBLER]: Declare. - - * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names - in bfd. - - * subsegs.c (subseg_get): New function. Creates segment if - needed, returns pointer, but doesn't change current segment. - (subseg_new): Use it. - -Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com) - - * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search. - * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/". - * app.c, flonum.h, hex-value.c (const): Change #if to be more - portable. - -Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com) - - * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa - micro-kernel. - -Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * write.c (write_relocs): bfd_perform_relocation now takes an - additional argument, to return an error string (which we ignore). - -Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com) - - * write.h (struct fix): Field tc_fix_data should be type PTR, not - void*, for compatibility with non-ANSI compilers. Added - single-bit field "fx_done". - -Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com) - - * tc-hppa.c (pre_defined_registers): Convert to lower case. - Delete spurious register names "%r4L", etc. - (selector_table): Sort and convert to lower case. - (cons_fix_new_hppa): `reloc_type' => `rel_type'. - (pa_ip): Always use strcmp for non-text and strcasecmp for text. - (reg_name_search): Rewrite to call strcasecmp only once per - iteration. - (pa_chk_field_selector): Rewrite to use binary search. - (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons. - (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case - sensitive comparisons. - (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case. - (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use - case sensitive comparison for all symbolic names. - (pa_subspace): Canonicalize strncasecmp arg to lower case. - (pa_subspace_start): Use case sensitive comparison for symbolic names. - -Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com) - - * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no - symbol is present (i.e., relocation against absolute), create a - phony local symbol, and use it in the reloc. - (fixup_segment): When adjusting a reloc with an absolute symbol, - have TC_FORCE_RELOCATION control clearing add_symbolP too. - * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF. - - * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT - and BSF_GLOBAL, since they're the same. - - * as.c (main): Only invoke md_end if it's defined as a macro. - * tc.h (md_end): Don't declare it. - * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do - anything. - * config/tc-vax.c (vip_end): Deleted null function. - * config/tc-mips.c (md_mips_end): Renamed from md_end. - * config/tc-mips.h (md_mips_end): Declare. - (md_end): New macro, calls md_mips_end. - - * write.c (write_object_file): Don't close output file. - * as.c (main): Close output file (if needed) after calling - listing_print, which should be after calling write_object_file, - which sets the frag addresses. - - * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line, - obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type, - obj_coff_val): Add unused int argument to satisfy prototypes; goes - with Ian's 10 Sep changes. - (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS, - S_SET_STORAGE_CLASS): Now function instead of macros. - (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted. - (tag_insert): Local var ERROR_STRING is const. Use "const" not - "CONST" for argument NAME. Fixed prototype. - (coff_frob_symbol): Removed explicit "#if 1" directive. If - S_IS_EXTERNAL, set storage class to C_EXT. - (s_get_name): Use "const" not "CONST". - * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE, - S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted. - (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For - BFD_ASSEMBLER, define as macro that aborts. - (obj_extra_stuff, tc_headers_hook): Declare only for - non-BFD_ASSEMBLER. - (coff_frob_symbol): Fix prototype. - -Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense - reversed. - -Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_begin): Initialize "dummy_label". - (tc_gen_reloc, SOM version): For relocations which have no symbol, - set sym_ptr_ptr to dummy_label. Avoids lossage in generic BFD code. - -Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com) - - * read.c (lex_type): No longer make '[' a valid character for - symbol names. - - * config/tc-vax.c (tc_aout_fix_to_chars): Local variable - NBYTES_R_LENGTH now const. - - * config/obj-*.c, config/tc-*.c: Omit superfluous "return" - statements at ends of functions. Don't check for null return from - hash_new, since it won't return at all if there's no memory - available. Also, check for null return from hash_insert, rather - than zero-length string, as success indicator. - - * subsegs.c (section_symbol): New function. - * subsegs.h (section_symbol): Declare. - * write.c (adjust_reloc_syms): Use it. - -Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com) - - * Makefile.in (RUNTEST): New variable. - (CHECKFLAGS): Pass it down. - - * ecoff.c (ecoff_directive_frame): Permit extra trailing operands; - unused for now, but supplied by Alpha OSF1 compiler. - - * as.h: Protect against multiple inclusions. - (int_to_gen): Don't declare. - - * config/atof-vax.c (atof_vax): NULL is not a valid character - constant. - -Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * configure.in (hppa*-*-osf*): Do not consider this a developmental - configuration. - - * config/tc-hppa.c (md_apply_fix): Handle cases where no - relocation will be emitted for 32bit formats. - -Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust - for any of the 'T' field selectors. - -Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/tc-h8500.c (build_bytes): Get reloc type right for a - %page operation. (md_assemble): Don't modify input_line_pointer. - (mdcoff_sizemachdep): New function. - * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro. - * config/tc-z8k.c (get_operand): Delete bogus check. - -Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com) - - * write.c (number_to_chars_*): Delete bogus range check. - - * output-file.c (TARGET_ARCH): No default. - -Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/tc-sh.c (md_convert_frag): Truncate disps before calling - md_number_to_chars. (md_assemble): Don't modify - input_line_pointer. - -Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com) - - * config/tc-h8300.c (md_assemble): Don't update input_line_pointer. - -Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/obj-som.[ch] (obj_read_begin_hook): Remove last change. - Breaks with the HP compilers. - - * config/tc-hppa.c (struct call_info): Remove fields which were - set but never used. Remove all code which sets those fields. - (struct subspace_dictionary_chain): Likewise. - (struct space_dictionary_chain): Likewise. - (pa_desc): Delete useless function. Delete all references. - (hppa_tc_make_sections): No need to count the number of symbols for - the symbol extension section. - -Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/obj-som.c (obj_som_version): Pass version string to - SOM BFD backend. - (obj_som_copyright): New function. Much like obj_som_version. - - * config/tc-hppa.c (obj_copyright): Define as appropriate for - SOM and ELF. - (pa_copyright): Just a stub now. - - * config/obj-som.c (obj_read_begin_hook): Delete unused function. - * config/obj-som.h (obj_read_begin_hook): Provide dummy definition. - (TARGET_SYMBOL_FIELDS): Delete. SOM isn't making use of them. - - * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation - expansion due to rounding mode selectors. Handle R_[RDSN]_MODE - relocations for selecting the current rounding mode. - - * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and - e_rlsel field selectors. - -Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-elf.h: If ECOFF_DEBUGGING, undef - SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define - OBJ_PROCESS_STAB to call ecoff_stab. - * config/obj-elf.c: Don't compile obj_elf_init_stab_section if - INIT_STAB_SECTION is not defined. - -Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_apply_fix): Delete old wrapper function. - (md_apply_fix_1): Rename to md_apply_fix. Fix argument decls. - Fix comments in various places. Always return a value. - Avoid dereferencing a NULL fx_addsy. - (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy. - - Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu) - - * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should - be either 0 or 2 (no static link or static link required). Always - assume no static link. - -Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com) - - * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be - dependent on howto fields, not on format flavour. - - * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc, - defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those - macros are defined. - * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define. - (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define. - (sy_tc, sy_obj): Define so that the fields look like they used to, - until all references get changed. - - * write.c (fixup_segment): Lots of variables no longer register. - Reordered some code for easier reading. - * config/obj-coff.c (obj_coff_dim): dim_index no longer register. - Deleted superfluous return statement. - (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type, - obj_coff_val, tag_init, tag_insert): Deleted superfluous return - statement. - (align, obj_coff_section): Deleted debugging printfs. - * config/tc-i386.c (md_assemble): Discard some register decls. - Use assignment rather than memcpy to copy template. - (op_hash, reg_hash, prefix_hash): Default C initialization of - statics is sufficient. - * config/tc-sparc.c (print_insn): Array Reloc is now const, and - points to const. - - * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if - TE_LYNX; use coff-sparc otherwise. - [USE_NATIVE_HEADERS]: Delete this code; it isn't used. - - * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined, - before processing a fixup. Call TC_ADJUST_RELOC_COUNT just before - returning. Remove some i960-coff-specific code. - (TC_ADJUST_RELOC_COUNT): Default to doing nothing. - * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define. - (i960_validate_fix): Declare. - (TC_VALIDATE_FIX): Define. - * config/tc-i960.c (i960_validate_fix): New function. - - * write.c (number_to_chars_littleendian): New function. Write out - bytes in little endian order, doing size and range checking. - (number_to_chars_bigendian): New function, similar. - * write.h: Declare them. - * config/tc-*.c (md_number_to_chars): Use them. - * config/tc-vax.c (md_apply_fix): Ditto. - * config/tc-i386.c (md_apply_fix): Ditto. - - * config/obj-coff.c: Rearranged code for handling line number - data. - (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case, - since the usage is different from non-BFD_ASSEMBLER case. - (in_function, clear_function, set_function): New macros, to - combine some of the functionality implemented in differnet ways in - BFD_ASSEMBLER and non-... code. Used in other functions that used - to check function_lineoff &c. - (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER, - one for not. Non-BFD_ASSEMBLER version now has temporary variable - to contain char* pointer pointed to by char** argument. Always - follow CROSS_COMPILE code; easier to read that way. - (obj_coff_ln): Don't call add_lineno or c_line_new if appline is - set. - (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for - ".bf", it's been done elsewhere. - (coff_frob_symbol): If ilne number data is pending, call - add_linesym to flush it. - (coff_frob_file): Don't do that here. - * config/obj-coff.h (coff_frob_file): Declare. - (obj_frob_file): Define, to call it. - - * config/tc-sparc.h (md_create_short_jump, md_create_long_jump, - md_estimate_size_before_relax: Define them as macros calling - as_fatal. - * config/tc-sparc.c: Don't define them as functions. - - * configure.in: Handle target alpha-*-osf*. (No cpu files yet.) - -Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * Makefile (clean): Depend on clean-here. - -Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com) - - * config/ho-go32.h: Include fopen-bin.h. - * as.h: If FOPEN_WB isn't defined, include fopen-same.h. - * output-file.c (output_file_create): Use FOPEN_WB instead of "w". - * input-file.c (input_file_open): Use FOPEN_RT instead of "r". - * listing.c (file_info): Use FOPEN_RB instead of "rb". - * read.c (s_include): Use FOPEN_RT instead of "r". - - * stabs.c: Include obstack.h. - - * tc.h (md_create_long_jump): Don't declare if it's already - defined as a macro. - (md_create_short_jump, md_estimate_size_before_relax): Ditto. - - * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead - of strerror. Clear bfd_error. - - * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already - defined. - -Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function. - (pa_process_exit, pa_procend): Call it for ELF objects. - -Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d - case. See comment. From wilson@cygnus.com: for M_L_DAB, set - coproc before doing goto ld. - -Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * write.c (TC_FORCE_RELOCATION): Provide a default definition. - (fixup_segment): Allow the target machine to specify that a - relocation must be generated for a particular fixup. Remove - #ifndef TC_HPPA hack. - - * config/tc-hppa.h (TC_FORCE_RELOCATION): Define. - - * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to - be NULL. Only fixup_segment is supposed to do that. - (hppa_force_relocation): New function. - -Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Makefile.in (stabs.o): Added dependencies. - - * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab. - -Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * app.c (do_scrub_next_char): Output a TAB before any - .app* directive. - - * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol - exists before trying to peek at its name. - (pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s - for testcase. - (pa_align_subseg): Delete unused/unwanted function. - -Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * read.c (read_a_source_file): Fix test for when to stick a colon - on the end of a label. Make code conditional on either MRI or - LABELS_WITHOUT_COLONS. - - * app.c (do_scrub_next_char): If a line begins with whitespace, leave - the single whitespace character alone. Eat all others. - - * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define. - -Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_procend): Do not call process_exit. - (exit_processing_complete): Delete unwanted variable and all - references. - -Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext. - Changed to not actually build the external symbol information, as - that is now done by the ECOFF back end. - (ecoff_build_debug): Changed accordingly. - * ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function - called by ecoff_setup_ext. - * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0, - set corresponding pointer to NULL. Don't set raw_size and - raw_syments. - (obj_ecoff_set_sym_index): Removed. - (obj_ecoff_set_ext): New function. - * config/obj-ecoff.h (obj_set_sym_index): Don't define. - (obj_ecoff_set_sym_index): Don't declare. - * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr, - elf_set_index): New functions used for ECOFF_DEBUGGING. - (elf_frob_file): Reworked ECOFF debug generation to use - new functions in bfd/ecofflink.c. - -Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_def_subspaces): Only create the unwind - subspace for ELF. In the SOM world, the linker is responsible - for creating the unwind subspaces. - -Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-coffbfd.c: Use PARAMS rather than EXFUN. - (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is - already set. Fixes .def var; .val external_var; .scl 3; .endef. - (adjust_stab_section): Make static. Declare return type. Remove - unused variables. - - * config/tc-i386.h: Declare tc_coff_fix2rtype and - tc_coff_sizemachdep. - -Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * write.c (write_object_file): Disable obj_check_file_symbols - hook; only back end using it wasn't using it correctly. - (write_object_file): Always call obj_frob_symbol and - tc_frob_symbol; always retain symbol if it's used by a relocation, - regardless of what these routines indicate. - * config/obj-coff.c (coff_frob_symbol): Renamed from - coff_check_file_symbols. - * config/obj-coff.h (obj_check_file_symbols): Deleted. - (coff_frob_symbol): Declare. - (obj_frob_symbol): Call it. - - * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings, - obj_pre_write_hook): Don't define for BFD_ASSEMBLER. - (c_section_header): Ditto. Delete superfluous return at end of - function. - - * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify - coff-sparc-lynx. - (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER - too. - (c_section_header): Rewrite prototype so that it contains no - preprocessing directives. Don't declare it at all if - BFD_ASSEMBLER. - - * configure.in (sparc*-*-lynxos): New target, using coff and - BFD_ASSEMBLER. - - * stabs.c: New file. - * Makefile.in (REAL_SOURCES, OBJS): List it. - * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME, - get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc): - Moved to new file. - - * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf - files. - -Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * configure.in (mips-*-irix5*): New target. Use elf and mips-big. - * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h. - (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF - pseudo-ops. - (obj_read_begin_hook): If ECOFF_DEBUGGING, call - ecoff_read_begin_hook. - (obj_symbol_new_hook): If ECOFF_DEBUGGING, call - ecoff_symbol_new_hook. - (obj_elf_init_stab_section): Cast alloca result. - (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging - information and write it out into .mdebug section. - * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro. - (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS. - (ECOFF_DEBUGGING): Define if TC_MIPS. - (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add - fields required by ECOFF. - * config/tc-mips.c: Check ECOFF_DEBUGGING rather than - OBJ_ECOFF in many cases. - (mips_any_noreorder): New variable. - (mips_cprestore_offset): Initialize to -1. - (mips_frame_reg): New variable. - (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1, - RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros. - (md_pseudo_table): Handle "gpword" and "cpadd". - (md_begin): Initialize ok to false. If OBJ_ELF, set alignment - of text, data and bss sections to 4. Set alignment of - .reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug - section. - (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment - check. - (append_insn, macro_build, macro_build_lui): Take place - argument. Changed all callers. - (append_insn): If appending a nop, don't emit one. - (macro_build): Changed assertion for 'i', 'j', 'o' case. - (gp_reference): Removed. - (load_address): New function. - (macro): If mips_noreorder is used, set mips_any_noreorder. - Extensive changes to handle GP and PIC symbols differently. - Build both possible code choices using a variant frag, and - make a final decision at the end of assembly when all - information is known. Added PIC support for all symbol - references. - (mips_ip): Don't permit anything but a number after $ for a - coprocessor register. Don't use .lit4 or .lit8 sections when - generating PIC code. If OBJ_ELF, set alignment of .lit4 or - .lit8 section to 4. - (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs. - (s_change_sec): Set alignment of ELF .rodata or .sdata section - to 4. - (s_mipsset): If .set noreorder, set mips_any_noreorder. - (s_cpload): Ignore .cpload if not generating PIC code. Warn - if .cpload is not in noreorder section. - (s_cprestore): Ignore .cprestore if not generating PIC code. - (s_gpword, s_cpadd): New functions. - (tc_get_register): Added frame argument; if true, set - mips_frame_reg to return value. Changed all callers. - (md_estimate_size_before_relax): Don't error out, but instead - determine how much a frag should grow. - (tc_gen_reloc): Return multiple relocs if appropriate, as - determined by md_estimate_size_before_relax. - (md_convert_frag): New function. - (mips_elf_final_processing): Set ELF header flags based on - mips_any_noreorder and mips_pic. - * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define. - (MAX_RELOC_EXPANSION): Define to be 3. - (md_relax_frag): Define to be 0. - (md_convert_frag): Don't define. - (tc_get_register): Changed declaration. - - * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to - support generating ECOFF debugging information for MIPS ELF - targets. Compiled only if ECOFF_DEBUGGING is defined. Changed - handling of external symbols: it now always generates exactly - those external symbols that are defined in the global symbol list. - * Makefile.in (REAL_SOURCES): Added ecoff.c. - (REAL_HEADERS): Added ecoff.h. - (OBJS): Added ecoff.o. - (ecoff.o): New target. - * config/obj-ecoff.c: Almost entirely moved into ecoff.c. - Remaining code mostly just calls ecoff.c code. - * config/obj-ecoff.h: Define ECOFF_DEBUGGING. - (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a - struct localsym. - (obj_read_begin_hook, obj_symbol_new_hook): Define to call - functions in ecoff.c. - (ecoff_stab): Don't declare (now declared in ecoff.h). - (obj_set_sym_index): Define. - (obj_ecoff_set_sym_index): Declare. - - * frags.h (frag_grow): Declare. - * frags.c (frag_grow): Made non-static. - - * write.c (is_dnrange): Do not define if md_relax_frag is defined. - (relax_segment): If md_relax_frag is defined, use it to handle a - frag of type rs_machine_dependent rather than looking through - md_relax_table. - - * read.c (read_a_source_file): If we find a bad pseudo-op, - do a continue to go on to the next line rather than a break. - Removed duplicate bad pseudo-op code which was never executed. - - * read.c (s_lcomm): Do not require a comma after the name. - - * subsegs.h (segment_info_type): Changed hadone field to bitfield. - Added bss bitfield. - * as.c (perform_an_assembly_pass): Set bss flag for bss_section. - * read.c (s_lcomm): Set bss flag for .sbss section if used. - * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a - bss section. Set SEC_RELOC if there are any relocations, even for - a zero size section. - - * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base - data offset on reloc[0]->address rather than reloc[j]->address, so - that multiple relocs can affect different memory locations. - - * write.c (chain_frchains_together, relax_and_size_seg, - adjust_reloc_syms, write_relocs): Make third argument PTR, not - char *, to match definition of bfd_map_over_sections. - - * app.c (do_scrub_next_char): Don't interpret a comment character - as starting a CPP line directive unless it is a '#' and is the - very first characters on the line (i.e., do not permit leading - whitespace). - - * messages.c (identify): Make file argument non-const, to match - callers. - -Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check. - -Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com) - - * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too. - * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7 - relocs. - -Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.[ch]: Fix assorted trivial indention problems. - * config/obj-som.c (obj_som_version): Add missing ';'. - (som_frob_file): Delete whitespace at EOL. - -Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com) - - * Makefile.in (VERSION): Updated following 2.2 release. - -Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (hppa_fix_struct): Use a real type for the - field selector, rather than an int. All uses of field selectors - fixed. - (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now. - (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL - field. - - Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (pa_type_args): For .import statements, - silently ignore attempt to change the symbol type for a function - from ST_ENTRY to ST_CODE on .import. - -Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * write.h (fixS): Rename fx_callj field to fx_tcbit. - * write.c, config/obj-coff.c, config/obj-coffbfd.c, - config/tc-i960.c: Corresponding changes. - -Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * Makefile.in (distclean): Delete config-stamp and config.h - - * config/tc-hppa.c (evaluate_absolute): Avoid relying on - ANSI-C features. - - * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args. - Accept new argument "is_export". All callers changed. When - processing a .export directive for a function, do not allow - the user to set the type to "CODE", instead warn and set the - type to "ENTRY". - -Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted - Lemon ). - (mips_ip): Permit odd numbered floating point registers if -mips3. - (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS. - -Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com) - - * configure.in: Remove h8300h, we have multilib now. - -Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com) - - * configure.in: Support generic netware as being ELF format. - Recognise unixware if the user supplies it. - -Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * First cut at cleaning up PA instruction parsing. - * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to - insn structure as an argument, and a pointer to a string. All - callers changed. Always read any field selector here. Call - evaluate absolute to get a return value. - (evaluate_absolute): Addept pointer to insn structure as its - argument. All callers changed. - (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield - into an instruction and continuing the main pa_ip loop. - (CHECK_FIELD): New macro for simple range checking of fields. - (pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE - and CHECK_FIELD. All immediate fields now pass through - pa_get_absolute_expression which will also handle field selectors. - Delete dead code. Simplify. - (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are - applied are in range. Use bfd_put_32 rather than inserting each - byte of the fixed instrution into the buffer ourselves. - - * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code, - it was PA specific and is no longer needed (it's now handled - within the PA backend). - * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition. - * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for - a fixup is $global$ change it to NULL as $global$ is really only - needed long enough to determine the base type of relocation to use. - - * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined. - - * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work - for 'z' operands (target of ble branch). - -Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c: (update_subspace): Fix type and name of last - parameter. All callers fixed. - (md_begin, pa_chk_field_selector, pa_entry): Lint. - - * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector - to default state after it's been used. - -Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/obj-som.c (obj_som_init_stab_section): Change - space/subspace sort keys for the stab sections so as to avoid - bugs in the hp linker and pxdb. - -Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * write.c (chain_frchains_together): Update pointer to last - frag for a segment in the seginfo structure. - -Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com) - - * Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS - -Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com) - - * write.c (fixup_segment): Handle conversion of subtraction to - pc-relative addressing even if pc-relative flag is already set. - - * config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't - declare either. - - * doc/Makefile.in (distclean): Delete intermediate files from dvi - build, but not the dvi or info files. - * Makefile.in (clean-here): New target; cleans up current - directory only. - (distclean): Use it instead of clean. - - * read.c (s_xstab): Don't use alloca. - - * messages.c (identify): New routine; print message identifying - following messages as coming from assembler. - (as_show_where, as_bad_internal, as_bad_where): Call it. - (as_fatal): Don't need to identify program any more. - -Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Add default case to reloc switch. - - * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as - well as MIPS ECOFF. - (get_stab_string_offset): Remove unused variable aligned. - -Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the - predefined register table. - (pa_parse_number): Handle %rp in common register shortcut code. - Consistently set return value to -1 for an error. Clean up error - messages and only print them when "print_errors" is true. Handle - empty string case like the HP assembler -- assume a value of - zero. - - * config/ho-hpux.h: Do not include ho-sysv.h. Instead include - standard hpux include files to pick up various function decls. - - * config/ho-hppaosf.h: Delete _IO* macros. They are defined in - stdio.h. Delete bogus declaration of free. Get path to - alloca-conf.h right. - -Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com) - - * expr.c (operand): Fix checks for characters following "0b" or - "0f". - -Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/obj-som.h (obj_attach_unwind_info): Define as a hook - so GAS can attach unwind descriptor information to a BFD symbol. - * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind - descriptor information to the BFD symbol. - (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied", - they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF - dependent. - (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent. - (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM. - (pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not - build "end-of-function" symbols for SOM, they are not needed. - - * config/tc-hppa.c (process_exit): Create temporary symbols with - correct prefixes so they can be eliminated later. - - * config/tc-hppa.c (call_info struct): Delete unused "frame" field. - (pa_callinfo): Insert framesize into the unwind information as - soon as it's available. - (pa_build_unwind_subspace): Do not insert framesize into the unwind - information here. - - * Add support for marker type relocations. These mark areas - of interest to the linker. ENTRY/EXIT relocations for SOM are - an example of marker relocations. - * write.c (write_relocs): Instead of assuming size of a relocation - is 4 bytes, pick up the size from relocation itself. - (fixup_segment): Do not complain that a value is too small for - marker relocations. - - * struc-symbol.h: Add new "sy_used" field to the symbol structure. - * expr.c (operand): Set sy_used for any symbol used as an operand. - (expr): Likewise for any symbol used in an expression. - * config/tc-hppa.h (tc_frob_symbol): Define. Punt imported - symbols which are never used and absolute symbols which local scope. - - * config/obj-som.h (obj_frob_file): Define. - * config/obj-som.c (obj_som_init_stab_section): Set alignment - of stab sections. Make space for the special stab entry. - (adjust_stab_sections): Adjust the special entry in the - stabs section. - (som_frob_file): New function. Simply calls adjust_stab_sections - for each section. - -Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define. - (mips_pic, mips_cprestore_offset): New static variables. - (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore. - Ignore .bgnb and .endb. - (gp_reference): _gp_disp is never addressed off GP. - (macro_build): Ignore macros while searching for insn. For cases - i, j, and o, accept the reloc type as an argument rather than - assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to - BFD_RELOC_MIPS_GPREL. Added new case a. - (set_at, load_register, macro): Changed calls to macro_build to - pass new argument for i, j and o cases. - (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require - special handling when generating SVR4 PIC code. - (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT - rather than hard coded constants. - (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and - BFD_RELOC_MIPS_CALL16. - (s_option): Set mips_pic based on .option picN. - (s_abicalls): New function; set mips_pic to 2. - (s_cpload): New function; handle .cpload. - (s_cprestore): New function; handle .cprestore. - - * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb, - .endb and .verstamp, setting them to s_ignore. - -Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined - field. Define SUBSPACE_DEFINED accessor macro. - (pa_subspace): Allow user to override subspace attributes for - built-in subspaces. Set ssd_defined at the end of fcn -- that - way the attributes can only be changed once. Pass newly allocated - name to is_defined_subspace, not a pointer to the input line. - Fix typo in space/subspace rework. - (is_defined_subspace): Delete unused 2nd arg. All callers changed. - - * config/tc-hppa.c (pa_import): If currently in the text segment - and a symbol is imported without type information, set BSF_FUNCTION - for the symbol. - * write.c (relax_and_size_seg): Correct test to determine if - the section's size was rounded up. - - * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS - can properly set all the SOM symbol types. - * config/tc-hppa.c (pa_symbol_type): New enum to represent the - symbol types which can be set from an IMPORT/EXPORT statement. - (pa_export_args): Set the pa_symbol_type type based on arguments. - If defined, call obj_set_symbol_type to pass this information on - to the BFD backend. - - * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any - stab section we make. - (s_stab_generic): Likewise. - -Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * Allow backends to override the value of the fake label. - * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead - assume backends will define LOCAL_LABEL if anything other than - 'L' is used to denote a local label. - (FAKE_LABEL_NAME): New macro. Defines the default name used for - the "fake" label. - * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code - and instead simply use the string defined by FAKE_LABEL_NAME. - (operand): Likewise. - * read.c (s_stab_generic): Likewise. - * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's - known to be a local label. - * config/tc-i386.h (DOT_LABEL_PREFIX): Delete. - (LOCAL_LABEL, FAKE_LABEL_NAME): Define. - * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete. - (LOCAL_LABEL, FAKE_LABEL_NAME): Define. - * config/te-sco386.h (DOT_LABEL_PREFIX): Delete. - (LOCAL_LABEL, FAKE_LABEL_NAME): Define. - - Rework space/subspace handling in PA code to fully support - SOM spaces/subspaces. - * config/tc-hppa.c (USE_ALIASES): New object-format dependent define - to control the use of space/subspace name aliases. - (update_subspace): Accept space chain entry for containing space - as a new parameter. All callers changed. - (pa_get_label): Use current_space rather than pa_segment_to_space. - (pa_define_label): Likewise. - (pa_undefine_label): Likewise. - (md_begin): Change into the (possibly modified) text_section. - (pa_parse_space_stmt): Create a new segment/space if create_flag - is true, and the space name is not one of the two predefined spaces. - (pa_subspace): Use current_space rather than a lookup via - pa_segment_to_space. Reset BFD section flags as required by - the .subspace directive. Likewise for the section alignment. - Pass the current space to update_subspace and create_new_subspace. - (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES - is true. When not using aliases, create a BFD section for each - subspace encountered. When not using aliases replace the default - text, data, and bss segments with new ones. - (create_new_subspace): When not using aliases each subspace has a - section/segment and subsegments are not needed, so set the subsegment - to zero. - - * config/tc-hppa.c (pa_parse_space_stmt): If needed, call - obj_set_section_attributes to pass space attributes to the - BFD backend. - (create_new_space): Likewise. - (create_new_subspace): Likewise for subspace attributes using - obj_set_subsection_attributes. - (update_subspace): Likewise for subspace attributes using - obj_set_subsection_attributes. - - * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key - for $TEXT$ and $PRIVATE$ from the default space structure. - - * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION - as appropriate for the given type. - - * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling - SOM relocations. - - * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol - redefinition. - - * config/obj-som.[ch]: New files for SOM support. Note SOM - support is not yet complete in GAS or BFD. - - * config/ho-hppabsd.h: Delete IO* macros, they are defined in - stdio.h. Delete declaration of free. Include stdlib.h, unistd.h, - and string.h. - -Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * Allow backends to override the section names used for embedded - stabs support. Needed for SOM. - * read.c (STAB_SECTION_NAME): Default the name of the stab section - to ".stab". - (STAB_STRING_SECTION_NAME): Likewise for the stab strings section. - (get_stab_string_offset): Is now passed the full name for the - stab string section rather than a name prefix. All references - changed. - (s_stab_generic): New argument for the stab string section name. - all references changed. - (s_xstab): Append "str" to the stab section name to get the - stab string section name. - * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str" - to stab section name to get the stab string section name. Pass - the full name of the stab string section to get_stab_string_offset. - * config/obj-elf.c (obj_elf_init_stab_section): Likewise. - - * config/tc-hppa.c (md_begin): Disable "-R" option to fold - textand data segments. Warn user "-R" is unsupported on the - PA. - -Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for - .align and .ALIGN directives. - - * config/tc-hppa.c (pa_space): Do not report an error for a .space - directive which does not define a "well-known" space and does - not include a space number as an argument. - - * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the - "defined", "loadable", "code_only" and "space_index" fields. - (pa_def_spaces): Correct initialization of the "spnum", "defined", - and "private" fields. - - * write.h (struct fix): Add new tc_fix_data field for the various - backends to attach machine dependent fixup information to. - * write.c (fix_new_internal): Initialize new tc_fix_data field. - * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and - fx_next fields. - (hppa_find_hppa_fix): Delete unnecessary function. Fix all - callers to get HPPA fixup information from the tc_fix_data field - in the GAS fixup. - (hppa_fix_root): Delete unnecessary variable. - (fix_new_hppa): Attach HPPA fixup data to the GAS fixup. - - * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted - function. Fix all callers. - (subspace_dictionary_chain): Delete unused ssd_start_sym field. - - * config/tc-hppa.c (hppa_fix_adjustable): New function to determine - if a particular fixup is adjustable. - * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to - perform the real work. - - * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out - of OBJ_XXX conditionals. - (MAX_RELOC_EXPANSION): Likewise. - - * config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all - callers. Now returns log2 (N) for positive N which are an exact - power of two or -1 for an error. - - * config/tc-hppa.c (pa_callinfo): Range check values provided for - ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before - inserting them into the unwind table. - - * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references. - (hppa_gen_reloc_type): New object format dependent macro. - (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF - conditional. The code can (and will) be shared between SOM & ELF - formats in the near future. - (cons_fix_new_hppa, md_apply_fix_1): Likewise. - (pa_build_unwind_subspace, process_exit, pa_exit): Likewise. - (tc_gen_reloc): Use hppa_gen_reloc rather than an object format - specific call. - - * config/tc-hppa.c (pa_comm): Set the segment for a common symbol - to bfd_und_section. - - * config/obj-elf.h (obj_elf_version): Add extern prototype. - - * configure.in (hppa-*-bsd*): New configuration. - BFD is always used for GAS generating SOM objects. - - * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an - adjustment is rejected by the target machine. - - * config/tc-hppa.c (pa_big_cons): Delete function and its - declaration. All callers changed to use pa_cons. - - * write.c (fixup_segment): Fix indention and open/close brace - problem. - - From Pete Hoogenboom: - * config/tc-hppa.c (md_atof): Return a NULL on success rather than - an empty string. - - * config/tc-hppa.c (pa_parse_space_stmt): Advance - input_line_poitner when an invalid argument is encountered. - -Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-a29k.c (md_begin): When opcodes are mashed together in - the table, require that the one without bit 0x1000000 set come - first. Require further that it be case 'b' or 'P'. The a29k - opcode table already meets these constraints. - (machine_ip): When handling case 'i' or 'A', make sure that the - appropriate opcode really exists by looking at the next entry in - the opcode table. - -Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative - fixups. Add 6 for long 7.3 case, 2 for short 7.2 case. - - * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number - after a .ent directive. - - * config/tc-mips.c (mips_ip): Handle '>' case (shift amount - between 32 and 63 for double shift instruction). Do & 0x1f rather - than % 32. - (printInsn): Handle '>'. - -Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol - number in the right place. Untested. Probably does not work for - cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney). - - * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses - an illegal offset of 0 or -1. - - * config/obj-elf.c (obj_elf_init_stab_section): Align .stab - section to a longword boundary. - -Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com) - - * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS. - - From Jeff Law: - * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND -> - HPPA_R_ADDEND. - -Mon Oct 25 14:06:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Fix up membar argument handling. - -Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * config/tc-sh.c (build_Mbytes): Write the relocs to the correct - address. (md_assemble): Make error handling a bit more graceful. - (md_apply_fix): Don't warn on non aligned displacement. - - * config/tc-z8k.c (get_specific, built_bytes): Understand all the - aspects of lda. - -Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com) - - * doc/Makefile.in (install-info): Use "$<*" so VPATH will find - as.info* even if they're in $(srcdir) (e.g., for FSF - distributions). - - * write.c (write_relocs): For relocs that are pc_relative and - pcrel_offset and not partial_inplace, adjust reloc->addend to - compensate for a bfd_perform_relocation bug. - - * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code. - * config/tc-sparc.c: Ditto. - (tc_gen_reloc): Include fx_offset for pcrel fixups. - -Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com) - - * tc-mips.c (md_pseudo_table): Add dword pseudo op. - -Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * messages.c: replaced all variables called Format with 'format', - for consistency throughout - - * configure.in: handle mips*- instead of mips, mips*el for little - endian configurations - -Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * input-scrub.c (physical_input_file, logical_input_file, - physical_input_line, logical_input_line): Made static. - (as_where): Return current file name and line number, don't print - them out. - * messages.c (as_show_where): New static function. Other - functions use it instead of as_where. - (as_bad_internal): New static function. - (as_bad): Use as_bad_internal. - (as_bad_where): New function, like as_bad but taking a file name - and line number. - * as.h (as_bad_where): Declare. - (as_where): Change prototype for new arguments. - * write.h (fixS): Added fields fx_file and fx_line. - * write.c (fix_new_internal): Save file and line number in fix. - (fixup_segment): Use as_bad_where, not as_bad. - * input-file.c (f_in, file_name): Made static. - * cond.c (struct file_line): Just use file and line fields. - (s_else): Use as_where and as_bad_where, not get_file_line and - set_file_line. - (get_file_line, set_file_line): Removed. - * listing.c (listing_newline): Use as_where. - * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where. - * config/obj-ecoff.c (add_file): Use as_where. - * config/obj-elf.c (obj_elf_init_stab_section): Use as_where. - * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where. - * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert. - -Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com) - - * config/tc-m68k.h: Don't define REGISTER_PREFIX or - OPTIONAL_REGISTER_PREFIX if either is already defined. - - * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0". - - * configure.in: Set bfd_gas for all sparc targets. Added facility - for keeping or rejecting configurations still under development; - default is to assume production environment, and reject configs - still being worked on. Mark Elf configurations (except sparc and - i386) as developmental. Deleted cases matching some generic names - in favor of more specific names. (E.g., when we get Alpha - support, we'll still only support VMS for Vax.) - - * config/tc-sparc.h (md_end): New macro. - * config/tc-sparc.c (md_end): Function deleted. - (BFD_RELOC_*): Delete macros that used to help keep the non-bfd - version compiling. All sparc targets will use bfd now. - * tc.h (md_end): Don't declare if it's defined as a macro. - - Changes from Jeff Law and Peter Hoogenboom: - - * read.c (next_char_of_string): Limit octal character constants to - three digits. - - * config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn - against placing additional object-file dependent code here. Warn - against contaminating all of GAS with the internals of tc-hppa.c - through inclusion of tc-hppa.h. Delete all forward declarations - for functions only used within tc-hppa.c, likewise for structures, - variables, and #defines. Try to group OBJ_ELF and OBJ_SOM - conditional code in a few small places. - - * config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group - structures, global variables, forward declarations together. - Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM - conditional code -- try to group conditional code together - into a few places. Make all functions and variables which - are only used within tc-hppa.c static. PARAMize all functions. - Add comments to functions. Delete unused functions, variables, - #defines, etc. Delete unused members within structures. Delete - ldil;ble hacks -- it is believed they were installed to work - around old gas bugs. Avoid using mixed case for local - functions, variables, and structures. Fix formatting problems - not found by GNU-indent. Add FIXME notices for things which - should be worked on the near future. Delete lots of old - useless (1.36 PA-SOM) code. - - * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type - field of the fixS structure. Needed to build unwind - descriptors correctly. - - * write.c: (fixup_segment): Allow expressions such as - sym1-sym2+const as long as sym2 is $global$. - - * write.c (adjust_reloc_syms): Provide a hook so that a target - cpu configuration can reject certain relocation reductions. - * tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations - which do not involve function symbols. - - * config/tc-hppa.h: Reindent with GNU-indent. Delete references - to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused - STAB_FIXUP macro. - * config/tc-hppa.c: Likewise. - - * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead - of elf32_symbol_type. - (pa_export_args): Likewise. - (elf_hppa_final_processing): Likewise. - (pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed - anymore?) - (hppa_tc_make_sections): Do not declare elf_get_symtab_map any - ore. - - * config/tc-hppa.c: (md_section_align): Align all sections to - a multiple of the section alignment rather than always a - multiple of 8. - - * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation - bits are zero (eg they specify no relocations), then do not even - bother adding their entries to thesymextn section. - -Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc - option, which is used by the SunOS make default .s.o rule. - -Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com) - - * config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs - operating on upper 32 bits of immediate constants to lower-half - relocs with adjusted constants. - -Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable - m68k_aout_machtype. - * config/tc-m68k.c (omagic): Remove obsolete and unused variable. - (m68k_aout_machtype): New variable, if OBJ_AOUT. - (md_assemble): Initialize m68k_aout_machtype based on - current_architecture, if OBJ_AOUT. - (md_parse_option): Remove obsolete reference to omagic. - -Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op. - (s_option): Ignore .option O* and .option pic*. - (s_ent): Skip whitespace between symbol and optional digit. - (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx). - - * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape - characters in state 6. - * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are - hexidecimal digits. - - * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work - for ELF by hacking around bizarre bfd_perform_relocation behaviour - that I don't dare change. - -Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org) - - * config/tc-i386.c: (md_begin): Do not zero static arrays. Don't - call strchr for each character to see if it is a special char, - instead add a second loop over special_chars. Set alignment - of text, data and bss sections to 4. - (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be - used again. - (reloc): Don't return 8 and 16 bit non-PC relative relocations on - ELF, since the ELF object format does not have these type of - relocations. Change the abort into as as_bad and return - BFD_RELOC_NONE to silence compiler warnings. - (md_assemble): Keep track of the instruction size. Allow white - space between the $ and the constant for compatibility with older - gases and other assemblers. - (i386_operand): Skip spaces between $ and expression. - (tc_gen_reloc): Don't allow anything but 32 bit relocations on - ELF. Convert abort into an as_bad and assert into as_fatal. - -Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If - sub_symbolP is in the current segment, convert to a PC-relative - fixup and discard the symbol. - -Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol - for st_StaticProc just like st_Proc. - - * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT - so that OBJ_BOUT doesn't forget to adjust all the fragments in the - .bss section. - -Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c: If OBJ_ELF, include elf/mips.h. - (mips_regmask_frag): New static variable, if OBJ_ELF. - (md_begin): If OBJ_ELF, create .reginfo section and set - mips_regmask_frag to a frag. - (mips_elf_final_processing): New function, if OBJ_ELF. Set - mips_regmask_frag to register mask information. - * config/tc-mips.h (elf_tc_final_processing): New macro, defined - if OBJ_ELF. - -Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * messages.c (as_fatal): Use myname when printing messages. - - * config/tc-i960.c (md_begin): Use null pointer, not empty string, - as initial "return" value in case hashing isn't needed. - - * config/tc-a29k.c (md_atof): Return null, not empty string, on - success. - * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof), - config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof), - config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof), - config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto. - -Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - fix for pr 3571 - * config/tc-h8300.c (get_specific): Special action if 8 bit - address seen. (check_operand): Don't complain if truncating top - bits of an 8 bit address. (build_bytes): Allow an immediate and - an absolute in the same insn. - -Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * write.c (write_contents): Don't crash if seginfo is NULL. - - * config/obj-ecoff.c (ecoff_frob_file): Write out register masks - by modifying .reginfo section, not by directly modifying BFD - backend data. - -Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * config/ho-sunos.h: remove extern time declaration - -Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * messages.c (as_fatal): Do mention that it's the assembler that - got the fatal error. - -Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to - hold register masks. - (md_begin): Initialize them to zero. - (append_insn): Update mips_gprmask and mips_cprmask. Also add - register variables pinfo and prev_pinfo. - * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare. - * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask - and cprmask from mips_gprmask and mips_cprmask. - - * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF. - * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF. - (various): Change all references to GP references to apply if - GPOPT, not if OBJ_ECOFF. - (s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata - instead of .rdata. If OBJ_ELF, set section flags for .rodata and - .sdata sections. - (s_frame, s_loc, s_mask): Comment out entire functions, rather - than just body. They're not used anyhow. - * configure.in: Set cpu_type to mips for mips*. Accept - mips-*-elfl* and mips-*-elf*. - -Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org) - - * config/obj-elf.c (obj_elf_common): Allow the alignment field to - not be specified. - -Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (cons_fix_new_mips): New function. Turn - BFD_RELOC_64 into BFD_RELOC_32. - * config/tc-mips.h (TC_CONS_FIX_NEW): Define. - (cons_fix_new_mips): Declare. - - Changes to let cons handle bignums like general expressions. - * expr.h (expressionS): New field X_unsigned. - * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for - unary minus case. - (expr) Fix typo resultP to right if missing operand. Set - X_unsigned to 1 when building new expression. - * read.c (potable): Make "octa" and "quad" call cons, not - big_cons. - (cons): Handle bignums. If given an O_constant (small integer) to - fill a big space, turn it into a bignum. - (parse_bitfield_cons): Set X_unsigned field. - (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons): - Removed. - * read.h (big_cons): Remove prototype. - * symbols.c (resolve_symbol_value): Don't give a warning if a - symbol in expr_section can not be resolved. - (S_SET_VALUE): Clear X_unsigned. - * write.c (write_object_file): If resolve_symbol_value failed on a - symbol we are writing out, give a warning. - * config/tc-h8500.c (parse_reglist): Set X_unsigned. - * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to - call pa_cons, not pa_big_cons. - (pa_big_cons): Remove. - * config/tc-hppa.h (pa_big_cons): Remove declaration. - * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons, - not big_cons. - -Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * doc/as.texinfo (Copying): new node, to handle the recent changes - in the texinfo/gpl.texinfo file - -Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * read.c (big_cons): Handle "0" correctly. - - * config/tc-mips.c (md_begin): Set target_big_endian correctly. - -Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should - have pc-relative fixup. - (md_parse_option): Move "-k" case down near "-pic" case. - - * configure.in: Alphabetize list of cpu type alternatives. Enable - OS values of "linux*elf*" and "linux*coff*" to select those - formats, with linux emulation. Don't bother checking for upper- - or mixed-case versions of "ose". - -Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * config/z8k.c (md_pseudo_table): add "unseg". - -Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes - found while extending the dissassembler. - -Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com) - - * configure.in: Split i386 LynxOS out from other coff targets, - add a specific Lynx emulation. - Add m68k LynxOS target. - * config/tc-i386.c: Define specific Lynx target format. - * config/tc-m68k.c: Define specific Lynx target format. - * config/te-lynx.h: New file. - - * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be - "coff-{i386,m68k}" if TARGET_FORMAT already defined. - (INIT_STAB_SECTION): Define. - * config/obj-coffbfd.c: Include . - (write_object_file): Look for .stab sections and call - adjust_stab_section. - (adjust_stab_section): New function, fills in the first symbol - of a stab section with number of symbols and string table size. - (obj_coff_init_stab_section): New function, creates the initial - symbol for a stab section. - -Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/atof-vax.c (md_atof): Return null on success instead of - empty string. - * config/atof-tahoe.c (md_atof): Ditto. - * read.c (float_cons): Expect a null pointer for success, not an - empty string. - - * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer - on success, instead of empty string. All callers changed. - - * config/tc-vax.c: Use PARAMS in declarations. - (vip_op): Use NULL instead of empty string for success in error - and warning fields. - -Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols - in different defined segments. - - * write.c (relax_segment): Localize "aim" variable. If - DIFF_EXPR_OK, don't impose checks on symbol segment types. - (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current - segment, convert to a PC-relative fixup and discard the symbol. - - * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored. - (md_parse_option) [TE_SUN3]: Set it for "-k". - (m68k_ip): Generate proper fixup for mode 7.3. - * config/tc-m68k.h (DIFF_EXPR_OK): Define. - -Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved - earlier in the file. - (insop, add_exp): Now defined as functions, for readability. - (insop): Now takes two arguments; callers changed. - -Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * config/tc-m88k.c (get_o6): new function. - (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg, - get_vec9, getval, get_pcr, calcop, match_name): make static and - prototype. - (s_file): remove extraneous forward decl. - (md_begin): add const to retval decl. - (calcop): cope with instructions without arguments. Handle 'o' - type argument, the o6 field of the prot insn. - (md_estimate_size_before_relax): return a dummy value. - - * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is - in bits 10 through 7. flt.[dxs]s requires an r register in the - second argument. New instruction lda.x. New instruction muls - (alias for mul). - -Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Makefile.in (distclean): Recurse like clean. - * doc/Makefile.in (distclean): New target. - - * config/tc-mips.c (md_begin): Set BFD architecture and machine - based on MIPS ISA level. - -Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * as.c (main): "exhausted", not "exhuasted". - - * struc-symbol.h (struct symbol): Add sy_used_in_reloc field. - * write.c (adjust_reloc_syms): Set sy_used_in_reloc. - (write_object_file): Never strip symbols with sy_used_in_reloc - set. - - * config/obj-elf.c (obj_elf_section): Rewrote to handle both - Solaris and SVR4 style .section pseudo-ops. - (obj_elf_ident): Set SEC_READONLY for .comment section. - * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're - generating a reloc, don't apply a fix. - -Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-coffbfd.c (relax_align): Now static. - -Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * read.c (get_stab_string_offset): Make non-static. Make - arguments const. Don't align strings to 4 byte boundaries. - * read.h: Declare get_stab_string_offset. - * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as - SEC_LOAD for progbits section. - (obj_elf_init_stab_section): New function. - (adjust_stab_sections): Add casts to avoid warnings. - * config/obj-elf.h (INIT_STAB_SECTION): Call - obj_elf_init_stab_section. - (OBJ_PROCESS_STAB): Removed definition. - -Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-elf.h (S_GET_SIZE): Define. - (obj_frob_forward_symbol): Define. - * config/tc-i386.c (line_comment_chars): Initialize in all cases. - -Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * tc.h: Declare tc_gen_reloc differently depending upon - RELOC_EXPANSION_POSSIBLE. - * config/obj-elf.c (obj_elf_section): Only set flags when first - creating the section. - -Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (append_insn): Don't swap a trap instruction - with a branch. - -Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions; - set previous_section and previous_subsection and then call s_data - and s_text, respectively. - (obj_pseudo_table): Add data and text. - (obj_elf_section): Add SEC_LOAD to default initialization of - flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as - SEC_ALLOC for "alloc" string. Don't bother trying to find the - section; just use subseg_new. - - * read.c (change_to_section): Removed. This is now done by - subseg_new. - (get_stab_string_offset): Rearranged somewhat. Create the section - using subseg_new. Store the string index in seg_info, rather than - in a static variable. Force the first string to be empty. Use - frag_more rather than FRAG_APPEND_1_CHAR. - (s_stab_generic): Rewrote. - * subsegs.h (segment_info_type): Added stabu union. - * subsegs.c (subseg_new): Initialize stab_string_size to 0. - * config/obj-aout.c: Don't include aout/stab_gnu.h. - (obj_aout_stab, obj_aout_desc): Removed. - (obj_pseudo_table): Removed desc and stabX entries. - * config/obj-bout.c: Same changes as config/obj-aout.c. - * config/obj-bout.h (S_SET_TYPE): Define. - (tc_bout_fix_to_chars): Declare. - * config/obj-coff.c (obj_coff_stab): Removed. - (obj_pseudo_table): Removed desc and stabX entries. - * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define. - * config/obj-coffbfd.c (current_stab_symbol): Removed. - * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type, - n_other, n_desc and n_value fields. - (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed. - (MAKE_STAB_SYMBOL): Removed. - * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab. - Changed arguments and removed parsing code. - (obj_pseudo_table): Removed stabX entries. - * config/obj-ecoff.h (ecoff_stab): Declare. - (OBJ_PROCESS_STAB): Define. - * config/obj-elf.c: Don't include aout/stab_gnu.h. - (obj_elf_stab, obj_elf_xstab, obj_elf_desc, - elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic): - Removed. - (obj_pseudo_table): Removed desc, stabX and xstabs entries. - (obj_elf_version): Use subseg_new, not bfd_make_section. Don't - set SEC_LOAD for .note section. - (adjust_stab_sections): Get frag pointer from seg_info, rather - than looking through frags. - * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed. - (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB): - Define. - * config/obj-vms.c (obj_aout_stab): Removed. - (obj_pseudo_table): Removed stabX entries. - * config/obj-vms.h (S_SET_TYPE): Define. - - * as.h: Declare listing. - * read.c: Don't declare listing. - (emit_expr): Cast fix_new_exp argument. - (parse_bitfield_cons): Correct printf format. - * symbols.c (symbol_new): Add cast to avoid warning. - * write.h: Declare text_last_frag and data_last_frag. - * config/obj-bout.c (obj_bout_line): Added dummy argument. - * config/obj-coffbfd.c: Add some casts to avoid warnings. - * config/tc-a29k.c: Likewise. - * config/tc-i960.c: Likewise. Also fully bracket structure - initializations, fix printf formats, and remove unused variables. - -Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * read.c (s_desc): Only compile and use if S_SET_DESC is defined. - * struc-symbol.h: Declare verify_symbol_chain and - verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS. - * symbols.c (verify_symbol_chain): Removed useless expression. - * write.c (headers, the_object_file): Only use if not - BFD_ASSEMBLER and not BFD. - (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or - not BFD. - (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and - not OBJ_AOUT). - * write.h: Declare relax_segment. - * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made - static. - (stack_top): Commented out, since it's not used. - Fixed up pseudo-op functions to take an ignored int argument. - (size_section): Added default BAD_CASE to switch. - Changed bzero calls to memset. - * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME - (s), not on s itself. - * config/tc-a29k.c (s_use): Take ignored int argument. Only - define if OBJ_COFF is not defined. - * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make - argument signed again. - * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int - argument. - (m68k_ip): Fully bracket initialization of archs. - Correct several formats for __LINE__ to be %d rather than %s. - (init_table): Fully bracket initialization. - Cast values larger than 0x7f assigned to fr_opcode to char. - - * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set. - 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. - -Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com) - - * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'. - -Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-elf.h (S_SET_SIZE): Actually set the size. - - Gcc lint. - * Added a number of casts to function calls. - * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant, - operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY, - read_a_source_file, s_align_bytes, demand_empty_rest_of_line, - ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore), - read.h (is_name_beginner, is_part_of_name), config/obj-elf.c - (obj_elf_section), config/tc-i386.c (parse_register), - config/tc-sparc.c (isoctal, s_proc): Cast char - array indices to unsigned char. - * app.c (process_escape): Make static. Add prototype. Change - argument from char to int. - * as.c: Include output-file.h for prototypes. Comment out unused - function got_sig. - * Makefile.in (as.o): Depend on output-file.h. - * as.h (BAD_CASE): Cast val argument to long, and use %ld. - (pseudo_typeS): Add prototype to poc_handler field. - (print_version_id): Add prototype. - (xmalloc, xrealloc): Change size arguments to unsigned long. - (do_scrub_next_char): Add prototypes for function arguments. - (had_errors, had_warnings, scrub_from_file): Remove duplicate - declarations. - * atof-generic.c (atof_generic): Make size variables unsigned. - * cond.c (ignore_input): Removed unused local variable ptr. - * expr.c (floating_constant, integer_constant): Make static. Add - prototypes. - * flonum-copy.c (flonum_copy): Make size variables unsigned. - * frags.h: Add prototype for frag_init. - * hash.h, hash.c: Change hash values from char * to PTR, make hash - strings const, make returned error strings const char *. Added - prototypes for functions. - * input-file.h, input-file.c (input_file_buffer_size): Return - unsigned int. - * input-scrub.c (buffer_length): Make unsigned. - (input_scrub_push, input_scrub_pop): Make static. - * listing.c (list_symbol_table): Cast sprintf argument to unsigned - long and use %lx. Print name of segment rather than address of - structure. - (listing_list, listing_title): Change argument to int. - (listing_eject, listing_flags, listing_psize): Add int argument. - * listing.h: Corresponding declaration changes. - * obj.h (obj_emit_symbols): Rename prototype argument to avoid - shadowing. - * read.h: Change get_absolute_expression prototype to return - offsetT. Add prototype for next_char_of_string. Various - prototype changes. - * read.c: Remove prototype for next_char_of_string. - (pobegin): Make errtxt const. Make new_length, tmp_len and num - unsigned. - (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill, - s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument. - Change all callers. - (s_comm): Change temp from valueT to offsetT. Cast to long when - printing and use %ld (only for error messages anyhow). - (s_long, s_int): Remove unused functions. - (cons): Change argument to int. - (emit_expr): Use %lx when printing longs. - (get_absolute_expression): Return offsetT, not long. - (get_stab_string_offset): Comment out unless - SEPARATE_STAB_SECTIONS. - (s_stab_generic): Remove unused offset. Define seg_is_new only - if SEPARATE_STAB_SECTIONS. Use toP only in local block. - * struc-symbol.h (verify_symbol_chain_2): Add prototype. - * symbols.c: Remove nested comment. - (symbol_new): Rename value to valu. - (colon): Use %ld and cast to long in error message. - * symbols.h: Remove duplicate verify_symbol_chain declaration. - * tc.h: Remove unused md_emit_relocations declaration. - (tc_gen_reloc): Add declaration. - * write.c (cvt_frag_to_fill): Change first argument name depending - on BFD_ASSEMBLER. - (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc - declarations. Make n unsigned. - (write_contents): Remove unused i, n, relocs, fixp. Rename frags - to f to avoid shadowing. - (write_object_file): Define fragP only if not BFD_ASSEMBLER or not - WORKING_DOT_WORD. Remove unused keep. Only declare punt and - punt_it if they will be used. Make i and n unsigned. - (fixup_segment): Cast to long and use %ld in error message. - * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned. - * config/obj-aout.h: Remove nested comment. Add prototype for - obj_aout_frob_symbol. - (obj_aout_line, obj_aout_desc): Add int argument. - * config/obj-ecoff.c: Changed build routines to use an unsigned - offset. - (add_string): Make len unsigned long. - (obj_ecoff_stab): Use %lu in error message. - * config/obj-elf.c (obj_elf_common): Comment out unused label - allocate_bss. - (obj_elf_frob_symbol): Return 0 (currently broken). - (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type, - obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common, - obj_elf_line, obj_elf_previous): Add int argument. - (obj_elf_write_symbol_p): Make static. - * config/obj-elf.h (obj_elf_write_symbol): Add prototype. - * config/tc-hppa.h: Remove declarations of functions declared in - read.h. - * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT. - (s_bss): Add int argument. - (fits_in_signed_byte, smallest_imm_type): Make argument unsigned. - (dummy): Remove unused function. - (md_assemble): Rename local o to op to avoid shadowing. - (tc_gen_reloc): Rename local reloc to rel to avoid shadowing. - * config/tc-m68k.c (s_data1, s_data2): Add int argument. - * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use - %ld in error messages. - * config/tc-sparc.c: Remove duplicate declarations. - (getExpression): Rewrite condition to avoid empty conditional - body. - (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int - argument. - -Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - Changes from Jeff Law: - - * config/tc-hppa.c (md_assemble): Fix typo. - (pa_ip): Delete unused variables and labels. Do not check for - unsigned values being < 0, it can't happen. - (is_same_frag): Return a value in recursive call case. - (pa_callinfo): Delete unused variables and labels. - (pa_comm): Likewise. - (pa_copyright): Likewise. - (pa_export): Likewise. - (pa_import): Likewise. - (pa_param): Likewise. - (pa_space): Likewise. - (pa_subspace): Likewise. - -Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * read.c (get_stab_string_offset, s_stab_generic): If - BFD_ASSEMBLER, call subseg_set rather than subseg_new. - -Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using - default flag values. - -Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com) - - * read.c: (change_to_section): Don't include body if not MANY_SECTIONS. - - * read.c: (s_stab, s_xstab, s_desc): New functions to parse - various stab-related directives. - * read.h: (s_stab, s_xstab, s_desc): New function prototypes. - * write.c: (merge_data_into_text): Fix ifdef tangle. - * config/obj-coffbfd.c (current_stab_symbol): Fake symbol - for stab reader to use. - * config/obj-coffbfdh.h (obj_symbol_type): Added fields for - stab reader, macros to access. - -Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-elf.h (elf_symbol): No longer special-cased on - sparcv9, since elf_symbol_type is now independent of size. - - * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type. - - * config/tc-hppa.h (struct default_subspace_dict, struct - default_space_dict): Field "sort" is now unsigned char. - - * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align - columns for easier reading. - (bcmp, index): Deleted USG-specific definitions. Should be dealt - with in ho-*.h, or in libiberty. Changed mention of index to - strchr. - (label_symbolP, label_symbol_defined, callinfo_found, - within_entry_exit, exit_processing_complete, within_procedure, - pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc, - label_symbols_rootP, pa_get_label, pa_label_is_defined, - pa_undefine_label): Now static. - (movers): Now const, in addition to pointing to const data. - * config/tc-hppa.h (label_symbolS_rootP, pa_get_label, - pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc): - Delete declarations. - - Merged more changes from Jeff Law and Pete Hoogenboom: - - * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove - entries for .stab and .stabstr. - - * config/obj-elf.c: (elf_stab_symbol_string): Set the - SEC_LOAD attribute for the .stabstr section. - (obj_elf_stab_generic): Set the SEC_LOAD attribute for the - .stab section. - (obj_elf_stab_generic): Change '#if 1' to '#if 0'. - (obj_elf_stab_generic): Incorrect byte count on call to - md_number_to_chars function. - - * config/tc-hppa.c (hppa_tc_symbol): Static functions need - argument relocation bits too. - - * config/tc-hppa.c (pa_stringer): Correctly handle escaping - characters which should appear unaltered in the output string (for - example an escaped double-quote). - - * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always - initialize name. - (pa_parse_neg_cmpsub_cmpltr): Likewise. - (pa_parse_nonneg_add_cmpltr): Likewise. - (pa_parse_neg_add_cmpltr): Likewise. - - * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype - for now. - (cons_fix_new_hppa): Likewise. - * config/tc-hppa.c (md_apply_fix): Fix type of valp to match - prototype. - - * config/tc-hppa.c: Include libhppa.h. - - * config/tc-hppa.h: Delete extern declarations of functions - found in libhppa.h. - - * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef - OBJ_ELF conditionals. - * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels - on the PA. - -Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (macro_build): Accept 'z', and ignore it. - (macro): Use "z,s,t" for div instructions to match corresponding - change in opcode table. - (mips_ip): Added 'z'--must be zero register. - -Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare - tc_gen_reloc correctly. - - * configure.in: Use "case" instead of "if" when possible. Rewrote - Makefile editing to reduce work done. Treat "hppa*" as "hppa". - -Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for - section type of data. 'd' seems to be used for m88k. - -Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons, - s_mips_space): Set insn_label to NULL to avoid changing it at the - next .align statement. - (append_insn): Don't swap jal with instruction that sets the - register that jal sets. - -Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * configure.in: recognize m88110. - -Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - Merged changes from Pete Hoogenboom and Jeff Law at Utah: - * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should - not be on for .hppa_unwind. - (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS. - (pa_param): New function to handle .PARAM directives. - (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr - functions. Handle '|' for movb; allow movb,n. - (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless - version. Handle cases where no completer exists for - comb,n or addb,n. - (pa_parse_neg_cmpsub_cmpltr): Handle cases where no - completer exists for comb,n or addb,n. Make logic - mirror that of pa_parse_nonneg_cmpsub_cmpltr. - (pa_parse_nonneg_add_cmpltr): Likewise. - (pa_parse_neg_add_cmpltr): Likewise. - * tc-hppa.h (pa_param): Declare. - -Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static. - Added forward declaration. - - Merged changes from Pete Hoogenboom and Jeff Law at Utah: - - * config/obj-elf.c (elf_frob_file): Arguments were incorrect on - call to elf_tc_make_sections. - (obj_elf_version): A .note section shouldn't have the SEC_ALLOC - attribute. - - * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to - handle symbol extension sections. - - * config/tc-hppa.c (pa_build_symextn_section): New function to - create a symbol extension section. - (pa_export_args): Make call to pa_build_symextn_section. - (hppa_tc_symbol, hppa_tc_make_sections, - hppa_tc_make_symextn_section): New functions. - * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections - macros. - - * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the - BFD_ASSEMBLER branch as well. - - * config/tc-hppa.h: If ELF is the target object format, define - some ELF- and hppa-specific types and constants. - - * config/tc-hppa.c (getExpression): Fix a typo. - - * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine - if a `=' is part of an instruction. - (read_a_source_file): Handle case where end-of-line markers are - also used within instructions. - * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define. - - * config/tc-hppa.c (md_apply_fix_1): Keep relocations for - out-of-range branches/'calls using "bl" or calls which may need - argument relocation stubs. Do not need/keep relocations for - conditional branches. - (elf_hppa_final_processing): Fix calculation of function size. - - * config/obj-elf.c (obj_elf_version): Mark .note section as - READONLY. - - * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the - address of exp, to expression. - (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on. - (md_apply_fix_1): Delete unwanted comments. - (process_exit): Symbols marking the end of a function are always - BSF_LOCAL. - - * config/tc-hppa.c: Include elf32-hppa.h from BFD tree. - (pa_space): Declare and initialize gdb_section. - - * config/obj-elf.c (elf_frob_file): Change - elf_tc_final_processing_hook to elf_tc_final_processing. - - * config/tc-hppa.c (fix_new_hppa): Fix argument list to match - argument type declarations. - (getExpression): Fix typo. - (pa_export_args): Change elf_symbol_type to elf32_symbol_type. - (elf_hppa_final_processing): Likewise. Name changed from - elf_hppa_final_processing_hook. - (start_symbol_root, start_symbol_last): Deleted. - - * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo. - - * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to - avoid changing include ordering. - - * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'. - -Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (set_at): Added unsignedp argument. Use - load_register. - (set_at_unsigned): Removed; changed callers to use set_at. - (load_register): Removed unused ip argument. Changed callers. - (append_insn): Don't swap branch and branch likely. - (macro_build): Handle 'u'. - (load_register): Handle 64 bit constants. - (macro): Added M_DABS, removed M_ABSU. Numerous changes to - support 64 bit constants. - (mips_ip): Use hex constants in range checks for clarity. - (md_number_to_chars): Support 8 byte values. - -Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * config/tc-m88k.h: updated copyrights. - (TC_CONS_RELOC): declare to be RELOC_32. - -Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_isa): New static variable. - (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity - check macros. Set text alignment and GP size here. - (md_assemble): Don't set text alignment and GP size here. - (append_insn): Don't insert NOPs for load delays if mips_isa >= 2. - Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add - a NOP after a branch likely. - (mips_emit_delays): Don't insert NOPS for load delays if mips_isa - >= 2. - (macro): Support r6000 and r4000 macros. - (mips_ip): Check insn ISA level against mips_isa before using it. - Added 'x' case for ignored register. - (md_parse_option): Handle -mipsN and -mcpu=XX. - -Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero". - -Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (s_local): Function moved and renamed... - * config/obj-elf.c (obj_elf_local): ...to here. - * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c - (obj_pseudo_table): Move handling of ".local". - - * tc.h (md_parse_option): Don't declare if defined as a macro. - - * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as - BFD_RELOC_NONE. - (md_parse_option): New macro, converted from function. - * config/tc-i386.c (md_parse_option): Function deleted. - (comment_chars) [OBJ_ELF]: Include "/". - (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/". - (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler - warning. - (md_assemble, md_estimate_size_before_relax, md_create_long_jump): - Call reloc for fix_new type, or use correct enumerator, instead of - always using NO_RELOC. - (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for - tests for valid section. - (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start - address. - (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with - symbol, compensate for location of reloc. - (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define - to return zero. - -Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h. - (obj_elf_weak): New function. - (obj_pseudo_table): Handle ".weak". - (obj_elf_section): If section directive includes a string, ignore - it for now. Accept "progbits" flag. - (obj_elf_type): Accept `@' before flag name. - - * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)' - condition. - (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather - than checking for bfd_com_section directly. - (fixup_segment): Simplify range check. - (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition - test. - - * symbols.h (S_SET_WEAK): Declare. - * symbols.c (S_SET_WEAK): New function. - (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT, - it's not a separate flag any more. Clear BSF_WEAK. - - * read.c (potable): Treat "string" like "asciz". - -Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (append_insn): Don't swap branch instructions - if .set nobopt or .set volatile. - (gp_reference): .lit8 and .lit4 are accessed via the GP register. - (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD. - (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point. - * config/obj-ecoff.c: Renamed some variables to avoid shadow - warnings. - -Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * config/obj-coff.h (S_IS_COMMON): add missing backslash - - * configure.in (z8k-*-{coff,sim}): use coffbfd for this target - -Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (mips_ip): Suggested by - davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic - names for 'E' and 'G' argument types (coprocessor registers) and - don't warn if $1 is used on the coprocessor. - (macro): Handle M_{L,S}WC{0,2,3}_AB correctly. - -Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com) - - * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values. - * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle - BFD_RELOC_16. - * config/tc-sparc.h (WORKING_DOT_WORD): Define. - -Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is - defined or BFD is not. - (relax_and_size_all_segments): Declare local variable fragP. - -Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in - bytes with real values, not zeros. - -Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested) - targets, using ecoff and mips-big. - - * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David - Johnson): Added case for 'C' for coprocessor instruction codes. - -Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in - bytes with real values, not zeros. - (md_pseudo_table): Call cons for .uaxword. - - * config/obj-elf.c (obj_pseudo_table): Handle ".8byte". - - * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions. - - * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG - for verifying symbol chain. - (merge_data_into_text, relax_and_size_all_segments): New - functions, split out from write_object_file. - -Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If - debug section is new, allocate an extra 12 bytes at its start. If - ".stabs" type is N_SO, fill in filename symbol field of that first - entry. Return early if "goof", to simplify later code slightly. - (adjust_stab_sections): New function. - (elf_frob_file): Apply adjust_stab_sections to each section. - - * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer - static. - * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare. - * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection" - and "popsection", and call cons for "uaword" and "uahalf". - - * config/obj-elf.c (obj_elf_version): Use English in error - messages. - -Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the - swapping routines and external structure sizes via the - ecoff_backend information. No longer includes coff/mips.h. - -Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-ecoff.c (get_tag): Save tag name in permanent memory - and in hash_ptr->string. - - * app.c (do_scrub_next_char): Reset state to 0 after .appline if - file name is not seen. - -Mon Aug 2 11:51:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case, - parallel to BFD_RELOC_32. - (tc_gen_reloc): Accept BFD_RELOC_64. - -Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com) - - * write.c: Don't use short int in a prototype. - - * expr.c (operand): Make return value simply depend on contents of - returned expression. - -Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers - -Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * config/ho-sunos.h: remove some old function decls that conflict - w/ ANSI, and which weren't needed anyway - -Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol, - and disabled since it breaks Ian's new symbol-value code. - - * expr.c (integer_constant): Accept more digits if BFD64. - -Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-m68k.c (m68k_ip): If we have a normal constant when we - expect a bignum, turn it into a bignum. Output extra zeroes - before a short bignum, rather than after. - -Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * symbols.c (symbol_new): Conditionalize verify_symbol_chain call - on DEBUG_SYMS, not DEBUG. - (symbol_remove): Likewise. - (symbol_insert): Likewise. - -Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-mips.c (mips_optimize): New static variable. - (append_insn): If mips_optimize == 0, always insert NOP - instructions. If mips_optimize < 2, don't swap branches. - (md_parse_option): If -Ox or -gx, set mips_optimize accordingly. - -Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * Makefile.in (clean): if testsuite does not exist, then skip it. - -Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-mips.c (prev_insn_unreordered, - prev_prev_insn_unreordered): New static variables. - (append_insn): Don't swap branch instruction if - prev_prev_insn_unreordered (see comment). - (mips_no_prev_insn): Clear the unreordered variables. - (s_mipsset): When turning on reordering, set the unreordered - variables. - -Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini" - are also magic, and have special default flag settings. - (obj_elf_frob_symbol): Since the return value from this function - isn't used, don't bother calling obj_elf_write_symbol_p, since it - doesn't accomplish anything else. - - * config/tc-sparc.c (md_section_align): Round up section size only - for a.out format. - - * symbols.c: Don't define DEBUG by default. - -Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com) - - * write.c (fix_new_exp): Handle a O_uminus expression. - - * expr.c (expr): Don't let absolute_section override - undefined_section for the return value. - - * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a - pseudo-op with a poc_handler field of NULL, ignore it and treat it - as an instruction instead. - * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL - poc_handler field. - - * config/tc-h8500.c (md_begin): Use a local variable when - initializing md_relax_table to avoid warnings about modifying a - supposedly const data structure. - -Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER - is defined. - -Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com) - - * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv. - * configure.in (case ${generic_target}): Add i[34]86-*-sysv4* - case to set obj_format=elf. Must go before i386-*-sysv* case that - sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and - *-*-solaris case, and move to before *-sysv* case that wants to - set obj_format to coff. - * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to - 'exp->X_op'. - * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for - BFD_ASSEMBLER case. - -Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-aout.c: Include aout/aout64.h. - (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor - symbol, so that BFD doesn't tamper with the type. - - * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look - up opcodes as pseudo-ops even if they don't start with '.'. - * config/tc-m88k.h (NO_PSEUDO_DOT): Define. - * config/tc-m88k.c (md_assemble): Removed special pseudo-op - handling. - (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc. - Output the low 16 bits for RELOC_HI16, not the high 16 bits. - * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the - r_offset field of the reloc to the fixup offset. - (fixup_segments): If TC_M88K, don't warn about fixup overflows. - * doc/as.texinfo: Minor updates. - -Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Extensive changes to permit symbols to contain any expression - type and to delay the computation of the expression until the - value is actually needed. This permits setting symbols to values - calculated based on object code size. Expressions were changed to - no longer be in a section, to stop the overloading of segment and - expression type that previously occurred. - - * as.c (big_section, pass1_section, diff_section, absent_section): - Removed. - (expr_section): Added (used for dummy symbols which hold - intermediate expression values). - (perform_an_assembly_pass): Create expr_section, do not create the - sections now removed. - * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and - SEG_DIFFERENCE. Added SEG_EXPR. - (SEG_NORMAL): Corresponding changes. - * subsegs.c (seg_name, subsegs_begin): Changed accordingly. - * write.c (write_object_file): Ditto. - * config/obj-aout.c (seg_N_TYPE): Ditto. - * config/obj-bout.c (seg_N_TYPE): Ditto. - * config/obj-coff.c (seg_N_TYPE): Ditto. - * config/obj-coffbfd.c (seg_N_TYPE): Ditto. - * config/obj-vms.c (seg_N_TYPE): Ditto. - - * expr.h (operatorT): Moved in from expr.c, added some values. - (expressionS): Added X_op field, removed X_seg field; renamed - X_subtract_symbol to X_op_symbol. - * expr.c: Extensive changes to assign expression types rather than - sections and to simplify the parsing. - * write.c (fix_new_internal): New static function. - (fix_new): Removed sub_symbol argument. - (fix_new_exp): New function, takes expression argument. - * write.h: Prototype changes for fix_new and fix_new_exp. - * cond.c (s_if): Changed accordingly. - * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons, - parse_repeat_cons, get_segmented_expression, - get_known_segmented_expression, get_absolute_expression): Ditto. - * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE): - Ditto. - * write.c (write_object_file): Ditto. - * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto. - * config/obj-coffbfd.c (obj_coff_def, obj_coff_val, - obj_coff_endef, yank_symbols): Ditto. - * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto. - * config/tc-a29k.c (md_assemble, parse_operand, machine_ip, - print_insn, md_operand): Ditto. - * config/tc-h8300.c (parse_exp, colonmod24, check_operand, - do_a_fix_imm, build_bytes): Ditto. - * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist, - get_specific, check, insert, md_convert_frag): Ditto. - * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa, - md_assemble, pa_ip, getExpression, getAbsoluteExpression, - evaluateAbsolute, pa_build_unwind_subspace, pa_entry, - process_exit): Ditto. - * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative, - is_complex): Ditto. - * config/tc-i386.c (pe, md_assemble, i386_operand, - md_estimate_size_before_relax, md_create_long_jump): Ditto. - * config/tc-i860.c (md_assemble, getExpression, print_insn): - Ditto. - * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag, - get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc, - i960_handle_align): Ditto. - * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op, - subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1, - md_estimate_size_before_relax, md_create_long_jump, get_num): - Ditto. - * config/tc-m88k.c (md_assemble, get_imm16, get_pcr, - md_create_short_jump, md_create_long_jump): Ditto. - * config/tc-mips.c (md_assemble, append_insn, gp_reference, - macro_build, macro, my_getExpression): Ditto. Also removed - get_optional_absolute_expression; just use get_absolute_expression - instead. - * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif, - fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto. - * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto. - * config/tc-sh.c (parse_exp, check, insert, md_convert_frag): - Ditto. - * config/tc-sparc.c (md_assemble, sparc_ip, getExpression, - print_insn): Ditto. - * config/tc-tahoe.c (struct top, md_estimate_size_before_relax, - tip_op, md_assemble): Ditto. - * config/tc-vax.c (seg_of_operand, md_assemble, - md_estimate_size_before_relax, md_create_long_jump): Ditto. - * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto. - -Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * configure.in: i386-lynx is the same as i386-coff - -Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com) - - * config/obj-elf.c (obj_elf_previous): New function. - (previous_section, previous_subsection): New vars. - (obj_elf_section): Save current place in case DWARF code wants us - to pop back to it. Handle unquoted section name as well as quoted - section name. Don't crash on invalid strings. - (obj_pseudo_table): Handle new pseudos "previous", "2byte", and - "4byte". - - * config/obj-elf.h: Don't include struc-symbol.h. - (obj_elf_frob_symbol): Declare arg as struct symbol *. - - * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with - "L" or "_.L_". - - * write.c (write_relocs): New function, split off from - write_contents. Use memset instead of bzero. - (write_object_file): Apply write_relocs to each section before - applying write_contents. - - * read.c (read_begin): Call obstack_begin with values closer to 1K - multiples. - (read_a_source_file, big_cons, float_cons): Use memcpy instead of - bcopy. - -Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when - calculating opP->isiz; this permits the expression size to be - determined as well, later on. - - * expr.c (clean_up_expression): Don't cancel the subtraction of - undefined symbols. - - * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R, - switch to text section rather than data section. - -Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand - expression (to take the pc-rel instruction itself into account) - before using the expression, instead of after. - -Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com) - - * read.c (float_cons): Simplified parsing logic. If - REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count. - - * symbols.c (colon): Rather than a special case for TC_HPPA, - use new macro tc_frob_label. - * config/tc-hppa.h (tc_frob_label): Define. - - * config/tc-mips.c: Many changes to support simple assembler - optimization. - (insn_label, prev_insn, prev_prev_insn, dummy_opcode, - prev_insn_valid, prev_insn_frag, prev_insn_where, - prev_insn_fixp, prev_insn_is_delay_slot): New static - variables. - (insn_uses_reg, mips_no_prev_insn, mips_emit_delays, - mips_align, s_stringer, s_mips_space): New static functions. - (mips_define_label): New global function. - (md_pseudo_table): For "ascii", "asciz", "asciiz", call - s_stringer. Changed argument to float_cons from 0 or 1 to 'f' - or 'd'. For "space" call s_mips_space. - (md_begin): Call mips_no_prev_insn. - (append_insn): Only insert necessary NOP instructions. - (macro): Call mips_emit_delays before setting mips_noreorder. - Increment and decrement mips_noreorder rather than using - save_reorder_condition. Don't bother to use noreorder in - M_L_DOB and M_L_DAB, since append_insn will not insert a NOP. - (md_atof): Handle floating point numbers correctly for both - big and little endian targets. - (s_align, s_cons): Call mips_align rather than frag_align. - (s_change_seg, s_cons): Call mips_emit_delays. - (s_float_cons): Let float_cons do the work. - (s_mipsset): Call mips_emit_delays when setting noreorder. - * config/tc-mips.h (tc_frob_label): Define to be - mips_define_label. - - * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs, - ecoff_frob_files): Consistently use S_GET_VALUE rather than - bfd_asymbol_value. Warn if taking difference of symbols in - different segments. - -Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes, - with a warning. - - * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust - by md_pcrel_from if we are relocating against a symbol (we still - need md_pcrel_from for a PC relative relocation within the same - file). - * config/tc-m88k.c (md_pcrel_from): Corrected return value. - (omagic): Removed unused variable. - - * Preliminary support for m88k-coff. - * configure.in (m88k-*-coff*): New target. Use coffbfd and - m88kcoff. - * config/m88kcoff.mt: New file. - * read.c (lex_type): New macro LEX_AT to set lex type of '@'. - (pseudo_set): Handle difference of symbols in different fragments - by saving the entire expression as the value of the symbol. - * symbols.c (resolve_symbol_value): Resolve difference - expressions. - * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept - "sdef" as a synonym for "def". - * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set - TARGET_FORMAT. - (S_IS_LOCAL): Any symbol which includes \001 in the name is local. - * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring - m88k port up to date, and to add COFF support. - -Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * Removed sy_forward and replaced it with an undefined expression - as the value of a symbol. - * struc-symbol.h (struct symbol): Removed sy_forward field. Added - sy_resolved and sy_resolving single bit fields. - * symbols.c (symbol_new): Don't initialize sy_forward field. - (resolve_symbol_value): New function to adjust symbol value by - fragment address, using recursion to resolve forward symbols. - * symbols.h: Added prototype for new function. - * read.c (pseudo_set): Set symbolP->sy_value to an undefined - expression rather than setting symbolP->sy_forward. - * write.c (write_object_file): Use resolve_symbol_value on - symbols, keeping the common case (the old behaviour) inline. - * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward - handling (subsumed by write.c change). - * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set - sy_value rather than sy_forward. - * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check - expression segment rather than sy_forward. - (yank_symbols): Use resolve_symbol_value. - (crawl_symbols): Removed extra pass over symbols. - * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c, - config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over - symbols which handled sy_forward; use resolve_symbol_value - instead. - * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol): - Define. - * config/obj-elf.c (obj_elf_stab_generic): Check expression - segment rather than sy_forward. - * config/obj-vms.c (VMS_Check_For_Main): Don't initialize - sy_forward; do initialize sy_resolved and sy_resolving. - * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward. - - * Changes to keep a full expression as the value of a symbol, not - 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. - -Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com) - - * configure.in: Make sparc64-*-aout* use bfd gas. - - * configure.in: Recognize h8300h. - -Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * config/tc-h8500.c (line_comment_chars): Add hash. - (parse_exp, skip_colonthing, build_bytes): Add support for - R_H8500_HIGH16 relocation type. - -Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com) - - * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an - attribute name. Handle `execinstr' attribute. - -Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if - there is another alternative for the instruction. - -Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) - - * doc/as.texinfo: updates for H8/300H - -Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com) - - * config/tc-i960.c (md_create_short_jump, md_create_long_jump, - md_number_to_chars, md_section_align): Adjusted to use valueT, - addressT, to match tc.h. - -Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (s_common): Revamp to handle both syntaxes, - independent of format. - -Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com) - - * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h. - -Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com) - - * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross - build; also recognize h8300-*-coff - -Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com) - - * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump - core just because somebody uses a label before it is defined. - - * config/mips-opcode.h: Moved to opcode/mips.h. - * config/tc-mips.c: Include opcode/mips.h rather than - mips-opcode.h. - (append_insn): An extra NOP is only needed after instructions - which set HI or LO, not after instructions which read it. - (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments. - (macro): cfc1 and ctc1 now take "t,G" rather than "t,d". - * config/tc-mips.h (struct mips_opcode): Don't define. - * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS): - Set to $(srcdir)/../include/opcode/mips.h. - - Get the MIPS assembler up to speed with other gas changes: - - * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol): - Removed; don't change the symbol value. - (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use - bfd_asymbol_value rather than S_GET_VALUE to include section - vma in symbol value. - (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF - doesn't output them. Set the vma of sections. - * config/obj-ecoff.h: Don't define obj_frob_symbol. - * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no - longer necessary. - (various): use valueT rather than long. - -Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.h (ENV64): Define for v9. - - * config/tc-sparc.c (s_xword): For numbers, call big_cons. - (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64 - relocation types. - (md_number_to_chars): Handle 8-byte value. - - * config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type. - - * as.h (valueT): Typedef moved here. - * struc-symbol.h (valueT): ...from here. - * write.c (write_object_file): Locals from_addr, to_addr, - table_addr are now addressT. Supply prototype for bfd_alloc for - now. - (fixup_segment): Local add_number is now valueT. Correct some - range-checking bugs. - (relax_align): Type `int' should be sufficient for the exponent. - (fix_new): Argument offset is type offsetT. Locals size and - newsize are type valueT. - * write.h (struct fix): Fields fx_offset and fx_addnumber are now - type valueT. - (fix_new): Fix prototype. - * symbols.c (symbol_new): Symbol value is type valueT. - (S_SET_VALUE, S_GET_VALUE): Likewise. - (S_IS_*): Specify int return type explicitly. - * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed - prototypes. - * read.c (s_comm): Values read are type valueT. - * expr.h (expressionS): Field X_add_number is an offsetT. - * tc.h (md_create_long_jump, md_create_short_jump, - md_section_align): Addresses are now type addressT. - (md_number_to_chars, md_apply_fix): Pass value as valueT. - * config/tc-i386.c (md_create_short_jump, md_create_long_jump, - md_number_to_chars, md_section_align): Adjusted. - * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make - gcc shut up. - (md_create_short_jump, md_create_long_jump, md_number_to_chars, - md_section_align): Adjusted. - - * config/tc-sparc.c (s_reserve): Permit use for other than a.out - format. - (s_common): Handle Solaris-2 version. - - * config/ho-generic.h (free): Returns void if __STDC__. - - * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file, - elf_file_symbol): Declare. - - * expr.c (floating_constant, integer_constant): Now return void. - -Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com) - - * configure.in: Match on sparc*-fujitsu-none rather than - sparclite*-fujitsu-none. - -Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com) - - * read.c (cons): Conditionalize parsing of expression. Move - putting value into object file into separate function. Separate - out MRI and WANT_BITFIELDS cases into separate functions. - (emit_expr): New function to write data into object file. - Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on - processor types. - (parse_bitfield_cons): New function to parse bitfield expressions - as used by i960 assemblers. Only compiled if - BITFIELD_CONS_EXPRESSIONS is defined. - (parse_mri_cons): New function to parse MRI style strings. Only - compiled if MRI is defined. - (parse_repeat_cons): New function to parse repeat counts. Only - compiled if REPEAT_CONS_EXPRESSIONS is defined. - * read.h (emit_expr): Added declaration of new function. - * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32. - * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD. - * config/tc-hppa.c (parse_cons_expression_hppa): New function to - parse a HPPA expression, rather than special case in cons - function. - (cons_fix_new_hppa): New function to emit an HPPA fixup, rather - than special case in emit_expr function. - * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW): - Define to use new functions from tc-hppa.c. - * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define. - (WANT_BITFIELDS): Removed; now obsolete. - * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define. - * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an - NS32K fixup, rather than special case in emit_expr function. - * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be - cons_fix_new_ns32k. Also use PARAMS rather than checking - __STDC__. - * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32. - - * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents): - Don't core dump if gas has no information about a section. - -Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (md_begin): If sparcv9 is defined, reset - current_architecture to v9 automatically. - - * config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9. - - * config/tc-sparc64.h, config/tc-sparc64.c: New files. - * configure.in: Use sparc64 cpu files for v9, and default to elf - format. - - * write.c (relax_and_size_seg): Always fully process a section. - Section size is last frag's (vm)address plus its size. If no - relocations are present, force SEC_RELOC flag clear. - (dump_section_relocs): New debugging routine. - (adjust_reloc_syms): New routine, broken out from write_contents. - Don't adjust relocs that are already relative to section symbol. - Look for obj_fix_adjustable macro to know what else to skip, - instead of obj_write_symbol. Look for section symbol stored in - section information. - (write_object_file): Map adjust_reloc_syms over all sections. - (write_contents): Clear SEC_RELOC flag if no relocations are - found. - - * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to - keep it quiet. - - * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER. - -Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * Makefile.in (all, dvi, info, install-info, clean-info): do not - echo recursion lines. - (install-info, clean-info): collapse into the dvi and info rule. - -Fri Jun 25 10:47:24 1993 Doug Evans (dje@canuck.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs. - All fp regs are now specified as %f. - (priv_reg_table): fpq -> fq. - -Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) - - * as.h (strstr): Disable declaration for now. - (fprint_value, sprint_value): Declare. - - * subsegs.c (subseg_new_rest): Use memset to clear new frag. - (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields. - - * expr.c (expr_part): Made sanity checks a.out-specific. - (expr): Disabled sanity checks. - - * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for - section symbol. - * subsegs.c (subseg_change): Initialize section symbol pointer - when setting up a new section. - - * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata - field back at gas symbol structure. - - * symbols.c (colon): Cast obstack_next_free value to char* before - doing arithmetic on it. - * subsegs.c (subseg_new_rest): Likewise. - * as.h (frag_now_fix): Likewise. - - * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of - calling bfd_make_section_old_way directly, and call subseg_set - instead of subseg_change. Now returns void. - (obj_elf_write_symbol): Only check local symbols for now. - (elf_stab_symbol): Now static and void, and disabled until it - works completely. - (obj_elf_size): For expression values, fail silently for now. - (obj_symbol_new_hook): Do nothing. - - * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22 - relocation. - (s_local) [OBJ_ELF]: New function. - (md_pseudo_table) [OBJ_ELF]: Call it for "local". - (s_common): Rearrange to handle Solaris .common pseudo, which may - sometimes use bss space instead of common. - * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field. - -Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * configure.in: set host config to hpux for hppa*-hp-hpux - -Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) - - * app.c (app_pop, app_push): Fix bug reported by Chris Arthur. - -Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) - - * subsegs.c (subseg_new): Don't special-case a.out -R flag here. - * config/obj-aout.c (s_sect): Do it here. - - * as.h (BAD_CASE): Don't make some lame compilers think we want - substitution inside strings. - - * as.c (print_version_id): New function, split off from main. - (main): Call it. - * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id - for -V. Ignore -Q and -s options for now. - -Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * Makefile.in: make installation & builds work again for crosses - -Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) - - * listing.c (list_symbol_table): Rewrite to print wide (>32 bits) - symbol values correctly. - - * write.c (write_object_file): Deleted unused variables. - (fixup_segment): Use sprint_value. - - * messages.c (sprint_value, fprint_value): New routines. - - * config/obj-elf.c (elf_stab_symbol): Now returns void. - (obj_elf_stab_generic): Fix typo in logic. - - * Makefile.in (INCLUDES): Look in ../bfd for bfd.h. - - * as.h (addressT, offsetT): New types, using BFD types if - available. - (relax_addressT, struct frag): Use them. - * struc-symbol.h (valueT, struct broken_word): Likewise. - - * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const. - * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const. - -Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com) - - * Makefile.in: canonicalize install.sh; for use within - this directory (and subdirs) - -Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se) - - * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly - specified, should have both S1 and S2 fields identical - If only finding the problem was as fast as fixing the bug !!!! - -Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * write.c (write_contents): Do write out non-loadable sections. - Debug sections can fall in this category. - - * read.c (s_app_file): Call elf_file_symbol for ELF files. - * config/obj-elf.c (elf_file_symbol): New function. - - * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_..., - added argument to specify section base name. - (obj_elf_stab_generic): Renamed from ..._stab. New argument - specifies section base name. - (obj_elf_stab): New function, calls obj_elf_stab_generic with - ".stab" as section base name. - (obj_elf_xstab): New function, calls obj_elf_stab_generic. - (obj_elf_type): Handle "object". Use bitwise-or to merge in - symbol flags rather than simply replacing, so global/local flags - are preserved. - (obj_elf_ident): Rewrite. - -Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * Makefile.in: remove parentdir support; use INSTALL_XFORM - -Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-i386.c (md_pseudo_table): .align uses a power of two - for any a.out target, not just Linux and 386BSD. - * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out - target. - -Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They - don't exist or duplicate other inclusions. - - * config/tc-vax.h (NO_RELOC): Define. - -Mon Jun 7 09:55:03 1993 Doug Evans (dje@canuck.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Fix parsing of asi number. - Fix error message. - -Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se) - - * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions. - * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first - char to reg_prefix instead of to 'r'. - (calcop): Change calls to get_reg. - (calcop): Handle new case 'x' to set reg_prefix. - (calcop): Set reg_prefix to 'r' after each call to get_reg. - (cmpslot): Add 88110 conditions. - - * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency. - - * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer - before returning. - - * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics - adjacent; mov.s and mov.d swapped. - (m88k_opcodes): Fix typo `r2' -> `2'. - -Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * config/h8300.c: Support for H8/300-H opcodes. - - * config/obj-coffbfd.c (w_strings): String table length is 4 - bytes, no matter what the host int size is. - - * configure.in (alpha-*-osf*): New. - -Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com) - - * configure.in (mips-*-ecoffl*): New target; use ecoff and - mips-lit. - (mips-*-ecoff*): Added trailing '*'. - - * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the - first FDR in a file to be zero. - -Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * Makefile.in (VERSION): Jump to 2.1.4. - - * config/ho-hppabsd.h: New file, from Peter Hoogenboom. - - * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for - ECOFF format. - -Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a - separate '851 mmu. - - * config/obj-elf.c, config/obj-elf.h: Update for new type, macro, - and routine names. Assuming 32 bits for now. - - * config/obj-elf.c (elf_frob_file): Look for macro - elf_tc_final_processing_hook, instead of assuming a function - always exists. - * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from - tc_final_processing_hook. - * config/tc-hppa.h (elf_tc_final_processing_hook): Use it. - - * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros - moved here from obj-elf.h. - * config/obj-elf.h: Don't include CPU-specific header files. - -Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu) - - * configure.in: configurations should match on 'hppa*' not 'hppa'. - - * read.c: Add support for HPPA assembly language syntax (denoted - with '#ifdef TC_HPPA'). - - * symbols.c: Add support for HPPA assembly language syntax (denoted - with '#ifdef TC_HPPA'). - - * write.c (write_contents): Add support for HPPA-style - relocations. - - * config/obj-elf.c: Stab symbols weren't written properly. - (obj_elf_version): - (obj_elf_desc): - (obj_elf_write_symbol): - (obj_elf_write_symbol_p): - (obj_elf_frob_symbol): - (elf_stab_symbol): - (elf_frob_file): - - * config/tc-hppa.c: Support for HPPA symbol extension sections. - Remove some unused code. Support for HPPA assembly language - syntax. - - * app.c: - - * symbols.c: - - * config/obj-elf.h: - (obj_write_symbol): - (obj_frob_file): - (elf_tc_symbol): - (elf_tc_make_sections): - - * config/tc-hppa.h: - -Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume - hash_new will have succeeded if it returns. - * config/tc-a29k.c (md_begin): Likewise. - - * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is - const. - (mode_from_disp_size, opcode_suffic_to_type): Now inline under - gcc. - (fits_in_{signed,unsigned}_{byte,word}): Likewise. - - * expr.c: Delete register declarations; gcc ignores them anyways. - -Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * hash.c (hash_new): Use xmalloc, since many callers don't check - for failure. - -Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * frags.c (zero_address_frag, bss_address_frag): These are - external. - - * tc.h (md_reloc_size): This is const. - * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c - (md_reloc_size): Now const. - - * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete - trailing commas. - * as.h (enum _segT): Ditto. - - * struc-symbol.h (N_TYPE_seg): This should be const. - -Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org) - - * config/obj-ecoff.c (add_file): Cast file_name to char * in - listing_source_file call. - - * config/obj-elf.c (elf_stab_symbol_string): Cast first argument - of subseg_new call to eliminate const attribute. - (obj_elf_stab): Ditto. - (obj_symbol_new_hook): Cast first argument of bzero call to char *. - - * read.c (s_align_bytes): Properly record alignment. - - * expr.c (__): Undefine __ macro before use, since OSF/1 uses it - for the prototype/no prototype macro. - - * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be - void. - - * as.h (relax_stateT enum): Delete trailing comma. - -Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com) - - * app.c (do_scrub_begin): Let line_comment_chars override - comment_chars. - (do_scrub_next_char): If a line comment character is not at the - start of a line, treat it as a comment character if it is one. - For a CPP line comment use pseudo-op .appline rather than .line. - * input-scrub.c (logical_input_line): Make int rather than - unsigned. - (input_scrub_push, input_scrub_begin): Initialize - logical_input_line to -1 rather than 0. - (bump_line_counters): Increment logical_input_line. - (new_logical_line): If line_number is -2, decrement - logical_input_line. - (as_where): Use logical_input_line even if it is 0. - * read.h (s_app_file prototype): Now takes an int argument. - * read.c (potable): Make .appfile call s_app_file with 1. New - .appline pseudo-op calls s_app_line. - (s_app_file): If .appfile, call new_logical_line with -2 to - account for newline inserted by do_scrub_next_char. If listing, - call listing_source_file. - (s_app_line): New function to handle fake pseudo-op .appline. - * config/obj-coff.c (obj_pseudo_table): Make .appline call - obj_coff_ln. - (obj_coff_ln): Added argument to indicate whether .appline. - * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call - obj_coff_ln. - (obj_coff_ln): Added argument to indicate whether .appline. - * config/tc-mips.c (s_file): Pass argument to s_app_file. - -Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast. - -Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-m68k.c (md_apply_fix_2): Straighten out check for - invalid values. - -Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * config/tc-h5000.c (build_bytes): Understand @rd mode and build - relocations correctly. - -Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com) - - * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because - it's wrong. - - * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn - if value is out of range. - - Patch from Minh Tran-Le: - * config/tc-i386.c (i386_operand): For in/out port register used - as base reg, include InOutPortReg in operand type. - (MATCH): Accept overlap value of InOutPortReg. - -Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab): - Add calls to listing routines to produce combined source/assembler - listings. - (obj_ecoff_stab): Create a file pointer if none used yet. - (ecoff_frob_file): Set symcount to correct value. - -Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com) - - * Makefile.in (VERSION): Bump to version 2.1, in preparation for - release. - - * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE): - Define in terms of constants, not C structure sizes. - - * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files. - -Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-aout.c (obj_header_append): Don't define if it's - defined as a macro. - * config/obj-hp300.h (obj_header_append): Define it as a macro. - * config/obj-hp300.c (hp300_header_append): New function. - - * Makefile.in (distclean): Don't bother cleaning up doc files; - they aren't going to be in this directory. - -Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute - symbols. - - * tc.h (TC_COFF_SIZEMACHDEP): Don't define here. - * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead. - -Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with - initialization. - - * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff. - -Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-mips.c (macro): Correct floating point double word - loads and stores for big endian target. - -Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com) - - * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_* - calls. Deleted some unused code. - * config/obj-coff.c: Likewise. - - ELF support, mostly contributed by Utah: - * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line, - obj_elf_type): Rewrite. - (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol, - obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size): - New functions. - (obj_elf_ident): Dummy. - * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol, - TARGET_SYMBOL_FIELDS): New macros. - (gdb_section): New variable decl. - - * config/tc-i386.c (md_atof): Return zero, not empty string, on - success. - - BFD_ASSEMBLER conditional changes: - * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header): - Don't define these. - (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions. - (fetch_coff_debug_section): Ditto. - (obj_coff_endef): Call fetch_coff_debug_section. - (struct line_no): New type. - (c_symbol_merge): New way for copying aux fields. - (c_dot_file_symbol): Put symbol in absolute section, and set flag - BSF_DEBUGGING. - (function_lineoff): New symbol. - (function_lineoff, text_lineno_number, our_lineno_number, - lineno_lastP): Don't define. - (c_line_new): Don't define. - (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh, - placeholders, until - line-number recording gets implemented. - (obj_new_symbol_hook): New code for handling aux fields. - (add_lineno, add_linesym): New functions. - (obj_coff_ln): Call add_lineno, not c_line_new. - (obj_coff_endef): New code for handling symbol names. New lineno - code. Look for section name "*DEBUG*" for debugging section. - (align, coff_check_file_symbols, obj_coff_section, - coff_frob_file): New functions. - * config/obj-coff.h: Reordered some includes. - (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg, - DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't - define these. - (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros. - (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing - aux entries. Most SA_* macros now use it unconditionally. - (S_*): Use `bsym' field, and access BFD private data. - (SF_*): Use `sy_flags' symbol field for most of these. - (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't - define. - (*_section_header): Don't define. - * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed - interface. - (tc_gen_reloc) [I386COFF]: New function. - (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define. - * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New - macros. - - * config/obj-coff.c (stack_init): Don't do assignments inside - conditions. - (obj_coff_def): Simplified handling of symbol name a bit. - (tag_insert): Name argument is now pointer to CONST. - (obj_crawl_symbol_chain): Commented out. - - * config/obj-coff.h: Use PARAMS macro in prototypes. - - * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect - through frchainP pointer if it is null. - - * configure.in: Warn if BFD mode is explicitly turned off but is - required by specified target. - (mips ecoff targets): Don't need to set bfd_gas here; it gets - taken care of later. - - * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward - field. - (yank_symbols): Merge symbols only if sy_forward is null. - - * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already - defined. - - * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not - pointer. - * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto. - - * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting - with "." is a local label. - - * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config - files. - - * config/te-linux.h, config/te-386bsd.h: New config files. - * configure.in (i386-*-linux, i386-*-bsd): Use them. - * config/tc-i386.h (TARGET_FORMAT): Select format based on target - environment. - (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux. - -Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems - to want it that way. - (ecoff_build_symbols): Turn local st_Proc symbols into - st_StaticProc symbols. Set index field of external st_Proc and - st_staticProc symbols correctly. - * config/tc-mips.h (NO_LISTING): Don't define. People might want - listings. - -Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New - files. - * configure.in (m68k-*-hpux): Use them. - - * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if - defined, otherwise zero. - - * config/aout_gnu.h (OMAGIC): Don't define if already defined. - -Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Allow any abs expression as an - address space number. - -Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com) - - * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all. - - * config/tc-a29k.c: Include ctype.h. - (define_some_regs): Added special-purpose registers for 29050. - - * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/". - - * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here. - (change_to_section): Set it here instead. - -Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com) - - * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one - hasn't been seen yet. - (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL. - -Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi - SH. - -Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com) - - * expr.c (operand): Fix unary plus operator (previously was the - same as '~' operator!). - -Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * write.c (cvt_frag_to_fill): Define even if BFD is defined. - (write_object_file): Do define if BFD_ASSEMBLER. Invoke - obj_check_file_symbols if defined. Call verify_symbol_chain_2 - instead of open-coding it. Fix some bugs in patching up symbol - chain. - (relax_segment): Make some code we "ought to be able to" use for - all targets no longer conditionalized on ns32k target; instead, do - it always, and if the appropriate conditions fail, abort. - - * symbols.c (DEBUG): Enabled. - (symbol_new): Make sure bfd_make_empty_symbol works. - (verify_symbol_chain_2): New function; takes one symbol as - argument, anywhere in the chain. - (dollar_label*): Use default initializers. - - * as.c (perform_an_assembly_pass): Call md_begin here... - (main): ...and not here. - - * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out. - (tc_frob_symbol): New macro: Get rid of symbols in reg_section. - - * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER. - (add_fix, add_frag): Now functions instead of macros. - (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num, - s_data1, s_data2, s_bss): Use new *_section names, for - compatibility with BFD_ASSEMBLER mode; rewrite switch statements - to handle non-integral segT. - (tc_coff_fix2rtype, tc_aout_fix_to_chars, - tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER. - (tc_gen_reloc): New routine for BFD_ASSEMBLER. - (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to - md_apply_fix_2; new md_apply_fix definition varies interface - depending on BFD_ASSEMBLER. - (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section - names. - - * config/obj-vms.c: Include config.h. - (version_string): Delete declaration. - (Write_VMS_MHD_Records): Use GAS_VERSION instead. - (vms_resolve_symbol_redef): New function, taken from VMS code in - symbols.c. - (_doprnt): Deleted. - (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct, - VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix, - VMS_Psect_Spec): Fixed to compile under traditional C. - * config/obj-vms.h: Use PARAMS macro. - (vms_resolve_symbol_redef): Declare. - (RESOLVE_SYMBOL_REDEFINITION): New macro. - * symbols.c (colon): Remove some VMS-specific code, look for - RESOLVE_SYMBOL_REDEFINITION macro instead. - - * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc - instructions. - - * config/tc-i386.c: Reordered some functions so inlining might - work. Use PARAMS in function declarations. - (reloc): New routine. - (md_assemble): Rearrange switch statements to work with - non-integral segT. - - * struc-symbol.h [BFD_ASSEMBLER]: Undefine - SYMBOLS_NEED_BACKPOINTERS before defining it. - - * subsegs.c (subseg_new_rest): Now static. - - * read.c (pseudo_set): Better error message for difference of - symbols in different frags. - - * Makefile.in (check): Pass down some new variables, indicating - pathname or program name for cc, nm, objdump. - - * as.h (OUTPUT_FLAVOR): New macro. - * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR. - - * configure.in: Initialize bfd_gas properly. Warn that ELF - support is incomplete. - -Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * read.c (float_cons): Accept null pointer return from md_atof. - * config/tc-m68k.c (md_atof): Return null for success. - * config/tc-sparc.c (md_atof): Ditto. - -Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) - - * doc/as.texinfo: formatting and comment cleanups; show SPARC - alternative options in same style as other machines; simplify some - conditional use; include GPL as separate file (from texinfo dir) - - * doc/Makefile.in: (as.info) include directory containing GPL in - makeinfo search path - - * doc/h8.texi: new file; conditional settings for GAS manual - on Hitachi chips - -Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) - - * doc/as.texinfo: mention SPARC architecture options. - -Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com) - - * configure.in: Rearranged whitespace in per-host/per-target - sections. Added hooks for dropping in HPPA support (not included - yet). Separate out overrides of variables based on target format - and bfd-gas selection from actual target-specific commands. Add - error message for recognized but unsupported format name. - -Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in - symbolic header match cline in FDR; the native linker seems to - want that. - -Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * doc/Makefile.in: as.texinfo is in $(srcdir). Use - $(srcdir)/as.texinfo explicitly in several places - -Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) - - * doc/Makefile.in: update dvi, clean targets for new source - file structure - -Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__, - rather than undefining know. - * configure.in: Match ultrix*, not just ultrix. - -Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) - - * doc/as.texinfo: converted conditional markup to use new - Texinfo facilities, avoiding m4. - - * doc/as-all.texinfo, all.m4, pretex.m4: deleted. - - * doc/Makefile.in: recast doc configuration to use a link to an - included texinfo file. - - * doc/all.texi: settings for generic form of documentation. - -Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com) - - * read.c (cons): Zero out frag when creating reloc. - -Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-mips.c (gp_reference): Certain magic symbols can never - be referenced off the GP register. - - * app.c (do_scrub_next_char): Handle states 9 and 10 correctly - when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST, - LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE. - - * config/te-irix.h: New file; irix needs a different LOCAL_LABEL - definition from other MIPS targets. - * configure.in (mips-*-irix): Use emulation irix. - -Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/tc-h8500.c: Get relax size of branch instructions right, - (get_operand): Parse @sp+ correctly. - -Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include - COFF section header field. - - * configure.in: Print error message if host or target is not - supported. - - * configure.in: If with-bfd-assembler, use obj-coff instead of - obj-coffbfd. - - * config/ho-generic.h: Include string.h. - -Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with - '$' as local, for any object file format. - - * config/tc-mips.c (macro): Optimizations to branching code and a - couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph - Campbell). - - * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT. - * configure.in (mips-sgi-irix*): Set gas_host to irix. - -Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com) - - * subsegs.c (subseg_new): Set output_section of new section. - * as.c (perform_an_assemly_pass): Don't set output_section here. - * expr.c (expr_part, expr): Turn off section assertions for ECOFF, - since it has additional sections. - * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss, - not bss_section. - * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added - ecoff_undefined field. - * config/obj-ecoff.c (obj_symbol_new_hook): Initialize - ecoff_undefined field. - (add_file): If using stabs, just output a stabs symbol rather than - creating a new fdr. - (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading - it with get_absolute_expression, rather than skipping it by hand. - (obj_ecoff_loc): If using stabs, just output a stabs symbol rather - than ECOFF line number information. - (obj_ecoff_stab): Accept non-zero values for stabs line number. - (ecoff_build_symbols): Set ifilesym correctly. Set storage class - to small, undefined and/or readonly sections if appropriate. - Don't output symbol names containing \001 characters. - (ecoff_frob_file): Make sure at least one fdr is output. - * config/tc-mips.h: Define TC_MIPS. - * config/tc-mips.c (g_switch_value): New static variable. - (md_assemble): Set gp size of output BFD. - (gp_reference): New function; returns 1 if expression can be - accesssed via gp. Always returns 0 if not using ECOFF. - (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if - possible. - (macro): Generate sequences using gp if possible. - (md_parse_option): Ignore -EL and -EB. Parse -G. - (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case. - (s_change_sec): Handle .rdata and .sdata for ECOFF. - (s_extern): Mark symbol as external. Set ecoff_undefined field. - -Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * output-file.c (output_file_create): Don't call as_perror for - filename rejected by application. - - * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink - the output file. - - * doc/as.texinfo: Don't use @value in node names for the moment; - references don't appear to work right. - - * as.h (const, volatile): Put these definitions back, and use - them. - - * doc/as.texinfo: First pass at using new texinfo features -- - variables, conditional tests. Far from complete. - -Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * read.c: Temporary hack to handle some 64-bit constants. This - should be redone later. - (target_big_endian): Declare. - (big_cons): If it's set, reverse order of bytes being copied. - * config/tc-sparc.c (md_begin): Set target_big_endian. - - * read.c (s_ignore): Delete declaration of is_end_of_line. - - * config/obj-coffbfd.c (yank_symbols): Build list of file symbol - forward pointers properly. - -Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs - wasn't being stored into scnhdr. - * config/obj-coffbfd.h: Add prototype of s_get_segment. - * read.c (TC_START_LABEL): Default definition. - (read_a_source_file): Use TC_START_LABEL macro to work out - if a label has been seen. - -Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com) - - * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not - the bottom (make expands variables in dependencies when the - dependencies are read, not when they are used). - - * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for - a29k .bss section; the mondfe program doesn't like it. - -Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of - const. - (current_architecture): Don't need initializer. - -Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * doc/none.m4: Define Z8000. - * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the - texinfo file before recreating it. - (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in - this directory. - (srcdir): Delete second, bogus definition. - (as.info): Look for as-*.texinfo in current directory rather than - in $(srcdir). - (as.dvi): Ditto. - (dvi): New rule. - * doc/configure.in: Create links to all as-*.texinfo files in the - source directory, if that's not the current directory. - - * configure.in (per-host): Accept MIPS host with BSD version - number. - (per-target): Classify i486 as i386. Use generic cpu_type instead - of target_cpu in selecting format etc. - - * app.c (do_scrub_next_char): Use .appfile, not .app-file. - * read.c (potable): Change .app-file to .appfile. - - * config/ho-decstatn.h: Renamed from ho-decstation.h. - * configure.in: Adjusted. - - * config/obj-bfd-sunos.*: Unused; deleted. - - * Makefile.in (version.c, vers-stamp): Deleted. - (config.h): Define GAS_VERSION. - * as.c (version_string): Deleted declaration. - (main): Look for GAS_VERSION instead. - - * doc/as.texinfo: Updated description of -a* (listing) options, - and describe how to pass them through from gcc. - - * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or - process relocs if there aren't any relocs to process. Avoids - malloc/free bug on SCO too. - - * as.h: Move local include files below system include files, to - avoid some redefinition complaints on some systems. - (const, volatile): Don't need these conditionally defined if we - use CONST and VOLATILE from ansidecl.h. - (seg_name): Use CONST, not const. - -Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-mips.c: Reindented to GNU standards. - -Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case. - (fixup_segment): Add a29k special case; the linker is not prepared - to see a segment offset here. - - * app.c (do_scrub_next_char): Added new state, 10, modifying state - 9 to only keep a space in between identifier characters. - -Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) - - * Makefile.in: add dvi target; as-$(config).texinfo might live in - srcdir, might be in objdir. - - * doc/Makefile.in: dvi depends on as.dvi - -Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * Makefile.in: add installcheck target - -Mon Mar 22 16:25:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Add support for membar mask names. - Add missing colons in prefetch error messages. Add support for - ASI names. - -Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/tc-mips.c (macro): Use $AT for any floating point load. - -Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com) - - * config/tc-m68k.c (m68k_ip): For operand type 'M', reject - bignums, but don't emit error message. - -Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com) - - * Makefile.in (targ-cpu.o): Depend on config.h. - -Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com) - - * app.c (do_scrub_next_char): Added new state, 9, to avoid - dropping a space immediately following an identifier. - * expr.c, write.c: Rewrote assert expressions to not use multiple - lines; I don't think that can be done portably. - * config/tc-mips.c (macro): Use $AT if target register is zero in - load instruction, which it can be for a floating point load. - -Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com) - - * write.c (write_contents): Compute the relocs before writing out - the section contents. - * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get - symbol table and values right. - * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting - with $L is local. - * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend - by the section vma. - - * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is - z8k-opc.h, not z8k.h. - - * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf - symbol. - -Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * configure.in: recognize sparc-sun-solaris2* instead of -solaris2 - -Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com) - - * expr.c, write.c: Ultrix native 4.2 cc requires assert condition - to be on a single line. - -Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * Makefile.in (config.h): Create file, writing out definitions of - target cpu, alias, and canonical name. - (ALL_CFLAGS): No longer define TARGET_CPU. - - * Makefile.in (check): Print a message, instead of quitting - silently. - - * as.c (main): Don't catch any signals, for now. - - * version.c: Deleted. - * Makefile.in: Generate it, putting in only the version number - itself. - (VERSION): New variable. - * as.c: Include config.h. - (main): Reformatted version string. Include target alias. Don't - print if not requested (i.e., unknown -v argument). - - * as.c (stralloc): Deleted. - (main): Call strdup instead. - - * configure.in: Handle all 68300 series chips. - * config/tc-m68k.c: Include config.h. - (md_assemble): Assume TARGET_CPU is defined. Accept some 68300 - series cpus as defaults. - (md_parse_option): Accept some m68300 series CPUs as defaults. - -Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if - not already defined. - (main, got_sig): Use them. - * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default - values. - -Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF - support. - - * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs. - OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN. - (struct loc, struct proc, struct file): Moved to tc-mips.c within - #ifndef OBJ_ECOFF block, since ECOFF uses different versions. - * config/tc-mips.c: Rearranged for ECOFF support. Added - prototypes for all static functions. Moved existing minimal - debugging format support info #ifndef OBJ_ECOFF blocks. - (macro_build_lui): Eliminated sign_extend argument, because ECOFF - does not support a non sign extended high 16 bits reloc. Adjusted - all callers accordingly. - (tc_get_register): Renamed from get_register, and made non-static. - - * config/mips-big.mt, config/mips-lit.mt: New files. Define - TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN, - respectively. - * configure.in (mips-*-bsd*): Use gas_target mips-lit. - (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using - obj_format ecoff and gas_target mips-lit or mips-big. - -Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com) - - * version.c: Bump to version 2.0.1. - -Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com) - - * write.c (chain_frchains_together): Check that seg_info (section) - is not NULL. - (write_object_file): Call obj_frob_file after setting the symbols, - not before. - -Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com) - - * Version 2.0 released. - -Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only. - -Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com) - - * read.h: Define stringer here. - read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these - places. - -Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * read.c (s_space): Multiply repeat count by mult, not fill. - -Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com) - - * read.c: Include ctype.h. - -Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - Patches from Eric Youngdale: - * make-gas.com: Find obstack.obj if it's not in the current - directory. - * read.c (s_ignore): Don't declare is_end_of_line. It's - redundant, and triggers a VMS gcc compiler bug. - - * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes - current segment as an argument. (Ignored in all cases but VMS.) - All callers and definitions changed. - -Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com) - - * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING - case compile again. - -Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com) - - * config/tc-m68k.c (isbyte): Accept all values from -255 to +255, - so "~0x80" won't be rejected. - - * config/obj-elf.c: No longer include elf/reloc.h. - (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section. - (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out - routines. - (obj_elf_xstab): New routine. - (obj_elf_set_size): Call as_warn, not fprintf. Pass desired - argument to s_ignore. Put "#if 0" around unused code. - (obj_pseudo_table): Use s_ignore instead of do-nothing routines. - Call elf_xstabs for .stabs and .xstabs operators. - - * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc". - - * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are - present. - - * configure.in: mips-bsd configuration was missing format spec. - Should use aout. - - * Makefile.in (Makefile): Depends on configure.in. - - * config/tc-mips.c (append_insn): Don't check for alignment of - frag in memory; alignment of instructions in section is a separate - matter. - - * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI - C availability. - - * listing.h: Always provide function declarations, not macros, so - pcc won't lose. - -Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com) - - * CONTRIBUTORS: Update Gilmore entry. - -Mon Mar 1 12:03:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com) - - * config/tc-sparc.c (sparc_ip): Correctly assemble prefetch - instructions. Accept integer prefetch function numbers. - -Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (s_xword): Now call big_cons, so large - constants are accepted, but symbolic values are not. GCC will not - generate the latter currently. - - * frags.c (frag_init): New function. - (zero_address_frag, bss_address_frag): Now initialized at run - time. - * as.c (main): Call frag_init. - -Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com) - - * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case: - Don't unget ch2 if we didn't get it. - -Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * doc/Makefile.in (TEXIDIR): Updated for new layout. - - * config/tc-sparc.c (s_common): Add support for ELF version. - (tc_gen_reloc) [BFD_ASSEMBLER]: New function. - * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]: - New macros. - (md_convert_frag): New macro. - - * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a - symbol, fix the offset so "+2" isn't required. - - * config/tc-i960.c (line_comment_chars, line_separator_chars): - Define as common/bss. - (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C - initializers are sufficient. - - * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd. - (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out". - (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros. - (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro. - * config/obj-aout.c: Use PARAMS macro for declarations. Remove - "IGNORE_DEBUG" conditional, since both branches are identical. - Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly - referencing symbol structure members. - (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function. - - * as.h (struct frag): Reordered a couple of fields for better - packing. - - * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the - section info. - (write_contents) [BFD_ASSEMBLER]: New function. - (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call - fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call - obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined. - (fixup_segment): Make sure common-section symbols get treated the - same as undefined symbols. - (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type - bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from - section info. - * write.h (fix_new): Update prototype. - - * tc.h (md_operand, md_convert_frag, tc_headers_hook, - md_section_align, md_undefined_symbol): Don't provide prototypes - if these are defined as macros. - (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and - section passed. - - * symbols.c (symbol_new): Argument NAME is now pointer to const. - Simplified STRIP_UNDERSCORE code. Remove assumptions about null - pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new - BFD symbol. - (colon): Display other/desc fields of redefined symbol only if - S_GET_OTHER and S_GET_DESC are defined. - (symbol_make): Argument NAME is now pointer to const. - (symbol_find, symbol_find_base): Likewise. - (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions. - * symbols.h: Fix prototypes for new const arguments. Add - prototypes for BFD_ASSEMBLER S_* functions. - - * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code - for changing to an existing section. - (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new, - called by subseg_new and subseg_set. - (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section, - given section name and subseg number. - (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly - new section/subsection. - - * read.c: Don't include ctype.h. - (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32 - for now; should be machine-dependent. - - * configure.in: Accept *-*-elf and *-*-solaris* as ELF format - targets, forcing BFD use. - -Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c: Use PARAMS macro for static function - declarations. Use BFD_RELOC_ macros everywhere, with - compatibility macros declared for non-BFD mode. - (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type - instead of enum reloc_type. - (emit_sparc_reloc): Commented-out function deleted. - (md_convert_frag): Deleted. - (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER. - (md_apply_fix): Changed calling sequence (conditionally) for BFD - version. - * config/tc-sparc.h (md_convert_frag): New macro. - - * config/obj-aout.c (obj_aout_stab): Refer to undefined_section, - not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead - of referencing fields directly. - - * write.c (cvt_frag_to_fill): New function; extracted from - write_object_file. - (write_object_file) [! BFD_ASSEMBLER]: Call it. - (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section - and set its size and flags. - - * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some - fields with BFD equivalents. Turn on back-pointers, and add - target-specific fields at end. - -Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/obj-coffbfd.c (fill_section): Don't set vaddr here. - (write_object_file): Set it here instead, so that fixup_segment - can see the correct value. - -Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * write.c (write_object_file): Check for errors and warnings and - bail out before processing contents. - (chain_frchains_together_1): New function, does most of the work - of remove_subsegs. - (chain_frchains_together) [BFD_ASSEMBLER]: New function. - (remove_subsegs) [! BFD]: Call it. - (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD - structures and routines. - - * config/obj-elf.*: New files. - - * config/mips.mt, config/rs6000.mt: Deleted. - - * config/h8300.mt: Don't specify compiler here. - - * config/z8k.mt: The z8k code depends on the z8k opcode table, - not the h8300 one. - * config/tc-z8k.h: Comment fix. - - * write.c: Reordered some functions for better inlining. - (fixup_segment): Linkrelax code is no longer conditional on - TC_I960. - -Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c, - obj-coffbfd.h}: support for the H8/500 - -Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here. - * write.c (write_object_file): Not here. - (fix_new): Initialize fx_addnumber. - - * listing.c: Don't include target-cpu.h explicitly, since as.h - includes it. - -Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP, - *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP. - (struct fix): Reordered fields for compactness and efficiency. - Converted some logical fields to 1-bit fields. - - * config/obj-aout.h: Use PARAMS. - [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE, - N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE. - - * read.c: Don't include listing.h; as.h includes it. Removed - DONTDEF code. - [BFD_ASSEMBLER]: Include subsegs.h. - (old_buffer, new_broken_words): Default initialization is - sufficient. - - * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH - to 0, define stdoutput. - (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure. - Call bfd_set_arch_mach. - (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not - bfd_close_all_done. Call bfd_perror on failure. - (output_file_append) [BFD_ASSEMBLER]: Don't define. - - * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition. - - * subsegs.h (segment_info_type): Always define. Omit field scnhdr - if not MANY_SEGMENTS. Define new field bfd_section if - BFD_ASSEMBLER. - (seg_info): New macro. - - * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused - variables, and some irrelevant comments. - - * Makefile.in (ALL_CFLAGS): Include $(BFDDEF). - (LIBS): Include $(BFDLIB). Don't bother with $(CLIB). - * configure.in: Permit --with-bfd-assembler now, with a warning. - Variable need_bfd is now a boolean, as is new variable bfd_gas. - Set BFDDEF and BFDLIB in Makefile when appropriate. - - * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code. - (main): Refer to flag_always_generate_output instead of - flagseen['Z']. - - * as.c (main) [BFD_ASSEMBLER]: Open output bfd. - (*_section) [BFD_ASSEMBLER]: Define them. - (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and - set section flags when appropriate. - * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified - section is not absolute, undefined, or an assembler internal one. - (absolute_section, undefined_section): Always define. - * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break - switch statements into if-else trees. - * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of - SEG_BSS and SEG_DATA. - - * as.h (frag_now_fix): New macro. - * symbols.c (colon): Use it. - -Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com) - - * config/tc-mips.c: Added mips support for mips-dec-bsd. - * config/tc-mips.h: Added mips support for mips-dec-bsd. - * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd. - * config/mips-opcode.h: Added mips support for mips-dec-bsd. - * configure.in: Added mips support for mips-dec-bsd. - * atof-generic.c: Define TRUE and FALSE if not defined. - -Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * version.c: Bumped version number to 1.93.05. - -Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/obj-coff.c (obj_emit_relocations): Don't use #elif. - (obj_emit_lineno): Don't need return at end of void function. - (obj_symbol_new_hook): Ditto. - - * config/tc-m68k.c: Removed some unused code. - (tc_aout_fix_to_chars): Array nbytes_r_length is now const. - - * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only - offset field is set. - -Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not - ENV64, emit no reloc. - (md_pseudo_table): For ".xword", call s_xword. - (s_xword): New function. - - * config/tc-sparc.c (architecture_requested, warn_on_bump, - md_relax_table): Use default zero initialization. - (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the - latter, instead of selecting with preprocessor conditionals. - -Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * configure.in: recognise all sparclite variants - -Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change -- - accidentally changed to use subseg_change where it should have - been subseg_new. - -Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * expr.c (operand): If character other than comma or newline is a - logical end-of-line character, use the newline case. - From Eric Youngdale: - (operand): Set X_add_number field for floating-point numbers. - (operand): Treat zero byte as end-of-operand. - - * configure.in (per-target): Look for with_bfd_assembler option. - For now, only accept "no", until the merge is done. - - Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil): - * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c, - config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS. - * read.c: Finish conversion to S_* macros in the VMS only - parts of the program. Add "const" modifier to hex_value. - * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to - "ifdef OBJ_VMS". - * expr.c: Add "const" modifier to hex_value. - * symbols.c: Finish conversion to S_* macros in the VMS only - parts of the program. Add "const" modifier to - md_[long,short]_jump_size. Remove declaration of const_flag - (which will be declared in obj-vms.h). - * write.c: Add "const" modifier to md_[long,short]_jump_size. - Fix arguments to VMS_write_object_file. - * config-gas.com: New file. Script for VMS systems to set up the - configuration to build gas for VMS, and create config.status. - * make-gas.com: Redone to work with new scheme. - * obj-vms.c: Patch to fix bug where we were not correctly parsing the - stabs directives. - * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which - will swap bytes if needed on a big endian system. Use throughout - as needed. - * obj-vms.c (obj_aout_stab): Add code to generate listing file. - * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain - types of malformed stabs. Change parsing algorithm so that we are - more certain of having all of the information that we need on hand. - * obj-vms.c (final_forward_reference): New function, used to help - resolve the data types of as many struct elements as possible - when some part of the struct is not fully defined by the compiler. - * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation - stabs directives. - * obj-vms.c (VMS_write_object_file): Define all vtable psects - as symbols as well in the object file. Look for external functions - that start with "__vt.", and turn them into variables, since the - g++ compiler is incapable of doing this. - * tc-vax.c: Add '1' option for backward compatibility with older GCC - versions. - * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes. - * input-scrub.c (as_where): Fix bug where as would crash if we did not - have the name of the source file yet. - * config/ho-vms.h: define HO_VMS, not HO_VAX. - -Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com) - - * read.c (s_data): Always use "data_section", since it'll map to - SEG_DATA or SEG_E1 if needed. - (s_lcomm): Likewise with bss_section. - (s_fill): Use memset, not bzero. - -Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * read.c: Deleted some code under "#ifdef DONTDEF" that was for - handling GDB symbol table data. - - * config/obj-aout.h (segment_name): Delete definition. - (seg_name): Delete declaration. - * config/obj-bout.h (segment_name, seg_name): Ditto. - * config/obj-vms.h (segment_name, seg_name): Ditto. - * config/obj-coff.h (segment_name): Ditto. - * config/obj-coffbfd.h (segment_name): Ditto. - - * Changes for BFD_ASSEMBLER: - * obj.h (obj_crawl_symbol_chain): Declare only if not - BFD_ASSEMBLER. - (obj_header_append, obj_pre_write_hook): Ditto. - * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER. - (segT) [BFD_ASSEMBLER]: New typedef for "asection *". - (segment_name) If BFD_ASSEMBLER, look up BFD section name; - otherwise, use seg_name array. - (seg_name): Declare only if not BFD_ASSEMBLER. - (section_alignment): Declare only if not BFD_ASSEMBLER. - (big_section, reg_section, pass1_section, diff_section, - absent_section, text_section, data_section, bss_section): If - BFD_ASSEMBLER, declare as variables; otherwise, declare as macros, - mapping to segT enum values. - (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors - if these are used or defined, if BFD_ASSEMBLER. - (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old - subseg_new split into two functions. - (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now. - - * as.h (volatile): Don't define if already defined. - (had_errors, had_warnings): Provide prototypes for ANSI C even if - NO_STDARG. - (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2, - declare with format attribute for -Wformat checking. - -Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com) - - * app.c, config/tc-*.c: Don't include read.h, since it is already - included by as.h. - - * These are based on patches from Minh Tran-le - . - * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use - obj_format coffbfd and gas_target i386coff for target. - (i[34]86-*-isc*): New host (uses sysv). - * config/i386aix.mt: Removed (no longer used). - * config/mh-i386aix (RANLIB): Use true rather than /bin/true. - (MINUS_G): Removed. - (LDFLAGS): Added, defined as -shlib. - * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine. - * config/te-sco386.h (LOCAL_LABEL): Don't define. - (DOT_LABEL_PREFIX): Define. - * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label - name rather than L0\001. - * read.c (s_lcomm): Make a frag in SEG_BSS rather than using - local_bss_counter. - * symbols.c, symbols.h (local_bss_counter): Removed. - * write.c (write_object_file): bss no longer uses - local_bss_counter. Pass correct data and bss size to - VMS_write_object_file. - * config/obj-vms.c (VMS_write_object_file): Accept bss size as - argument, rather than using local_bss_counter. - * config/tc-m88k.c (s_bss): Don't use local_bss_counter. - * config/tc-sparc.c (s_reserve): Don't use local_bss_counter. - * config/obj-coffbfd.c (had_lineno, had_reloc): Removed. - (size_section): Restored sanity check. - (do_relocs_for): Base section address on s_paddr rather than - computing it. Adjust a29k R_IHIHALF special case to account for - section paddr (used to require paddr to be zero). If there are no - reclos, set s_relptr to 0. Set relocation size in object_headers. - (fill_section): Always set s_vaddr here, removing - ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set - NOLOAD for i386 .bss, because it confuses the SVR3 native linker. - Set STYP_INFO for .comment. - (coff_header_append): Use object headers and H_{SET,GET}_* macros. - Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER. - (crawl_symbols): Handle 8 character section name correctly. Use - H_{SET,GET}_* macros. - (do_linenos_for): Set lineno size in object_headers. - (write_object_file): Use H_{SET,GET}_* macros. Don't bother to - set s_vaddr here. If string_byte_count remains 4, set it back to - 0, and only write strings out if there are some. Call - fill_section before do_relocs_for and do_linenos_for. - (obj_coff_section): Handle optional quoted second argument giving - section characteristics. - (obj_coff_bss): Added to handle .bss. - (obj_coff_ident): Added to handle .ident (puts string in .comment - section). - (obj_coff_lcomm): Put common symbols in .bss, not .data. - (fixup_mdeps): Change to segment. Call frag_wane after - md_convert_frag. - (fixup_segment): Explicitly check S_IS_COMMON before making 386 - adjustment (already happened only for common symbols, but this is - clearer). - * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define. - * config/tc-i386.c (s_bss): Don't use if I386COFF. - (md_pseudo_table): Ignore .optim and .noopt. - (tc_coff_sizemachdep): New function. - * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3 - compatibility. - (LOCAL_LABEL): Removed definition. - (DOT_LABEL_PREFIX): Defined. - -Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com) - - * app.c (app_push): Use memcpy, not bcopy. - (do_scrub_next_char): For \", return " not '. - (symbol_chars): Now const. - - * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f" - and "0b". If LOCAL_LABELS_DOLLAR, check for "0$". - - * config/obj-coff.h: Don't use #elif. - - * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't - have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.) - -Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com) - - * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is - already defined. - -Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * app.c (do_scrub_begin): allow single quote strings if so - configured. - - * config/*z8k*: checkpoint - -Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com) - - * read.c (read_a_source_file): avoid calling xmalloc (0). - -Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com) - - * listing.c: Call xmalloc, not malloc; don't declare malloc. - - * Changes to support SCO 3.2v4: - * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or - SEG_BSS, fill with NOP_OPCODE. - * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS. - * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not - using ZERO_BASED_SEGMENTS. - (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but - never set segment address for SEG_E2 (.bss) and don't write out - SEG_E2 contents. Set .init and .fini sections to STYP_TEXT. - (obj_coff_endef): Don't merge labels or symbols awaiting forward - definitions, and don't merge tags with non-tags. Check for .bf - rather than just checking whether the second character is b and - the third character is f. - (obj_coff_val): gcc can generate values which we don't handle - correctly; discard information for now, since it only affects the - debugging information. - (tag_find_or_name): Don't insert tags in the symbol table. - (yank_symbols): Don't merge labels. - (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is - already defined. Fill subsegments with NOP_OPCODE, not 0. Don't - set segment address if ZERO_BASED_SEGMENTS. - (obj_coff_section): Accept and ignore a trailing quoted string, as - used in AT&T i386 syntax. - (fixup_segment): Take segment as argument. On the i386, adjust PC - relative addends by the segment vaddr. - * tc-i386.h: Define SUB_SEGMENT_ALIGN. - * tc-a29k.h: Define ZERO_BASED_SEGMENTS. - * tc-i386.c: (i386_operand): If I386COFF, accept any segment type. - -Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com) - - * config/obj-coffbfd.c: Include libcoff.h. - - * version.c: Now version 1.93. - -Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com) - - * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do - power-of-two alignment for .align. - - * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial, - and leave everything else alone. - -Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * Makefile.in (as.new): Don't bother saving as.old. - - * write.c: Conditionalize on OBJ_VMS, not VMS. - (magic_number_for_object_file): Don't define if OBJ_VMS. - - * config/obj-vms.c: Changes for traditional C. - -Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * config/ho-generic.h (malloc, realloc): Declare. - - * Lots of comment/whitespace changes. - - * write.h (struct fix): Some fields reordered, narrowed. - - * read.c (MASK_CHAR): Define using C types, not magic number. - - * as.c, input-file.c: Deleted some unused code. - - * app.c, as.h: Doc fix. - - * flonum-konst.c, flonum-mult.c: Include ansidecl.h. - - * as.h (xmalloc): Argument is long. - - * xmalloc.c (error): Remove declaration; as.h takes care of it. - - * doc/as.texinfo: Regrouped documentation of some command-line - options. Updated options documentation for m68k. Some minor - wording/punctuation changes. - -Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * configure.in: Accept target OS "vms". - - * symbols.c: Merged ANSI and non-ANSI function decls, using - PARAMS macro. - - * xmalloc.c: Just include as.h, don't bother trying to figure out - other header files. - - * strstr.c, strerror.c: Deleted. - * Makefile.in: Deleted references. - - * config/tc-ns32k.c: Don't include header file for string - declarations; leave that to ho-*.h. - -Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com) - - * config/coff_gnu.h [TC_I860]: Guesses for reloc type values, - imported from FSF sources. - - * messages.c (strerror): Declare unconditionally. - - * as.h: Delete alloca and register definitions. - - * config/atof-ieee.c (mask): Now const. - - * obstack.c, obstack.h: Deleted. - - * as.h (flag_readonly_data_in_text): New flag. - * as.c (main): Set it for -R. - - * as.h (flag_suppress_warnings): New flag. - * as.c (main): Set it for -W. - * messages.c (as_warn): Check it instead of flagseen['W']. - - * as.h (flag_always_generate_output): New flag. - * as.c (main): Set it for -Z. - - * config/tc-sparc.h: Define NEED_FX_R_TYPE. - * config/tc-a29k.h: Ditto. - * write.h (struct fix): Don't conditionalize fx_r_type field on TC - macros. - - * as.h: Merged ANSI and non-ANSI function decls, using PARAMS - macro. - * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h, - obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h, - write.h: Likewise. - * read.c: Likewise. - - * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in - xrealloc from xrealloc.c. - * xrealloc.c: Deleted. - * Makefile.in (REAL_SOURCES, OBJS): Adjusted. - - * configure.in: For host CPU a29k, rs6000, vax, consider using bsd - or vms ho- files. - - * config/ho-sysv.h (setbuffer, HO_USG): Deleted. - - * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer; - don't initialize it with NULL. - - * config/ho-vax.h (M_VAX): Deleted; was unused. - - * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h: - New files imported from FSF version, contributed by Eric Youngdale. - * README-vms-dbg, config/vms: Deleted. - - * ChangeLog, config/ChangeLog: Merged. - - * config/*tahoe*, configure.in: Tahoe support brought in from FSF - version. - - * input-file.c (input_file_open): Eliminate call to setvbuf. - [USG] (setbuffer): Deleted macro. - -Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com) - - * all files: Whitespace changes for GNU indentation style, done by - GNU `indent'. Some cleanup still needed, especially of comments. - - * configure.in: No te-386bsd.h file exists; don't try to use it. - - * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf. - - * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881; - could be doing emulation. - -Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - z8000 documentation - * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo: - all modified. - -Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h. - - * subsegs.h: add extern to segment_info declaration. - - * read.h: added extern declarations for comment_chars, - line_comment_chars, and line_separator_chars. - read.c, app.c: removed definitions of comment_chars, - line_comment_chars, and line_separator_chars. - - * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined, - still accept (but don't require) OPTIONAL_REGISTER_PREFIX before - the register name. - (insert_reg): put REGISTER_PREFIX before register names before - putting them in the symbol table. - * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not - M68KCOFF. - - * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss - section. - - * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS, - comment_chars, line_comment_chars and line_seperator_chars - consistently const, and always initialized them. Included read.h. - -Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com) - - * tc-sparc.c (sparc_ip): Add code to flag error if an absolute - constant will not fit in an immediate field. - (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow. - -Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com) - - * obj-coff.c (callj_table): Delete global variable. - (obj_emit_relocations): Define it locally here, and only if - TC_I960 is defined. - - * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name. - (m68k_ip): Don't warn about bignum used as float bit-pattern. - - * obj-coff.c: Replaced ANSI and non-ANSI function declarations - with a single set using PARAMS macro. - - * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length - of 2. - - * tc-i960.c: Missed a couple of 0->NO_RELOC conversions. - - * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values, - so widening works consistently. - -Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com) - - * version.c: Put conditional "const" before version_string, not - before dummy function for VMS. Now version 1.91.03. - - * app.c (do_scrub_next_char): Need double-\ before `000' to show - printed rep of null character. - -Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com) - - * obj-coffbfd.c (write_object_file): check return value of - bfd_close_all_done. - -Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com) - - * Support for i386-sysv. - obj-coffbfd.c (do_relocs_for, write_object_file): set segment - addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can - be used to set them all to zero as was done before. - (fill_section): segment addresses now set in write_object_file. - (fill_section): Don't set STYP_NOLOAD for .bss section. - (fixup_segment): 386 uses strange common symbol format. - tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for - compatibility with SVR3.2 linker. - * configure.in: i386-sysv and i386-sco use coffbfd. - - * app.c (do_scrub_next_char): discard whitespace after a label. - -Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4 - hosts, use the sysv configuration for solaris2 - -Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - fix i960+non-bfd coff bit rot. - * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line): - support for C source listings. (obj_coff_endef): look in the right - part of the symbol for the symbol name - - * tc-m68k.c (get_num): make it work for all segments, not just the - first three. - -Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) - - * configure.in: recognize i386-*-bsd emulation. - -Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * configure.in: use the cpu-vendor-os triple for host and target - -Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * obj-coffbfd.c (write_object_file): don't fixup for the z8k - * tc-z8k.c: lots of bug fixes - -Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com) - - * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition - #elif, since it is not supported by old compilers. - ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a - couple of expressions in tc-m68k.c. - -Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * read.c (cons): If NO_RELOC is defined, use it. - - * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new. - -Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com) - - * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require - local labels to start with a .) and set REGISTER_PREFIX to %. - tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined. - -Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com) - - * messages.c: Comment changes. - -Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com) - - * as.h: Test if __STDC__ is defined only, don't test its value. - * messages.c: If __STDC__ is not defined, define NO_STDARG. - -Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com) - - * listing.c (debugging_pseudo): Add stabs and stabn as things to - ignore. - -Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com) - - * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all - sections starting from zero, rather than making them consecutive. - This makes subsequent reloc calculations easier, esp if the object - format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily) - allocate lcomm in .data rather than in .bss. It seems that some - tools can't cope with a non-zero sized bss before linkage. - -Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * tc-m68k.c: Replace "enum m68k_architecture" with "int" - throughout. That enum no longer means what we thought it meant. - - * tc-m68k.c (md_assemble, md_parse_option): Handle new - "-mno-688[58]1" options. - - * tc-m68k.c: Added CPU32 support. - -Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * tc-m68k.c (m68k_ip): An(disp) is not pc relative. - -Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com) - - * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES. - Change LIBDEPS dependence to LIBS. - -Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in (install): if $(tooldir) exists, install as in - $(tooldir)/bin. - -Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com) - - * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any - .word is < -32768 or > 32767. The -J flag causes the error to be - ignored. This is to catch over-sized switches generated by gcc on - systems which don't support the broken .word hack. - as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD. - write.c (fixup_segment): check for signed .word overflow if - WARN_SIGNED_OVERFLOW_WORD. - - * write.c (fixup_segment): fixed missing parens in expression - checking for byte or word overflow. - - * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD. - obj-coffbfd.c (fixup_segment): check for signed .word overflow if - WARN_SIGNED_OVERFLOW_WORD. - - * obj-coffbfd.c (fixup_segment): fixed missing parens in - expression checking for byte or word overflow. - -Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - Support for i386 coff - * obj-coffbfd.h : added stuff - * tc-i386.c (tc_coff_fix2rtype): new function - * tc-i386.h : new coff defines - -Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com) - - * input-scrub.c (input_scrub_push): call input_file_begin, not - input_scrub_begin. - messages.c (as_perror): print ": " between the passed in error and - the strerror, like perror does. - -Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in: use gas_target instead of modifying target_cpu. - From Steve Chamberlain: - Makefile.in: Handle m68*-*-coff*. - read.c, read.h: add mult argument to s_space - - * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge - Motorola and MIT syntax; gas can now assemble either type of - file. - tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files. - From Steve Chamberlain: - m68kcoff.mt: for m68k COFF. - obj-coffbfd.c: (fixup_mdeps) added - (size_section) removed bad sanity check - (fill_section) added rs_machine_dependent case - (write_object_file) call fixup_mdeps - (fixup_segment) set fx_subsy to 0. - obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and - handle m68k. - tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala - pseudo ops. - -Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * Makefile.in (LIBS): Include opcode library. - -Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com) - - * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers - including zero are accepted, pass +0.0. - -Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in: map "as" through program_transform_name when - installing. - - * doc/Makefile.in: map "as" through program_transform_name when - installing. - -Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com) - - * Makefile.in (as.new): Depend on LOCAL_LOADLIBES. - -Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com) - - * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars), - tc-i960.c (md_ri_to_chars): Always output bout object file in - little endian byte order (used to use endianness of host). - -Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * config/tc-m68k.c (init_table): Now const. Always include 68851 - data, so that "bc" is available to 68040 cache instructions. - Added "tt0", "tt1", and 68ec030 variants. - (md_assemble): Complain if 68000 (only) and 68881 are specified. - (enum _register): Added TT0, TT1. - (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass - line number correctly in "internal error" messages. Don't print - architecture-mismatch message for operand errors. - - From Colin Smith (colin@wrs.com): - * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather - than install_operand. - -Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * listing.c (buffer_line): rewind to the start of include - files, they might be included twice. - - * z8k.c, z8k.h, z8k.mt: z8000 support stuff - -Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in: defined TARGET_CPU for C code so that it can choose - one element of a family. - - * tc-m68k.c: use TARGET_CPU to choose default cpu type. - - * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB - so that we can assemble hand-written libgcc code. - -Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * messages.c (as_warn): Use fputs, not fprintf, with a buffer that - has already been formatted (but may still contain %-characters). - (as_bad): Likewise. - -Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com) - - * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be - written with indirection on the last two operands, which can be - either data or address registers. Added a new operand type 'r' - which accepts either register type. Added '(' to notend stuff in - tc-m68kmote.c to accept (a0):(a2) in cas2 instruction. - -Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com) - - * as.h (enum _relax_state): Start off at one, not zero, to better - catch uninitialized-variable errors. - (linkrelax): Declare new variable. - - * messages.c (warning_count, error_count): Default initializer is - sufficient. - - * write.c: Merged some declarations, using PARMS macro. - (text_frag_root, data_frag_root, bss_frag_root, text_last_frag, - data_last_frag): No longer static. - (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is - defined, call it. Change segments before calling fixup_segment. - (relax_align): If linkrelax, provide extra padding. - - * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite - their not having symbols associated. - - * tc-i960.c (norelax, instrument_branches): Default initializer is - sufficient. - (linkrelax): Delete variable definition. - (mem_fmt): Call fix_new with NO_RELOC. - (tc_bout_fix_to_chars): Handle alignment relocs. - (i960_handle_align): New function. - * tc-i960.h (linkrelax): Delete declaration. - (HANDLE_ALIGN): New macro; calls i960_handle_align. - (NEED_FX_R_TYPE, NO_RELOC): New macros. - -Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com) - - * config/sparc.mt: New file. Grab sparc opcode table from bfd - library. - -Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in: always create installation directories. Removed - MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed - FLAGS_TO_PASS to recursive makes. - - * doc/Makefile.in: always create installation directories. - -Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was - being used with args swapped, causing occasional lossage when - refilling buffers after an include file. - -Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com) - - * messages.c (as_tsktsk): Use correct ANSI form for stdarg - version. Discard bogus DONTDEF version. - (as_warn, as_bad, as_fatal): Likewise. - -Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com) - - * config/tc-m68k.c (m68k_ip): If instruction is invalid for the - selected architecture, print a message saying so and listing what - processors support it, rather than saying "operands mismatch". - -Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com) - - * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks. - - * config/ho-rs6000.h (M_RS6000): Don't define it. - (free): Declare it. - (BROKEN_ASSERT): Define it if not __STDC__. - -Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com) - - * sparc.mt: New file. - -Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com) - - * tc-m68k.c: ".align N" means align to N-byte boundary *only* - if TN_SUN3; otherwise align to 2**N-byte bounary. - -Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * read.c (s_fill): make the .fill size clamped error a warn and - fix bug where 0's were always placed. - - * config/tc-h8300.c: if a :8 is seen after an operand, fill top - two bytes of any constant with 0xff: - -Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/tc-m68k.c (md_pseudo_table): fix the .align thing - the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo. - -Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com) - - * tc-m68k.c (try_index): Error if index scaling specified and - assembling for an older CPU than a 68020. - -Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com) - - * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take - fx_offset into account. - -Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com) - - * configure.in (mips host): Accept "ultrix" with version number. - - * expr.c (floating_constant): Separate "=-" to avoid confusing - ancient or broken compilers. - - * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate - processor/opcode mismatch, so reword the error message. - (md_assemble): If no CPU has been set (even if FPU/PMMU - characteristics have been), default to 68020. Don't need extra - quotes around error string. - -Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com) - - * read.c (potable): Revert sac's incorrect change made Jul 13. - Align really is supposed to be ptwo not nbytes. - -Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com) - - * Makefile.in: _Do_ include libiberty. (from sef) - -Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com) - - * expr.c (integer_constant): Handle "0f" and "0b" label references - properly. - -Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * write.c (fixup_segment): if relaxing, don't do anything. - * config/obj-bout.[ch] : maintain the a_relaxable file header info - * config/tc-i960.c: new option -linkrelax - -Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * expr.c (expr): allow SEG_BSS in expressions - * read.c (potable): align should be nbytes, not ptwo! - * write.c (write_object_file): extra glue for new bss attributes - (relax_segment): SEG_BSS is ok now - * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes - -Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com) - - * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT - -Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com) - - * configure.in: recognize m680x0 as having sun3 emulation mode for - vxworks environment. - - -Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com) - - * Makefile.in: Add program_suffix (parallel to program_prefix) - -Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * app.c (process_escape): new function to handle escapes the right - way, (do_scrub_next_char): use new function - * cond.c (s_ifdef): do ifdef/ifndef right - * read.c (s_fill): make the , expressions optional like the doc - says - * config/tc-h8300.[ch]: better warnings - -Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * subsegs.c (subsegs_begin): create bss0_frchainP in the same was - as data0_frchainP - - * write.c (write_object_file): various changes to handle data in - the BSS segment in much the same was as stuff in the DATA segment. - - * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do - pcrel data stuff. (md_estimate_size_before_relax): when relaxing a - 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into - the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put - it into SEG_BSS - -Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * expr.c(expr): allow SEG_REGISTER in expressions. - * read.c(pseudo_set): register expressions can be the source of a - set. - * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to - goto SEG_TEXT (if a.out) - * write.c (write_object_file): If a.out don't use the old way for - -R. - * config/obj-a.out (s_sect): complain if the user tries to use a - subsegment with a value which might interfere with out -R hackery. - * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table - rather than use ugly if tree. (init_regtable): insert register - names into symbol table. - -Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com) - - * write.c (write_object_file): keep the fix_tail clean, which - fixes a bug in -R where relocations were being lost. - -Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com) - - * configure.in: recognize m680x0 as having sun3 emulation mode for - vxworks environment. - -Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com) - - * configure.in: recognize m680x0 as an m68k - -Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com) - - * configure.in: Recognize sparclite as a sparc variant. - - * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new - -Asparclite flag. - -Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * config/tc-a29k.c: lint - * listing.c, expr.c: patches from Andrew Smith - -Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com) - - * doc/Makefile.in: use m4 rather than gm4. - -Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * obj-coffbfd.c: use is a synonym for section, (do_relocs_for): - calc the base of relocs correctly. - * tc-a29k.c (parse_operand): allow expressions to be in any section. - -Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com) - - * as.c, write.c: use -K rather than -k for the broken word warning - option. - -Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com) - - * Makefile.in: do not print recursion lines. - -Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com) - - * Makefile.in: the tooldir copy of gas goes directly in tooldir. - -Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM) - - * write.c (write_object_file): For b.out format, round up section - start addresses to match required alignment. - -Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM) - - * Makefile.in (install): Install into $(tooldir)/bin, since that's - where gcc looks for it. - -Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com) - - * Makefile.in: Changed some lines to be less confusing for some - makes. - - * input-file.c: Conditionalize on _IOFBF, not VMS. - - * read.c, write.c: Change a series of ifdef/elif to - ifdef/else/ifdef etc. - -Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com) - - * symbols.c (fb_label_init): fix sizeof to memset. - -Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com) - - * Makefile.in: install the man page. - - * Makefile.in: pass down MAKEINFO explicitly on info. - - * doc/Makefile.in: use $(MAKEINFO) not makeinfo. - -Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * flonum-const.c: renamed flonum-konst.c to stop dos name - conflict. - -Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com) - - * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from - tc-m68k.h to te-sun3.h. - -Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com) - - * configure.in: vxworks68 gets te-sun3.h. - - * expr.c: remove limitation that local_labels_dollar or - local_labels_fb must be < 10. - - * symbols.c: remove local_labels_dollar, replace with a function - interface for a sparse array. All users adjusted. - - * te-sun3.h: add LOCAL_LABELS_DOLLAR. - -Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com) - - * doc/Makefile.in: commented out line for building as-all.texinfo. - This is temporary. - - * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks. - -Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com) - - * Makefile.in: added check target. - -Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com) - - * Makefile.in: added tooldir and program_prefix. - -Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com) - - * write.{c,h} (fix_new): Make these declarations consistent. - -Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com) - - * Makefile.in (strerror.o): Add rule so that broken Sun make can - work in subdirs. - -Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com) - - * read.c, obj-coffbfd.c : fix h8300 specific bit rot - - * expr.c (operand): if can't work out what sort of operand it is, - then look through FLT_CHARS for a hint. - -Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) - - * Makefile.in, configure.in: removed traces of namesubdir, - -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced - copyrights to '92, changed some from Cygnus to FSF. - - * doc/Makefile.in, doc/configure.in: removed traces of namesubdir, - -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced - copyrights to '92, changed some from Cygnus to FSF. - -Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com) - - * expr.c: If an expression is single comma, then return with - SEG_ABSENT rather than an error - since the sparc front end does - really strange things with things like fbge,a - - * as.h: include bfd.h if using many sections - * expr.c: LOCAL_LABELS_FB had been changed to lower case - so - local labels didn't work. - * listing.c (list_symbol_table): don't core dump when there's no - symbol there. - * write.c, write.h: call fix_new with the right number of args on - the H8. - * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make - errors nices - -Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com) - - * app.c: MRI compatibility - allow single quote to start a string. - * 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- 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. - -Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com) - - * Makefile.in: put header files before C source for TAGS; remove - references to non-existent syscalls.h. - - * read.c, write.c subsegs.c: back out the .bss changes. - - * obj-aout.c: do not include stab.gnu.h if NO_LISTING. - - * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place. - - * a.out.h: removed. - -Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM) - - * symbols.c (local_label_name): symbols now start with ^A. - - * read.c, subsegs.c, write.c obj-coff.c: added handling of - `.bss` pseudo op for unitialized data. The new gcc (1.37.9x) - generate these sections. .align: will use NOP_OPCODE or 0 - for padding. This is just for being nice to the - disassembler. - - * expr.c (operand): changed to generate local label "\001L0" - starting with a ^A so that it is recognized as a local label. - - * as.c (perform_an_assembly_pass): zero bss_fix_root, too. - - * tc-i386.c: tc-i386.c: added handling of the following opcodes: - i/o opcodes - inb, inw, outb and outw. string manipulation with - att syntax - scmp, slod, smov, ssca, ssto. - - * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss - to just after .file . - - In obj_crawl_symbol_chain() where it tries to put the external - symbols apart, with the condition: - (!S_IS_DEFINED(symbolP) && - !S_IS_DEBUG(symbolP) && - !SF_GET_STATICS(symbolP)) - it was moving too many symbols out. So I switch it back to the - condition: - (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP)) - - In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO - so that we don't use the F_RELFLG which make the linker complain - that somebody has stripped the relocation info. - - Also, the AIX ld program require that the relocation table - is sorted by r_vaddr like the standard ATT assembler does. - - [he also changed the sizeof(struct ...)'s into the coff - style FOOSZ macros. I'm not sure this is right, but I can't - remember why. xoxorich.] - -Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com) - - * Makefile.in, configure.in, doc: use the doc. Build it, install - it, clean it, etc. - -Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com) - - * read.c: white space and comments only. - - * configure.in: use the new atof-ns32.c for ns32k. - - * write.c: comment change only. - - * tc-m88k.[hc]: pulled in from hack's unfinished work. These - aren't yet integrated. - - * tc-i860.[hc]: blew off the dust. Something must still be done - about conflicting relocation types. - - * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the - real thing. - - * tc-i960.c, tc-sparc.c: white space and comments only. - - * tc-a29k.h: delete duplicate macro definition. - - * new file atof-ns32k.c copied from hack's last unreleased gas. - -Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com) - - * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work - rather than abort. - - * nearly everything. flush ChangeLog, package as gas-1.92.1. - ChangeLog's prior to this are sketchy at best. I have logs. - They just aren't ChangeLogs. +For older changes see ChangeLog.1. diff --git a/gas/ChangeLog.1 b/gas/ChangeLog.1 new file mode 100644 index 00000000000..2493561ae26 --- /dev/null +++ b/gas/ChangeLog.1 @@ -0,0 +1,12586 @@ +Sat Sep 30 23:03:31 1995 Jeff Law (law@hurl.cygnus.com) + + * config/tc-hppa.c (hppa_fix_adjustable): DP relative relocs + are not adjustable in SOM to avoid confusing the optimizing + linker. + +Fri Sep 29 15:18:08 1995 Ian Lance Taylor + + Add some support for i960 MRI compatibility mode. + * config/tc-i960.c (md_pseudo_table): Add endian. + (get_args): Don't discard a space between alphanumeric characters. + (get_cdisp): Change text_section to now_seg. + (s_endian): New static function. + * config/tc-i960.h (MRI_MODE_NEEDS_PSEUDO_DOT): Define. + * expr.h (operatorT): Add O_logical_not, O_logical_and, and + O_logical_or. + * expr.c (operand): Treat '!' as logical not operator. If + TC_I960, in MRI mode permit `sizeof secname' and `startof + secname'. + (op_rank): Bump values by 2 to make room for && and ||. Add + entries for !, &&, and ||. + (expr_begin): Only do MRI changes if TC_M68K. + (operator): Recognize || and &&. + (expr): Handle new operatorT values. + * symbols.c (resolve_symbol_value): Handle new operatorT values. + (print_expr_1): Likewise. + * read.c (potable): Add debug, err, irep, irepc, print, purgem, + and rep. + (read_a_source_file): Handle MRI_MODE_NEEDS_PSEUDO_DOT. + (mri_comment_field): Only handle weird comments if TC_M68K. + (s_err): New function. + (s_org): Only punt in MRI mode if TC_M68K. + (s_mri_sect): Write TC_I960 version. + (s_print, s_purgem): New functions. + * read.h (s_err, s_print, s_purgem): Declare. + * cond.c (s_ifeqs): Implement. + (ignore_input): Handle MRI_MODE_NEEDS_PSEUDO_DOT. + * macro.c (macro_strip_at): New static variable. + (macro_init): Add strip_at parameter. + (do_formals): If macro_strip_at, change NARG to $NARG. + (define_macro): Skip a comma after the macro name. + (get_apost_token): Skip character if macro_strip_at, even if + macro_mri. + (macro_expand_body): If macro_strip_at, don't recognize parameters + in strings unless they are preceded by an '@'. If macro_strip_at, + pass '@' as strip character to sub_actual. If macro_strip_at, + strip '@' characters. + (macro_expand): If macro_strip_at, change NARG to $NARG. + (delete_macro): New function. + (expand_irp): Skip leading and trailing '"' characters if irpc. + * macro.h (macro_init): Mention new strip_at parameter. + (delete_macro): Declare. + * as.c (main): If TC_I960, pass flag_mri to macro_init as + strip_at; otherwise, pass 0. + * gasp.c (process_pseudo_op): Pass 0 to macro_init as strip_at. + (main): Likewise. + * doc/as.texinfo: Document i960 MRI mode. + + * as.c (show_usage): Mention --defsym. + +Thu Sep 28 19:25:04 1995 Stan Shebs + + * mpw-config.in: Translate "powerpc" into "ppc", remove gen of + VERSION, move gen of "conf" here from makefile. + * mpw-make.sed: New file, sed commands to translate Unix makefile + into MPW syntax. + * mpw-make.in: Remove. + * mac-as.r: New file, Mac resource file. + * as.h (inline): Don't decide about defining if __MWERKS__, + remove redundant conditional and definition. + + * stabs.c (s_stab_generic): Fix syntax for OBJ_PROCESS_STAB. + +Thu Sep 28 15:43:15 1995 Kim Knuttila + + * config/tc-ppc.c (md_apply_fix3): Removed some TE_PE specific + manipulations, since I can't prove they're needed. + (md_begin): Removed init_regtable, insert_reg, and the call points. + (register_name): New function. Parses a register name, if appropriate. + (md_assemble): Added call to register_name to handle symbolic names. + (ppc_pe_section): Removed all duplicate IMAGE defines, and include + coff/pe.h instead. + +Thu Sep 28 12:09:19 1995 Ian Lance Taylor + + * config/tc-ppc.h (tc_fix_adjustable): Define. + (ppc_pe_fix_adjustable): Declare. + * config/tc-ppc.c (ppc_pe_fix_adjustable): New function. + +Thu Sep 28 01:11:58 1995 Doug Evans + + * config/tc-arm.h (TARGET_FORMAT): Define for arm-coff. + +Wed Sep 27 12:53:58 1995 Ian Lance Taylor + + * symbols.c (S_IS_LOCAL): All symbols in reg_section are local. + + * config/tc-ppc.h (OBJ_XCOFF): Define if OBJ_COFF and not TE_PE. + Change OBJ_COFF checks to check OBJ_XCOFF instead. + (TARGET_FORMAT): Fully parenthesize. + (LEX_QM): Define if TE_PE. + * config/tc-ppc.c: Replace OBJ_COFF by OBJ_XCOFF throughout. + Remove checks of TE_PE within #ifdef OBJ_XCOFF sections. + (init_regtable): Make i unsigned. + (ppc_set_current_section): Rename from setCurrentSection. Change + all callers. + (ppc_arch): Return after as_fatal to avoid gcc warning. + (md_assemble): Only declare reloc if OBJ_ELF. Add default to + switch on fixups[i].reloc to avoid gcc warning. + (IMAGE_SGN_LNK_OTHER): Fix nested comment. + (ppc_pe_function): Don't call ppc_canonicalize_symbol_name. + (ppc_frob_symbol): Remove TE_PE section checks. + (md_estimate_size_before_relax): Return after abort to avoid gcc + warning. + (md_apply_fix3): Add BFD_RELOC_16_GOT_PCREL to switch. + * read.c (LEX_QM): Define as 0 if not defined. + (lex_type): Use LEX_QM for '?'. + + * configure.in: No need to check whether ${cpu_type} is powerpc; + it never will be. + * configure: Rebuild. + +Wed Sep 27 11:33:38 1995 Michael Meissner + + * config/tc-ppc.c (md_apply_fix3): Remove Sep 26 changes to this + function, keeping other Sep. 26 changes. + +Wed Sep 27 10:29:13 1995 Kim Knuttila + + * configure (emulations): Added support for ppcle-*-[pe|winnt] + (target_frag): Removed an extraneous PPC definition. + * configure.in (emulations): Same + * config/tc-ppc.h: + * config/tc-ppc.c (md_pseudo_table): Base support for new or altered + pseudo ops - There will be more. + (pre_defined_registers): Predefined reg table to name registers, etc + (md_begin): Setup reg table initialization + (md_assemble): Initial [toc]x(rtoc) support + (ppc_frob_label): Removed some xcoff specific processing from TE_PE + (ppc_frob_symbol): Removed some xcoff specific processing from TE_PE + Added support for more predefined sections + (ppc_frob_section): Removed some xcoff specific processing from TE_PE + (ppc_fix_adjustable): Removed from TE_PE mainline + (md_apply_fix3): For TE_PE toc entries, we don't need to mess + with fx_addnumber. Removed for the time being. + (lots): Put back missing assignments to ppc_current_csect. + +Tue Sep 26 14:57:59 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_suffix): Support all of the V.4 + relocations. + (ppc_elf_cons): Remove restriction that @ suffixes must be done + with .long. Add error if relocation does not fit in the number of + bytes provided. + (md_assemble): For absolute branches, map PC relative relocations + back into an equivalent absolute relocation. + (md_pcrel_from): If TC_FORCE_RELOCATION is true, relocation offset + is 0, not segment start. + (md_apply_fix3): Don't bother writing addend into the instruction, + since it is ignored, given that we use RELA relocations for ELF. + + * config/tc-ppc.h (TC_FORCE_RELOCATION): Define to force all + branch prediction relocations to always be emitted. + +Mon Sep 25 16:08:43 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_suffix): Lower case reloc before + testing. + (md_assemble): Be more robust in terms of relocations. + (md_apply_fix3): Allow 14 bit relocs to be emitted for external + symbols in addition to 26 bit relocs. Properly insert 26/14 bit + reloc value fields into the instruction stream. + +Mon Sep 25 00:23:16 1995 Ian Lance Taylor + + * config/tc-arm.c (md_atof): Output little endian constants in + little endian mode. + + * config/obj-coff.c (obj_coff_section): Pass &type, not type, + s_mri_sect. + + * configure.in: Fix typo: fmt-elf to fmt=elf. + +Fri Sep 22 16:34:46 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_suffix): Rewrite to use a table of + strings and relocations they represent. Add @br{,n}taken for + branch taken/not taken support. + (md_apply_fix3): Add BFD_RELOC_PPC_B16_BR{,N}TAKEN support. + +Thu Sep 21 21:10:17 1995 Michael Meissner + + * config/tc-ppc.c (md_parse_option): -mrelocatable-lib now only + sets EF_PPC_RELOCATABLE_LIB and not also EF_PPC_RELOCATABLE. + +Thu Sep 21 16:30:56 1995 Ian Lance Taylor + + * subsegs.c (subseg_set): Permit SEG_ABSOLUTE in know expression. + * expr.c (expr): Account for new operatorT values in know + expression. + + * write.c (fixup_segment): Clear fixp->fx_subsy if the relocation + is fully resolved. + +Thu Sep 21 14:11:49 1995 Michael Meissner + + * config/tc-ppc.c (ppc_flags): New variable to hold the flag bits + to set in the ELF header. + (md_parse_option): Add support for -mrelocatable-lib. Make both + -mrelocatable and -mrelocatable-lib set ppc_flags. + (md_begin): Set ELF flags with ppc_flags. + +Wed Sep 20 13:01:52 1995 Ian Lance Taylor + + * Makefile.in (maintainer-clean): New target, synonym for + realclean. Add GNU standard maintainer-clean echos. + * doc/Makefile.in (maintainer-clean): New target, synonym for + realclean. + +Tue Sep 19 11:31:31 1995 Ian Lance Taylor + + * config/tc-m68k.c (m68k_ip): Reject immediate operands for '%'. + + * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'. + Replace 'P' with '0', '1', and '2'. + + * config/tc-m68k.c (parse_mri_control_operand): Change leftstop + and rightstop to not be const. + (parse_mri_control_expression): Likewise. + (build_mri_control_operand): Likewise. Use m68k_ip_op to examine + the operand, not m68k_reg_parse. + (s_mri_if): In MRI mode, stop at the first '*'. + (s_mri_while): Likewise. + (s_mri_else): In MRI mode, ignore trailing characters. + (s_mri_endi, s_mri_break, s_mri_next, s_mri_for): Likewise. + (s_mri_endf, s_mri_repeat, s_mri_until, s_mri_endw): Likewise. + * config/m68k-parse.y: Revert yesterday's change. + * config/m68k-parse.h: Revert yesterday's change. + +Mon Sep 18 15:22:28 1995 Ian Lance Taylor + + * config/tc-m68k.c (parse_mri_control_operand): Change leftstart + and rightstart to not be const. + (parse_mri_control_expression): Likewise. + (build_mri_control_operand): Likewise. If the left side of the + comparison is a register, and the right side is not, swap the two + sides. + * config/m68k-parse.y (m68k_reg_parse): Make globally visible. + * config/m68k-parse.h (m68k_reg_parse): Declare. + + * read.c (mri_comment_field): New function. + (mri_comment_end): New function. + (s_align_bytes): Use mri_comment_field. + (s_align_ptwo, s_comm, s_mri_common, s_fail, s_globl): Likewise. + (s_float_space, s_struct): Likewise. + (s_space): Use mri_comment_field rather than doing it by hand. + (cons_worker, equals): Likewise. + (s_end): Ignore comments starting with '*' or '!'. + * read.h (mri_comment_field): Declare. + (mri_comment_end): Declare. + * cond.c (s_if): Use mri_comment_field. + * config/tc-m68k.c (s_chip, s_reg): Likewise. + + * write.c (fixup_segment): Handle ABS-sym in -sym case rather than + sym-sym case. + * config/obj-coff.c (fixup_segment): Likewise. Permit negative + symbols if TC_M68K. + * config/tc-m68k.c (tc_coff_fix2rtype): If fx_tcbit is set, return + R_RELLONG_NEG. + (tc_gen_reloc): If fx_tcbit is set, abort. + (md_apply_fix_2): For a negative reloc, move fx_subsy to fx_addsy, + and set fx_tcbit. + + * config/tc-m68k.c (s_reg): Ignore comment field in MRI mode. + +Mon Sep 18 14:44:04 1995 Arne H. Juul + + * configure.in (mips-dec-netbsd*): New target. + * configure: Rebuild. + +Sun Sep 17 22:17:43 1995 Ian Lance Taylor + + * configure.in: Set endian to little for mips-*-ultrix*. + * configure: Rebuild. + +Fri Sep 15 13:16:55 1995 Ian Lance Taylor + + * expr.c (current_location): New static function. Handle magic + symbol `.'; in absolute section, return a constant. + (operand): Call current_location for '.' and '$', instead of doing + it inline. In MRI mode, call current_location for '*'. + +Fri Sep 15 21:39:29 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-m68k.c: Change some "CONST" references to "const". + +Fri Sep 15 17:27:41 1995 Ken Raeburn + + Tue Sep 12 17:08:23 1995 Pat Rankin + + * config/obj-vms.c (VMS_stab_parse): simplify first loop; + use S_GET_NAME/modify/S_SET_NAME sequence instead of abusing + S_GET_NAME when updating symbol name. + (local_symbols_DST): first prefix/postfix typo from July 21st. + [plus comment reformatting --kr] + +Wed Sep 13 12:33:03 1995 Ian Lance Taylor + + * Makefile.in (EXPECT): New variable. + (CHECKFLAGS): Remove. + (site.exp): New target. + (check): Rewrite to invoke runtest directly, rather than recurring + down into testsuite. + (clean-here): Remove testsuite directory. + (clean, distclean): Don't recur into testsuite. + * configure.in: Don't call AC_CONFIG_SUBDIRS(testsuite). + * configure: Rebuild. + + * write.c (relax_and_size_seg): Change to the segment we are + relaxing, in case md_convert_frag, called by cvt_frag_to_fill, + wants to call fix_new. + * config/tc-m68k.c (m68k_ip): Permit PC relative code if the + segment of the symbol is the current segment, not just in + text_section. + (md_convert_frag_1): Don't call subseg_change. + (md_estimate_size_before_relax): Likewise. + +Tue Sep 12 10:36:40 1995 Doug Evans + + * config/tc-arm.c (md_atof): Fix debugging printf, and leave it + out by default. + +Mon Sep 11 11:39:11 1995 Ian Lance Taylor + + * doc/configure.in: Remove unused file. + + * app.c (do_scrub_chars): Grab all available spaces at start of + line before preserving a single space. Remove state == 0 test + which will never succeed. + * macro.c (macro_expand_body): Delete local variables from the + formal hash table. + (macro_expand): In MRI mode, stop when whitespace is seen in the + argument list. + + * sb.c: Include "libiberty.h". + * macro.c: Likewise. Also include if it exists. + +Fri Sep 8 00:27:46 1995 Ian Lance Taylor + + * app.c (do_scrub_chars): In MRI mode, keep a space before a + possible comment character. + * config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after + an instruction which takes no operands. + + * Makefile.in (install): Don't install gasp in $(tooldir). + + * config/tc-mips.c (macro): Handle a non zero base register for + M_U{L,S}{D,W,H}_A. + + * gasp.c (show_usage): Put program_name argument in first fprintf, + not second. + +Thu Sep 7 12:33:58 1995 Ian Lance Taylor + + * expr.c (operand): Handle 08 and 09 in MRI mode. + * macro.c (ISSEP): Remove duplicated `"' character. + (get_any_string): Copy some characters for which ISSEP is true: + ';', '>', '(', ')'. Otherwise we can get in an infinite loop. + * read.c (s_space): In MRI mode, the expressions stop at the first + unquoted space. + (cons_worker): In MRI mode, restore the terminating character at + the end of the function. + + * read.c (cons_worker): Don't use #elif; old compilers don't + support it. + +Wed Sep 6 21:13:06 1995 Ian Lance Taylor + + * app.c (do_scrub_chars): In MRI mode, silently end quoted strings + at newline characters. In MRI mode, always keep spaces in the + operands field. In MRI mode, treat a line comment character as a + regular comment character following a space. + * cond.c (ignore_input): Use strncasecmp rather than strncmp when + looking for special pseudo-ops. + * read.c (cons_worker): In MRI mode, the expressions stop at the + first unquoted space. + (equals): Likewise. + +start-sanitize-sh3e +Wed Sep 6 15:03:53 1995 Jim Wilson + + * config/tc-sh.c (get_operands): Read third arg if it exists. + Otherwise, clear it. + (get_specific, case F_FR0): Add. + +end-sanitize-sh3e +Wed Sep 6 15:03:53 1995 Jim Wilson + + * config/tc-sh.c (get_specific): Delete arg_to_test. + (md_assemble): Increase operand array from 2 to 3. + +Tue Sep 5 16:47:36 1995 Stan Shebs + + * config/tc-mips.c: Remove CYGNUS LOCAL comments. + (md_begin): Use 0/1 instead of TRUE/FALSE. + (md_show_usage): Break up long format string for the benefit + of lame compilers. + * config/tc-m68k.c (md_show_usage): Ditto. + * gasp.c (show_usage): Ditto. + * macro.c (check_macro): Cast result of hash_find. + +Tue Sep 5 14:46:38 1995 Ken Raeburn + + * configure.in: When testing for a free() declaration in system + header files, cast the address to a function pointer, not to an + integer. + + * write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE + is defined. Don't initialize fx_bsr. Verify that fx_size field + is wide enough to hold stored value. + * write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if + that is defined, otherwise omit it. Delete fx_bsr. Change + fx_size to unsigned char. + * config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New + macros. + * config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New + macros. + * config/tc-hppa.h (TC_FIX_TYPE): Define as PTR. + + * config/tc-i860.c (md_apply_fix): Delete code for checking + fx_im_disp, and for handling non-zero values, since it never gets + set after being initialized to zero. + + * write.h (struct fix): Make fx_im_disp always 2 bits, since the + only tc-* files actually using it need that much. + + NS32K changes from Ian Dall: + * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and + ns32k-pc532-lites* like ns32k-pc532-netbsd*. + * config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1. + +Fri Sep 1 17:02:15 1995 steve chamberlain + + * write.c (fixup_segment): Get TC_FORCE_RELOCATION up the + right way! + +Fri Sep 1 08:20:19 1995 James G. Smith + + * config/tc-mips.c (md_parse_option, md_begin, md_show_usage): + Add support for "-mcpu=vr4300" as processor identifier. + +Thu Aug 31 16:41:06 1995 steve chamberlain + + * write.c (fixup_segment): Remove change of 29th. + * config/tc-{i386,arm}.h (TC_FORCE_RELOCATION): Keep RVA relocs. + +Tue Aug 29 19:42:58 1995 Andreas Schwab + + * config/tc-m68k.c (m68k_ip) [case POST/PRE/BASE]: Fix typo when + looking at outer displacement. Don't set the postindex bit if the + index suppress bit is set (for memory indirect addressing mode). + +Thu Aug 31 06:49:37 1995 Doug Evans + + * config/tc-arm.c (tc_gen_reloc): Delete duplicated code. + +Wed Aug 30 23:51:57 1995 Ian Lance Taylor + + * app.c (do_scrub_chars): Free saved_input when the from buffer + exactly fills the to buffer. + +Wed Aug 30 13:46:39 1995 Doug Evans + + * config/tc-sparc.c (parse_keyword_arg, parse_const_expr_arg): New fns. + (sparc_ip): Call them for asi, membar, and prefetch parsing. + +Tue Aug 29 15:45:37 1995 Doug Evans + + * config/tc-sparc.c (membar_masks): Deleted. + (sparc_ip): Clean up ASI and membar support. + +Tue Aug 29 13:20:27 1995 steve chamberlain + + * read.c (potable): Rva is new entry. + (cons_worker): New, split from cons. Handles rva. + (cons, s_rva): Call cons_worker. + * read.h (s_rva): New declaration. + * write.c (fixup_segment): Don't throw away rva relocs. + * config/tc-arm.c (md_apply_fix, tc_gen_reloc): Handle RVA. + * config/tc-i386.c (tc_coff_fix2type): Handle RVA. + * config/tc-i386.h (TC_COUNT_RELOC): Remember RVAs. + (TC_RVA_RELOC): New definition. + +Sun Aug 27 17:41:05 1995 Doug Evans + + * config/tc-arm.c (do_swi): Allow optional leading '#'. + +Sat Aug 26 17:24:20 1995 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-m68k.c (comment_chars): If TE_DELTA is defined, + include '#'. + * config/tc-m68k.h (NO_PSEUDO_DOT): Define if TE_DELTA is + defined. + + * config/te-delta.h: Include obj-format.h. + * config/te-sco386.h: Likewise. + * config/te-sysv32.h: Likewise. + + * app.c (scrub_file): Remove. + (scrub_from_file, scrub_to_file): Remove. + (scrub_string, scrub_last_string): Remove. + (scrub_from_string, scrub_to_string): Remove. + (saved_input, saved_input_len): New static variables. + (struct app_saved): Remove scrub_string, scrub_last_string, and + scrub_file fields. Add saved_input and saved_input_len fields. + (app_push): Adjust saved fields for changes in struct app_save. + Initialize state and saved_input. + (app_pop): Adjust saved fields for changes in struct app_save. + (do_scrub_chars): Rename from do_scrub_next_char and rewrite to + process a buffer at a time rather than a character at a time. + (main, as_warn): Remove obsolete testing code. + * as.h (do_scrub_next_char): Don't declare. + (do_scrub_chars): Declare. + (scrub_from_file, scrub_from_string): Don't declare. + (scrub_to_file, scrub_to_string): Don't declare. + * input-file.c (input_file_get): New static function. + (input_file_give_next_buffer): Call do_scrub_chars rather than + do_scrub_next_char. + * read.c (scrub_string, scrub_string_end): New static variables. + (scrub_from_string): New static function. + (read_a_source_file): Call do_scrub_chars rather than + do_scrub_next_char. + +Thu Aug 24 18:50:19 1995 Ian Lance Taylor (ian@cygnus.com) + + * gasp.c (as_abort): New function. + * sb.c (sb_build): Revert yesterday's patch. + + * Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a. + Just link against libiberty, not against $(LIBS). + +Wed Aug 23 15:18:20 1995 Ian Lance Taylor (ian@cygnus.com) + + * sb.c (sb_build): Undefine abort before calling it, since gasp + does not provide as_abort. + +Wed Aug 23 10:40:41 1995 Michael Meissner + + * config/tc-ppc.c (set_target_endian): New static to say whether + we've initialized target_big_endian or not. + (md_parse_option): Set set_target_endian if we set the variable + target_big_endian. + (md_begin): Only set target_big_endian if !set_target_endian. + +Tue Aug 22 03:00:33 1995 Ken Raeburn + + Sat Aug 19 18:08:16 1995 Pat Rankin + + * config/obj-vms.h (DST_S_C_SRC_SETREC_W, DST_S_C_SRC_DEFLINES_B): + New macros. + * config/obj-vms.c (VMS_TBT_Line_PC_Correlation, + VMS_TBT_Source_Lines): Make traceback info be robust enough to + handle huge source files. + (VMS_TBT_Source_File): Reorganize the native- vs cross-assembly + support so that actual object file output is clearer. + (VMS_TBT_Source_File: Fab, Nam, Date_Xab, File_Header_Xab): + Replace static variables with automatic ones. + + Sat Aug 12 20:18:15 1995 Pat Rankin + + * config/obj-vms.c (Module_Name): new file scope variable. + (VMS_TBT_Module_Begin): use it instead of local variable. + (Write_VMS_MHD_Records): ditto; assign its value here. + (Write_VMS_EOM_Record): second argument has type valueT. + (VMS_Initialized_Data_Size): simplify search loop; return + type is offsetT; second argument is unsigned. + + Sat Jun 17 19:05:25 1995 Pat Rankin (rankin@eql.caltech.edu) + + * messages.c (as_perror): Use xstrerror instead of strerror. + +Mon Aug 21 13:57:20 1995 Ian Lance Taylor + + * as.c (parse_args): Accept --defsym SYM=VALUE. + * doc/as.texinfo, doc/as.1: Document --defsym. + + * read.c (read_a_source_file): In MRI mode, don't end the + statement inside a quotation. + (s_space): Don't warn about a zero repeat count in MRI mode. + * config/tc-m68k.c (crack_operand): In MRI mode, don't count + parentheses inside quotes. + (md_assemble): In MRI mode, anything after the operands field is a + comment. + (parse_mri_control_operand): Adjust start and stop to remove + spaces. + (s_mri_for): Likewise. + + * cond.c (s_ifdef): Restore the character after the symbol name, + in case it is a newline. + (s_if): If ignoring the current tree, don't try to parse the + expression. + + * app.c (do_scrub_next_char): If LEX_IS_STRINGQUOTE or + LEX_IS_ONECHAR_QUOTE is seen in state 10, preserve one space. + + * doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode + now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without + using gasp. + + Add support for macros. + * 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. Fix + 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. + + * cond.c (get_mri_string): New static function. + (s_ifc): New function. + * read.c (potable): Add ifc and ifnc. + * read.h (s_ifc): Declare. + + * app.c (do_scrub_begin): In MRI mode, set lex of ' to + LEX_IS_STRINGQUOTE. + +Mon Aug 21 13:41:33 1995 Michael Meissner + + * config/tc-ppc.c (md_assemble): Allow @HA, @L, and @H suffixes on + constant expressions. + +Sun Aug 20 15:54:37 1995 Jim Wilson + + * config/tc-arm.c (md_reloc_size): Add const to declaration. + +Fri Aug 18 10:58:09 1995 Ian Lance Taylor + + * read.c (s_include): In MRI mode, don't expect quotes around the + file name. + * listing.c (listing_title): Don't require the title to be quoted. + + * gasp.c (include_print_where_line): Always subtract 1 from + linecount before printing it. + (process_file): In MRI mode, lines beginning with '*' or '!' are + comments. + (do_reg): In MRI mode, don't require parentheses. + (do_include): In MRI mode, don't requires quotes. If the file can + not be found in the include path, try opening it in the current + directory. Print the file name correctly in the error message. + (chartype_init): In MRI mode, set FIRSTBIT for '.'. + (main): Set comment_char to ';' when entering MRI mode. + + * config/tc-m68k.c: Include subsegs.h. + (m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case. + (md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead. + + * config/tc-sparc.h (tc_fix_adjustable): For OBJ_AOUT case, adjust + BFD_RELOC_16 and BFD_RELOC_32 relocs. + +Wed Aug 16 14:48:44 1995 Ken Raeburn + + * as.h (alloca): Use void* declaration on HP/UX. + +Wed Aug 16 12:49:17 1995 Ian Lance Taylor + + * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2 + to WPLT30 for an undefined or external symbol. Don't consider + PC10 or PC22 to be a PC relative reloc when choosing between + fx_addnumber and fx_offset. + + * config/tc-z8k.c (md_number_to_chars): Don't do it here, call + number_to_chars_bigendian. + * config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define. + + * expr.c (operand): Add support for .startof. and .sizeof. by + using magic symbol names which the linker will recognize + specially. + * doc/as.texinfo: Take out note that .startof. and .sizeof. are + not supported. + +Tue Aug 15 15:08:49 1995 Ian Lance Taylor + + * config/tc-m68k.c (md_pseudo_table): Add MRI structured control + directives: if, if.b, if.w, if.l, else, else.s, else.l, endi, + break, break.s, break.l, next, next.s, next.l, for, for.b, for.w, + for.l, endf, repeat, until, until.b, until.w, until.l, while, + while.b, while.w, while.l, endw. + (enum mri_control_type): Define. + (struct mri_control_info): Define. + (mri_control_stack): New static variable. + (mri_control_index): New static variable. + (mri_control_label): New static function. + (push_mri_control, pop_mri_control): New static functions. + (parse_mri_condition): New static function. + (parse_mri_control_operand): New static function. + (swap_mri_condition, reverse_mri_condition): New static functions. + (build_mri_control_operand): New static function. + (parse_mri_control_expression): New static function. + (s_mri_if, s_mri_else, s_mri_endi): New static functions. + (s_mri_break, s_mri_next): New static functions. + (s_mri_for, s_mri_endf): New static functions. + (s_mri_repeat, s_mri_until): New static functions. + (s_mri_while, s_mri_endw): New static functions. + * gasp.c (mrikinfo): Remove IF. + * expr.c (get_symbol_end): Accept \001 as part of a name. + + * symbols.c (colon): Change parameter to const char *. + * symbols.h (colon): Update declaration. + +Mon Aug 14 20:51:56 1995 Ken Raeburn + + * write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL + way. Reformat and reindent that code to GNU standards. + (BFD_FAST_SECTION_FILL): Don't define. + +Mon Aug 14 14:08:07 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB + or END_BRTAB fixups. + +Mon Aug 14 15:45:07 1995 Ian Lance Taylor + + * gasp.c (do_align, get_any_string): Mark as static. + (do_assigna, do_assignc, new_file): Likewise. + + * config/tc-m68k.c (s_reg): Rename local op to rop to avoid + confusion with macro op. + + * gasp.c (strip_comments): Comment out; it's not used. + (do_end): Add parameter. In MRI mode, print it out. + (do_irp): New static function. + (sub_actual): Change parameter m to formal_hash, changing type + from macro_entryh * to hash_table *. + (macro_expand_body): New static function, broken out of + macro_expand. + (macro_expand): Call macro_expand_body. + (K_*): Fully parenthesize. + (K_IRP, K_IRPC): Define. + (mrikinfo): Add IRP and IRPC. + (process_pseudo_op): In MRI mode, print out END pseudo-op. Pass + line to do_end. Handle K_IRP and K_IRPC. + + * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we + don't do anything with the option. + +Sun Aug 13 17:03:58 1995 Ian Lance Taylor + + * frags.c (frag_align): Handle absolute_section. + * write.c (record_alignment): Likewise. + + * config/tc-mips.c (macro_build): Skip insns with an inappropriate + ISA level. + +Sun Aug 13 00:35:02 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_pseudo_table): Add entries for + "begin_brtab" and "end_brtab" pseudo-ops. + (pa_brtab): New function. + (tc_gen_reloc, SOM version): Handle R_BEGIN_BRTAB and R_END_BRTAB. + (hppa_force_relocation): Force relocations for BRTAB fixups + when OBJ_SOM is defined. + +Fri Aug 11 20:34:05 1995 Ken Raeburn + + * Makefile.in (TE_OBJS): Add empty definition. + +Fri Aug 11 19:16:08 1995 Ian Lance Taylor + + * gasp.c (change_base): Don't treat ' specially in MRI mode. + (process_file): Don't warn about missing END in MRI mode. + (do_if): New static function. + (get_mri_string, do_ifc): New static functions. + (buffer_and_nest): Treat MRI mode like alternate syntax mode. + (do_aendr): Change error message in MRI mode. + (do_arepeat): Use REPT/ENDR in MRI mode. + (do_formals): In MRI mode, add special NARG formal. + (macro_expand): Various changes for MRI mode: permit a qualifier + on the macro name; set special NARG formal; permit unnamed + positional arguments; use && to concatenate named parameters; + permit \d to specify an unnamed parameter; permit named parameters + to not start with \; use == to see if a parameter exists. + (getstring): In MRI mode, allow <> to quote a string. + (K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define. + (K_IFC, K_IFNC): Define. + (struct keyword): Name structure used in kinfo array. + (mrikinfo): New static array. + (process_pseudo_op): Don't require leading '.' in MRI mode. + Handle new MRI pseudo-op definitions. + (add_keyword): New static function, broken out of process_init. + (process_init): Use add_keyword. In MRI mode, add mrikinfo table. + (long_options): Add "mri". + (show_usage): Mention -M/--mri. + (main): Call process_init after processing arguments. Handle -M. + * doc/gasp.texi: Document -M/--mri. + + * gasp.c: Include ansidecl.h. Make all local functions static. + Add prototypes for all static functions. + (mri): New global variable. + (sb_add_char): Change parameter c from char to int. + (sb_add_string): Make parameter s into a const pointer. + (sb_add_buffer): Likewise. + (checkconst): Change parameter op from char to int. + (exp_get_abs): Make parameter emsg into a const pointer. + (do_res): Change parameter type from char to int. + (buffer_and_nest): Make parameters from and to into const + pointers. + (do_sdata): Change parameter type from char to int. + (new_file): Make parameter name into a const pointer. + (do_define): Make parameter string into a const pointer. + + * config/tc-h8300.c (md_number_to_chars): Don't do it here, call + number_to_chars_bigendian. + * config/tc-h8300.h (TARGET_BYTES_BIG_ENDIAN): Define. + +Fri Aug 11 13:23:56 1995 Michael Meissner + + * write.h (struct fix): Add new field fx_no_overflow. + + * write.c (fixup_segment): If fx_no_overflow is non-zero, don't + complain if the addend is too large. + + * config/tc-ppc.c (md_assemble): Set fx_no_overflow if the half + word relocations BFD_RELOC_{LO16,HI16,HI16_S}. + +Thu Aug 10 20:56:38 1995 Ken Raeburn + + * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and + setting section flags. + +Thu Aug 10 00:38:11 1995 Ian Lance Taylor + + * doc/as.texinfo: Add documentation for MRI compatibility mode. + * doc/as.1: Likewise. + + * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and + iword rather than expr8 and expr16. When recognizing 'M', use + issbyte rather than expr8. When recognizing 'Q' and 't', just + check for O_constant rather than using expr8. + * config/m68k-parse.h (expr8, expr16): Don't define. + * Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not + m68k-parse.y. + + * read.c (potable): Add spc, ttl, xcom, xref. + (s_mri_sect): New function. + * read.h (s_mri_sect): Declare. + * config/obj-coff.c (obj_coff_section) (both versions): In MRI + mode, call s_mri_sect. + (obj_pseudo_table): Add sect.s and section.s. Move sect outside + of ifndef BFD_ASSEMBLER. + * config/obj-elf.c (elf_pseudo_table): Add section.s, sect, + sect.s. + (obj_elf_section): In MRI mode, call s_mri_sect. + * config/tc-m68k.c (md_pseudo_table): Add restore, save. + (struct save_opts): Define. + (save_stack): New static variable. + (s_save, s_restore): New static functions. + + * read.c (s_set): Remove unused local ptr. + (hex_float): Check target_big_endian. + (equals): Remove unused local p. + + * config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define. + * config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define. + * config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define. + * config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define. + * config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define. + * config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define. + * config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define. + * config/tc-sh.c (little): Set target_big_endian. + (md_begin): Likewise. + (md_parse_option): Likewise. + (build_relax): Check target_big_endian rather than shl. + (build_Mytes, md_atof): Likewise. + (md_convert_frag, md_apply_fix): Likewise. + (md_number_to_chars): Likewise. + +Wed Aug 9 10:51:48 1995 Ian Lance Taylor + + * config/tc-m68k.c (m68k_abspcadd): New static variable. + (m68k_quick): New static variable. + (m68k_rel32): New static variable. + (md_pseudo_table): Add opt and reg. + (m68k_ip): Permit absolute symbols in 'l'/'L' recognition. Check + m68k_quick in 'M' and 'Q' recognition. Check m68k_abspcadd in + DISP handling. Check m68k_rel32 in BASE/POST/PRE handling. + (md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32. + In MRI mode, change unsized branch aliases to be variable sized. + (struct opt_action): Define. + (opt_table): Define. + (s_opt): New static function. + (skip_to_comma): New static function. + (opt_chip): New static function. + (opt_list): New static function. + (opt_list_symbols): New static function. + (s_reg): New static function. + * as.h (flag_keep_locals): Change from unsigned char to int. + (flag_no_warnings): Likewise. + + * read.c (mri_line_label): Make non-static. + (potable): Add nopage, page, plen. + (s_org): Error if in MRI mode. + * read.h (mri_line_label): Declare. + * listing.c (listing_nopage): New function. + * listing.h (listing_nopage): Declare. + + * symbols.c (symbol_begin): Set sy_frag of abs_symbol to + &zero_address_frag. + + * write.c (adjust_reloc_syms): Check that symbol is not NULL + before checking sy_mri_common. + (fixup_segment): Likewise. + * config/obj-coff.c (fixup_segment): Likewise. + + * read.c (abs_section_offset): New global variable. + (potable): Add offset, struct. + (do_org): New static function; handle changing the origin in the + absolute section. + (s_org): Use do_org. + (s_set): Likewise. + (equals): Likewise. + (s_space): In absolute_section, just increase abs_section_offset. + (s_struct): New function. + (emit_expr): Handle absolute_section specially. + * read.h (abs_section_offset): Declare. + (s_struct): Declare. + * frags.c (frag_more): Warn if in absolute_section. + (frag_now_fix): In absolute_section, return abs_section_offset. + * subsegs.c (subseg_change): If switching to absolute_section, + just set now_seg and now_subseg. + (subseg_set_rest): Special handling when switching to or from + absolute_section. + + * config/tc-m68k.c (m68k_float_copnum): New static variable. + (md_pseudo_table): Add fopt and mask2. + (m68k_ip): Use m68k_float_copnum, not COPNUM, when setting + coprocessor register to use. In case 'I' when checking operands, + correct coprocessor register numbers. In case 'I' when setting + operands, don't add 1. + (s_fopt): New static function. + * config/m68k-parse.h (COPNUM): Don't define. + + * read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne. + Change if to pass O_ne to s_if. + (read_a_source_file): Don't define an label without a colon if + ignore_input returns true. + * cond.c (s_if): Treat argument as an operatorT describing how to + compare the argument against zero. + (ignore_input): Don't require an initial dot in MRI mode, or if + NO_PSEUDO_DOT is defined. + + * read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w, + dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen, + noformat. + (read_a_source_file): If pseudo-op handler is s_end, quit + immediately. + (s_end): New function. + (s_fail): New function. + (s_float_space): New function. + (hex_float): New static function. + (float_cons): Use hex_float. + * read.h (s_fail): Declare. + (s_float_space): Declare. + * cond.c (s_end): Remove. + * listing.c (listing_psize): Treat argument as indicating whether + a height is expected. + + * read.c (mri_pending_align): New static variable. + (read_a_source_file): Handle mri_pending_align. + (cons): Set mri_pending_align if appropriate. + + * configure.in: Move random special target handling before + possible break. + * configure: Rebuild. + +Tue Aug 8 23:41:25 1995 Alan Modra + + * configure.in: Consistently use ${target_cpu_type} rather than + ${cpu_type} after the loop. + * configure: Rebuild. + * Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than + @cpu_type@. + +Tue Aug 8 17:27:17 1995 Ken Raeburn + + * expr.h (operatorT): Remove comma after last enumerator value. + + * config/obj-vms.c: Some whitespace cleanup from Pat Rankin. + + * as.h (alloca): If __STDC__, declare void* instead of char*. + + Wed Aug 2 18:54:37 1995 Pat Rankin + + * config/obj-vms.c (Flush_VMS_Object_Record_Buffer, + Close_VMS_Object_File): Reorganize the `#if !VMS' cross-assmebler + support code. + (Close_VMS_Object_File): Call Set_VMS_Object_File_Record to flush + output buffer--just in case--before closing the file. + +Tue Aug 8 13:07:05 1995 Ian Lance Taylor + + * config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001, + 68ec020, 68ec030, 68ec040, and 68330. + (md_pseudo_table): Add chip and comline. + (m68k_init_after_args): Use strcasecmp when comparing default_cpu + against architectures. + (mri_chip, s_chip): New static functions. + + * struc-symbol.h (struct symbol): Add sy_mri_common bit. + * read.h (mri_comon_symbol): Declare. + (s_mri_common): Declare. + * read.c (mri_line_label): New static variable. + (mri_common_symbol): New global variable. + (potable): Add "common" and "common.s". + (read_a_source_file): In MRI mode, set mri_line_label for a label + at the start of a line. + (s_mri_common): New function. + (s_space): Handle mri_common_symbol. + * symbols.c (colon): Change return value from void to symbolS *, + and return new symbol. If mri_common_symbol is set, attach the + new symbol to it. + (resolve_symbol_value): Handle an sy_mri_common symbol. + * symbols.h (colon): Change return value in declaration. + * subsegs.c (subseg_set_rest): Clear mri_common_symbol. + (subseg_set (both versions)): Likewise. + * frags.c (frag_more): Warn if mri_common_symbol is not NULL. + * write.c (adjust_reloc_syms): Skip sy_mri_common symbols. + (write_object_file): Discard sy_mri_common symbols. + (fixup_segment): Change relocations against sy_mri_common symbols + to be against the common symbol itself. + * config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols. + (fixup_segment): Change relocations against sy_mri_common symbols + to be against the common symbol itself. + * config/obj-aout.c (obj_crawl_symbol_chain): Discard + sy_mri_common symbols. + + * doc/c-m68k.texi: Add documentation for CPU specific options, and + for Motorola syntax. + + * config/m68k-parse.y (motorola_operand): For (%pc), set mode to + DISP, not BASE. + +Tue Aug 8 02:31:38 1995 Ken Raeburn + + * write.c (relax_align): Add extra padding for linkrelax only if + LINKER_RELAXING_SHRINKS_ONLY is defined. + * config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it. + * doc/internals.texi (Relaxation): Write up some stuff on linker + relaxing and LINKER_RELAXING_SHRINKS_ONLY. + +Mon Aug 7 17:18:10 1995 Ian Lance Taylor + + * config/m68k-parse.y: New file: bison grammar for m68k operands, + including support for Motorola syntax. + * config/m68k-parse.h: New file; definitions shared between + m68k-parse.y and tc-m68k.c. + * config/tc-m68k.c: Include m68k-parse.h. + (enum operand_type): Move to m68k-parse.h, where it is named + m68k_operand_type. Rename all uses. Rearrange somewhat. Add + FPREG. Rename AOFF to DISP. Rename AINDX to BASE. Rename APODX + to POST. Rename APRDX to PRE. Remove AMIND. Rename MSCR to + CONTROL. Remove DINDR. + (struct m68k_exp): Move to m68k-parse.h. Remove e_beg, e_end and + e_seg fields. Rename e_exp to exp. Rename e_siz to size, and + change type to enum m68k_size. Change all uses. + (enum _register): Move to m68k-parse.h, where it is named + m68k_register. Rename all uses. Add ZDATA0-7 and ZADDR0-7. + (struct m68k_op): Move to m68k-parse.h. Change all fields. + (seg): Don't define. + (add_exp): Remove. + (FAIL, OK): Remove. + (m68k_reg_parse): Move to m68k-parse.y, and rewrite. + (SKIP_WHITE, SKIP_W): Remove. + (try_moto_index, try_index): Remove. + (m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar. + (main): Remove obsolete test function. + (m68k_ip): Extensive changes to use new grammar. + (get_regs): Remove. + (crack_operand): m68k_ip_op now returns 0 on success. + (init_table): Add ssp, zd0-7 and za0-7. + (md_assemble): Make er const. Correct loop over operands when + looking for error message. + (md_begin): Set alt_notend_table for '(' and '@'. + (get_num): Expression is already parsed. Don't set seg. + * configure.in: If cpu_type is m68k, put m68k-parse.o in + extra-objects. + * configure: Rebuild. + * Makefile.in (DISTSTUFF): Add m68k-parse.c. + (BISON): Use ../bison/bison if it exists. + (BISONFLAGS): Define as empty. + (TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h. + (m68k-parse.c, m68k-parse.o): New targets. + +start-sanitize-sh3e +Mon Aug 7 02:54:20 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-sh.c (parse_reg): Handle new FP registers. + (get_specific): Handle new operand types. + +end-sanitize-sh3e +Fri Aug 4 12:29:21 1995 Ian Lance Taylor + + * expr.c (op_encoding): Make non-const. Don't set '"' to + O_bit_not. + (expr_begin): Set op_encoding['"'] in MRI mode. + +Wed Aug 2 18:39:43 1995 Ian Lance Taylor + + * config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff. + (struct m68k_incant): Change m_operands field to be const. + (struct m68k_it): Change args field to be const. + (m68k_ip): Change local variable s to be const. + (opcode_ptr): Remove. + (md_begin): Use m68k_numopcodes, not numopcodes. Use + m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not + numaliases. + +Tue Aug 1 17:35:26 1995 Ian Lance Taylor + + * config/tc-m68k.c (init_table): Add "control", "status", "iaddr", + "sfcr", and "dfcr" as synonyms for existing entries. + (md_begin): In MRI mode, force flag_reg_prefix_optional to 1. + (md_parse_option): Removed unused locals i and arch. Change type + of arch (another one) to unsigned long. + (tc_coff_sizemachdep): Add return after abort to avoid warning. + + Initial support for MRI style labels and expressions. + * as.h (flag_mri): Declare/define. + * as.c (show_usage): Mention -M and its synonym --mri. + (parse_args): Add 'M' to std_shortopts. Add "mri" to + std_longopts. Set flag_mri if -M is seen. + (main): Call parse_args before input_scrub_begin. Call + expr_begin. + * app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI + mode. Do set lex for ';', '*', and '!' in MRI mode. + (do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case. + In MRI mode, keep spaces between labels and colons. Remove MRI + ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use + '!' or '*' as comment characters even if they are in + comment_chars. + * read.h (lex_type): No longer const. + * read.c: Include libiberty.h. + (lex_type): No longer const. + (read_begin): In MRI mode, set lex_type of '?' to 3. + (potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b, + ds.l, ds.w, and xdef. + (read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check + for MRI mode at runtime rather than compile time. Handle the EQU + pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo. + Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at + runtime. + (cons): In MRI mode, always call parse_mri_cons rather than + TC_PARSE_CONS_EXPRESSION. + (parse_mri_cons): Always compile, not just when MRI is defined. + Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is + not a string constant. Handle A and E modifiers. + (float_cons): Accept :xxxx, where the x's are hex digits. + * expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt. + (expr_begin): Declare. + * expr.c (integer_constant): In MRI mode, if the base was not + specified, look for a suffix on the number to set the base. + (mri_char_constant): New static function. + (operand): Remove MRI ifdef. In MRI mode, do various things: Pass + 0 as the base when calling integer_constant if there was no + prefix. Check for a hex constant suffix if when a leading '0' is + seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and + A'chars'. Handle MRI character constants. Treat '"' as the + unary bitwise not operator. Treat $ as the program counter, or as + the prefix for a hex constant. Treat % as the prefix for a binary + constant and @ as the prefix for an octal constant. Treat : as + the prefix for a hex constant. + (op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt. + (op_rank): No longer const. Change rank values. + (expr_begin): New function. + (operator): New static function. + (expr): Use operator. Don't bother to mention the operator in + warnings. Remove bogus #if 0 code. Handle new operatorT values. + * atof-generic.c (atof_generic): In MRI mode, accept underscores + around the exponent in floating point numbers. + * symbols.h (symbols_case_sensitive): Declare. + * symbols.c (symbols_case_sensitive): New global variable. + (symbol_create): Check symbols_case_sensitive. + (symbol_find_base): Likewise. + (resolve_symbol_value): Handle new operatorT values. + (print_expr_1): Likewise. + (S_IS_LOCAL): In MRI mode, names beginning with two '?' characters + are local. + +Tue Aug 1 11:35:18 1995 steve chamberlain + + * tc-sh.c (md_convert_frag): Make some error messages more + explict. + +Mon Jul 31 21:40:47 1995 Ken Raeburn + + Sat Jul 29 18:55:23 1995 Pat Rankin + + * config/obj-vms.c (COPY_SHORT, COPY_LONG, PUT_SHORT, PUT_LONG): + Make expansion be safe for use in expressions. + (PUT_COUNTED_STRING): Bracket expansion with `do {...} while (0)' + rather than just `{...}'. + +Mon Jul 31 18:19:26 1995 steve chamberlain + + * gasp.c (main): Parse -I option. + (do_include): Look through include list. + * gasp.c (change_base): Don't modify numbers in strings. + +Mon Jul 31 12:16:21 1995 Ian Lance Taylor + + * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define. From Niclas + Andersson . + +Thu Jul 27 20:47:12 1995 Ken Raeburn + + * config/obj-coff.c (fixup_segment): Don't do further pcrel + processing after converting difference of two symbols in the + same segment. From Jim Wilson. + + * configure.in (i386-*-linuxoldld): Add as synonym for + i386-*-linux*aout*. From Fred Fish. + * configure: Regenerated. + +Thu Jul 27 16:14:56 1995 Pat Rankin + + * config/obj-vms.c (enum ps_type {ps_TEXT,ps_DATA,ps_COMMON, + ps_CONST}): New constants. + (VMS_Psect_Spec): Use them instead of literal strings. + (vms_write_object_file, global_symbol_directory): Adjust callers. + +Wed Jul 26 18:31:35 1995 Pat Rankin + + * config/obj-vms.c (const_flag): Change from char to unsigned char. + * config/obj-vms.h (const_flag): Ditto. + (struct nlist): Replace union n_un and n_un.{n_name,n_next,n_strx} + fields with just n_name; delete field n_value; change n_other from + char to unsigned char and n_desc from short to int; insert explicit + padding for alignment. + +Mon Jul 24 20:06:17 1995 Ken Raeburn + + * subsegs.h (struct seg_info_trash): Make bitfield types valid. + + * config/obj-coff.c (fixup_segment): Local add_number should not + be declared register since its address is taken for + MD_APPLY_FIX3. + + Fri Jul 21 15:28:18 1995 Pat Rankin + + Split huge vms_write_object_file routine into managable pieces. + + * config/obj-vms.c (vms_fixup_text_section, synthesize_data_segment, + vms_fixup_data_section, global_symbol_directory, local_symbols_DST, + vms_build_DST): New routines. + (vms_write_object_file): Call them. + (struct vms_obj_state): New file scope variable used by the above. + +Mon Jul 24 14:10:24 1995 Ian Lance Taylor + + * config/tc-sh.c (md_pseudo_table): Add "uses". + (s_uses): New static function. + (sh_coff_frob_file): New function. + (md_convert_frag): Call subseg_change before calling fix_new. + (sh_handle_align): New function. + (SWITCH_TABLE): Define. + (sh_force_relocation): New function. + (md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN. + (sh_coff_reloc_mangle): Likewise. Also handle switch table + entries. + * config/tc-sh.h (HANDLE_ALIGN): Define. + (sh_handle_align): Declare. + (TC_FORCE_RELOCATION): Define. + (sh_force_relocation): Declare. + (TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead. + (tc_frob_file): Define. + (sh_coff_frob_file): Declare. + * config/obj-coff.c (write_object_file): Call tc_frob_file if it + is defined. + (fixup_mdeps): Call HANDLE_ALIGN if it is defined. + (TC_FORCE_RELOCATION): Define if not defined. + (fixup_segment): Use TC_FORCE_RELOCATION to decide whether to + clear the symbol fields of fixP. + +Fri Jul 21 22:38:00 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL + relocation. + (md_apply_fix3): Ditto. + +Thu Jul 20 13:00:56 1995 Ken Raeburn + + * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec, + since seg is a macro name in this file. + + * configure.in (arm-*-riscix*): Don't set emulation. + +Wed Jul 19 16:08:29 1995 Doug Evans + + * config/obj-coff.h (TE_PE): Delete. + * config/tc-arm.h (BYTE_ORDER): Delete. + (TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE. + (ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE. + * config/tc-arm.c (byte_order): Delete. + (md_number_to_chars): Reference target_big_endian, not byte_order. + (md_chars_to_number): Likewise. + (md_longopts): Add -EB/-EL if ARM_BI_ENDIAN. + (md_parse_options): Recognize -EB/-EL. + (md_show_usage): List -EB/-EL. + +Wed Jul 19 11:49:25 1995 Ian Lance Taylor + + * gasp.c (process_assigns): Use toupper before comparing against + upper case letter. + (whatcond): Likewise. + + * config/tc-sh.c (sh_relax): Rename from relax, and make global. + Renamed all uses. + (insert): Pass a size of 2, not 4. + (build_relax): Remove unused len variable. + (md_show_usage): Mention -little option. + (md_convert_frag): Add segT argument. Rewrite to generate relocs + rather than to generate complete instructions here. + (md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for + changes in insert and md_pcrel_from. Add cases for R_SH_PCDISP + and R_SH_PCDISP8BY2. + (md_pcrel_from): Don't subtract 1, add 2. + (tc_coff_fix2rtype): Remove. + (sh_coff_reloc_mangle): New function. + * config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type. + (sh_relax): Declare. + (TC_COUNT_RELOC): If relaxing, count PC relative relocs. + (TC_RELOC_MANGLE): Define. + (sh_coff_reloc_mangle): Declare. + (tc_coff_sizemachdep): Declare. + * tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER + declaration. + * write.c (cvt_frag_to_fill): Add sec argument to non + BFD_ASSEMBLER version. Pass it to md_convert_frag. + (write_object_file): Pass SEG_TEXT to cvs_frag_to_fill. + * config/obj-coff.c (do_relocs_for): Pass segment info to + TC_RELOC_MANGLE. + (fixup_mdeps): Pass segment type to md_convert_frag. + * config/tc-a29k.c (md_convert_frag): Add segT argument. + * config/tc-h8300.c (md_convert_frag): Likewise. + * config/tc-h8500.c (md_convert_frag): Likewise. + * config/tc-i386.c (md_convert_frag): Likewise. + * config/tc-i860.c (md_convert_frag): Likewise. + * config/tc-i960.c (md_convert_frag): Likewise. + * config/tc-m68k.c (md_convert_frag): Likewise. + * config/tc-m88k.h (md_convert_frag): Likewise. + * config/tc-ns32k.c (md_convert_frag): Likewise. + * config/tc-rce.c (md_convert_frag): Likewise. + * config/tc-tahoe.c (md_convert_frag): Likewise. + * config/tc-vax.c (md_convert_frag): Likewise. + * config/tc-w65.c (md_convert_frag): Likewise. + * config/tc-z8k.c (md_convert_frag): Likewise. + * config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument. + * config/tc-h8500.h (TC_RELOC_MANGLE): Likewise. + * config/tc-rce.h (TC_RELOC_MANGLE): Likewise. + * config/tc-w65.h (TC_RELOC_MANGLE): Likewise. + * config/tc-z8k.h (TC_RELOC_MANGLE): Likewise. + +Mon Jul 17 15:02:54 1995 Pat Rankin + + * config/obj-vms.c (Current_Routine, Text_Psect): Delete as file + scope variables. + (Define_Routine, Define_Local_Symbols): Take Current_Routine and + Text_Psect as arguments. + (VMS_DBG_Define_Routine): Delete. + (VMS_TBT_Block_End): Change `Size' argument from int to valueT. + (vms_write_object_file: text and data fixup loops): Difference + of two symbols has type offsetT rather than int; convert with + md_number_to_chars before passing to VMS_Store_Immediate_Data. + (vms_write_object_file: debug symbol loop): Call Define_Routine + instead of VMS_DBG_Define_Routine. + +Sat Jul 15 00:01:35 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the + compiler can mark which relocs not to complain about with + -mrelocatable. + (ppc_elf_validate_fix): Add .fixup to sections not to complain + about, and also don't complain for BFD_RELOC_CTOR relocations in + writable non-code segments. + (md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32. + +Fri Jul 14 19:54:28 1995 Ian Lance Taylor + + Add support for SPARC SunOS PIC: + * config/tc-sparc.h (sparc_pic_code): Always declare, not just + when OBJ_ELF. + (TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT. + (tc_fix_adjustable): New definition for OBJ_AOUT. + * config/tc-sparc.c (sparc_pic_code): Always define, not just when + OBJ_ELF. + (md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC. In + BFD_RELOC_32_PCREL_S2 case, don't increment val for an external + symbol when PIC. + (tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as + well as when OBJ_ELF. + (md_shortopts): If OBJ_AOUT, include `k'. + (md_parse_option): If OBJ_AOUT, handle 'k'. + (md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF. + (md_pcrel_from): Don't add in size for an external symbol when + PIC. + +start-sanitize-arc +Fri Jul 14 10:26:43 1995 Doug Evans + + * config/tc-arc.c (byte_order): Provide explicit initial value. +end-sanitize-arc + +Thu Jul 13 21:16:43 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM. + * write.c (adjust_reloc_syms): Set sy_used_in_reloc for both + symbols in a fixup where a defined symbol is subtracted from an + undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined). + (fixup_segment): Do nothing for the difference of two symbols if + UNDEFINED_DIFFERENCE_OK is defined. + +Wed Jul 12 23:33:40 1995 Ian Lance Taylor + + * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3. + +Wed Jul 12 01:12:12 1995 Ken Raeburn + + * write.c (fix_new): Use int, not short int, for argument type. + (fix_new_exp): Ditto. + + * configure.in (arm-*-riscix*): Don't set emulations. + + * config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING + wasn't previously defined. + (s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING. + (nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING. + (macro_build) [!USE_STDARG]: Don't use variadic prototype. + (mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential + ECOFF debugging symbols. + + * emul.h (struct emulation): Use unsigned, not unsigned char, for + bitfields. + * obj.h (struct format_ops): Likewise. + + * config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set + udata.p, not udata. + +Tue Jul 11 14:30:19 1995 Ian Lance Taylor + + * doc/c-mips.texi: Document -m4010 and -mno-4010. + +Tue Jul 11 14:28:55 1995 Jeff Spiegel + + * config/tc-mips.c (mips_4010): New static variable. + (interlocks): New static variable. + (md_begin): Check for a cpu of "r4010". Set mips_4010 correctly. + If mips_4650 or mips_4010, set interlocks. + (append_insn): Check interlocks, not mips_4650. + (mips_emit_delays): Likewise. + (mips_ip): Only permit INSN_4010 instructions if mips_4010. + (md_longopts): Add "m4010" and "no-m4010". + (md_parse_option): Accept -mcpu=r4010. Handle -m4010 and + -no-m4010. + (md_show_usage): Document -m4010 and -no-m4010. + +Tue Jul 11 13:22:50 1995 Ian Lance Taylor + + * ecoff.c (struct efdr): Add new field fake. + (init_file): Initialize fake. + (add_file): Add new parameter fake. Change all callers. + (ecoff_build_debug): Don't warn about a missing .end for a fake + file. + +Mon Jul 10 16:01:31 1995 Ken Raeburn + + * doc/as.texinfo: Split out most cpu chapters... + * doc/c-*.texi: ...to here. + + * read.c (po_hash): Now static. + +Mon Jul 10 13:47:22 1995 Ian Lance Taylor + + Based on patches from H.J. Lu : + * config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1. + Accept pointer to value and segment. Fix OBJ_ELF PCREL case to + handle global defined symbols correctly. + (md_apply_fix): Remove both versions. + * config/tc-i386.h (MD_APPLY_FIX3): Define. + + * configure.in: When switching on ${cpu}, use ${cpu}, not + $[target_cpu}, in default case. + * configure: Rebuild. + +Sat Jul 8 13:27:55 1995 Ian Lance Taylor + + * write.c (fixup_segment): Call resolve_symbol_value on + sub_symbolP, in case it isn't in the symbol table. + +Fri Jul 7 11:17:27 1995 Ian Lance Taylor + + * read.c (s_lcomm): For .lcomm 1, set align to 0, not 1. + + * config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set + BSF_FUNCTION. + (symbol_globalP, symbol_global_lastP): New global variables. + (yank_symbols): Sort defined global symbols to the end, just + before the undefined symbols. + (glue_symbols): Add two arguments, and use them instead of + referring directly to global variables. + (crawl_symbols): Call glue_symbols twice, once for defined globals + and once for undefined. Add corresponding know calls. + + * app.c (do_scrub_next_char): Always accept \v. Don't make it + conditional on BACKSLASH_V. + * read.c (next_char_of_string): Likewise. + * config/obj-bout.h (BACKSLASH_V): Don't define. + * config/tc-mips.h (BACKSLASH_V): Don't define. + + Add SPARC ELF PIC support. + * write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP, + not fixP->fx_r_type. + * config/tc-sparc.c (sparc_pic_code): New global variable. + (md_apply_fix): If generating PIC, adjust fx_addnumber for any non + PC relative reloc. + (tc_gen_reloc): If generating PIC, adjust various reloc types. + Remove fx_pcrel assert, since it is no longer true. + (md_parse_option): Handle -K PIC. + * config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF. + (TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF. + (tc_fix_adjustable): Don't adjust PC relative relocs if PIC. + * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a + reloc type. + + * Makefile.in (Makefile): Add dependency on conf.in, so that conf + is rebuilt when conf.in changes. + +Thu Jul 6 16:49:38 1995 Ken Raeburn + + * All files: Updated FSF address. + +Thu Jul 6 16:30:34 1995 Jim Wilson + + * ecoff.c (add_file): Don't collapse multiple .file commands into + a single file structure. + (ecoff_build_lineno): Set ilineBase to sum of previous file's + ilineBase and cline. + +Thu Jul 6 12:54:27 1995 Ian Lance Taylor + + Patches from Jerry Blakely : + * as.c (listing_filename): New static variable. + (show_usage): Mention -a=file. + (parse_args): Support = option of -a to set name of listing file. + (main): Pass listing_filename to listing_print. + * listing.c (list_file): New static variable. + (various): Replace printf with fprintf to list_file. + (listing_print): If name argument is not NULL, open it as + list_file. + * doc/as.texinfo, doc/as.1: Document -a=file. + + * config/tc-sparc.c (s_reserve): Don't permit redefinition, even + if the symbol was already in bss_section. Fix warning message. + + * listing.c (struct file_info_struct): Rename end_pending field to + at_end. + (file_info): Initialize at_end, not end_pending. + (buffer_line): If at_end set, just return immediately. Don't + worry about end_pending cases. Set at_end when EOF is read. + (print_source): Check at_end, not end_pending. + (listing_listing): Likewise. + + * config/tc-alpha.h (alpha_do_align): Don't declare. + (md_do_align): Don't define. + (tc_frob_label): Define. + (alpha_define_label): Declare. + (md_flush_pending_output): Define. + (alpha_flush_pending_output): Declare. + * config/tc-alpha.c (insn_label): New static variable. + (auto_align): New static variable. + (md_pseudo_table): Add cases for .text, .data, .align, .byte, + .hword, .int, .long, .octa, .quad, .short, .word, .double, .float, + and .single. Change .t_floating, .s_floating, .f_floating, + .g_floating, and .d_floating to use s_alpha_float_cons rather than + float_cons. + (s_alpha_text, s_alpha_data): New static functions. + (s_rdata, s_sdata): Clear insn_label and set auto_align. + (s_gprel32): If auto_align, align. Clear insn_label. + (emit_insn): Clear insn_label. + (s_alpha_align): New static function. + (alpha_align): Make static. Take label argument. + (alpha_flush_pending_output): New static function. + (s_alpha_cons, s_alpha_float_cons): New static functions. + (alpha_define_label): New function. + +Wed Jul 5 22:49:31 1995 Ken Raeburn + + * conf.in: Regenerate with autoreconf. + + Mon Jul 3 19:47:53 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.h (vms_resolve_symbol_redef): Use full prototype. + (vms_check_for_special_label, tc_frob_label): Move them to group + with other prototypes. + [WANT_VMS_OBJ_DEFS]: Only define the many OBJ_x, DBG_x, and DST_x + macros when this is defined. + * config/obj-vms.c: Fully prototype all local functions. + [symbolS, fragS]: Use consistently instead of their struct tags. + [WANT_VMS_OBJ_DEFS]: Define this. + (s_const): Make definition correctly match actual usage. + (VMS_stab_parse): Make `expected_type' arg be int rather than char. + (get_VMS_time_on_unix): Define as `static void'. + (hash_string): Make definition match actual usage; argument is + `char const *' rather than `unsigned char *'. + (VMS_Case_Hack_Symbol, VMS_Modify_Psect_Attributes, VMS_Psect_Spec, + VMS_Global_Symbol_Spec): Declare string args as `const char *'. + [IS_GXX_VTABLE]: New macro. + (vms_write_object_file: GSD loop): Use it. + (vms_write_object_file: data segment): Reorganize `fill' loop. + +Wed Jul 5 12:01:49 1995 Ian Lance Taylor + + * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF. + (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. + + * conf.in: Add undef of HAVE_SBRK. + + * config/obj-coff.c (obj_coff_line): Call listing_source_line, in + both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function. + + * symbols.c (S_SET_EXTERNAL): Warn if symbol is weak. + (S_CLEAR_EXTERNAL): Likewise. + (S_SET_WEAK): Warn if symbol is global. + + * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt + to put an undefined symbol into a set. + + * Makefile.in: Remove @configure_input@; it's not needed in + files named Makefile. + + * config/tc-m88k.c (md_pseudo_table): Add ".set" so that the + explicit pseudo-op works, while continuing to treat "set" as an + instruction. + + * ecoff.c (ecoff_debugging_seen): New global variable. + (ecoff_directive_def): Set ecoff_debugging_seen. + (ecoff_stab): Likewise. + * ecoff.h: Make idempotent. + (ecoff_debugging_seen): Declare. + * config/tc-mips.c: Include ecoff.h. + (mips_debug): New static variable. + (s_stringer, s_mips_space): Remove unneeded declarations. + (md_parse_option): In case 'g', set mips_debug to debugging level. + (mips_local_label): New function. + * tc-mips.h (LOCAL_LABEL): Call mips_local_label. + (mips_local_label): Declare. + +Wed Jul 5 00:59:22 1995 Fred Fish (fnf@cygnus.com) + + * as.c (main): Only use sbrk when HAVE_SBRK defined. + * configure.in: Add test for sbrk. + * configure: Regenerate using autoconf 2.4. + +Mon Jul 3 15:58:16 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6. + * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle + relocations for the difference of two (possibly external) + symbols. + (hppa_fix_adjustable): For SOM, reject reductions involving + the difference of two symbols. + (hppa_force_relocation): Force relocations for expressions + involving the difference of two symbols. + +Mon Jul 3 14:22:59 1995 Steve Chamberlain + + * configure[.in] (i386-*-win32): New host and target. + +Thu Jun 29 17:25:43 1995 Steve Chamberlain + + Support for long filenames non-bfd coff. + * config/obj-coff.c (filename_list_head, filename_list_tail): New. + (yank_symbols): Notice and record filenames which are too long. + (w_strings): Write out filename strings. + (c_dot_file_symbols): Put long filenames onto list. + +Wed Jun 28 17:33:13 1995 Steve Chamberlain + + * config/obj-coff.c (fixup_segment): PE doesn't use + the strange common symbol format that other 386s formats + do. + * config/tc-i386.c (md_begin): If LEX_AT defined then + '@' is in the set of identifiers. + (i386_operand): If LEX_AT, then don't look for @goto stuff. + * config/te-pe.h: Define LEX_AT. + +Wed Jun 28 17:49:59 1995 Ken Raeburn + + * doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP + numbers are for the standard emulation code. + (SH Floating Point): Ditto. + (Overview): Describe new --emulation option for MIPS. + * doc/*.m4: Deleted. + +Thu Jun 22 19:26:25 1995 Ken Raeburn + + Sun May 7 11:53:41 MDT 1995 Bryan Ford + + * configure.in: Added i386-*-moss* target. + +Thu Jun 22 14:41:23 1995 Michael Meissner + + * write.c (write_object_file): Cast decode_local_label_name + argument to char * to avoid warning. + +Wed Jun 21 18:07:59 1995 Ken Raeburn + + Changes from Andreas Schwab : + * config/tc-m68k.c (insword): Increment the frag offsets. + (struct m68k_it): Add reloc[].pcrel_fix field to hold pc-rel + fixup. + (add_fix): Accept additional parameter, the pc-rel fixup. All + callers changed. Fix offset address if width == 'b'. + (m68k_ip) [case AINDX]: Allow explicit size spec. Don't make the + outer displacement pc-relative. + (md_pcrel_from): Make it relative to the first extension word of + the operand. + (opcode_ptr): Make it a macro if DO_BREAK_UP_BIG_DECL is + undefined. + (md_convert_frag_1): Don't reference fragP->fr_opcode[2..]. + (md_estimate_size_before_relax) [case TAB (FBRANCH, SZ_UNDEF)]: + Turn on long bit. + (m68k_ip) [case 'C']: Don't set set long bit, set it in the opcode + table. + (md_estimate_size_before_relax) [case TAB (PCINDEX, SZ_UNDEF)]: + Variable part increases by four, not six. + * write.c (fixup_segment) [TC_M68K]: Don't do further pcrel + processing after converting difference of two symbols in the + same segment. + + * write.c (fixup_segment): Don't conditionalize the pcrel fix on + TC_M68K. + + * config/tc-sparc.c (sparc_ip, case 'A'): If ASI is not a "#" + value, don't shift it an extra time. + +Wed Jun 21 14:18:37 1995 Steve Chamberlain + + * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive + string compares. + +Tue Jun 20 14:55:02 1995 Ken Raeburn + + * config/obj-coff.c (write_object_file): Cast time() argument to + time_t *. + +Tue Jun 20 12:00:53 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_build_unwind_subspace): Fix typo in last + change. + +Mon Jun 19 15:27:17 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_build_unwind_subspace): Zero out memory + from frag_more calls. + +Thu Jun 15 16:53:37 1995 Stan Shebs + + * config/obj-coff.c: Don't use "bfd/" when including libbfd.h + and libcoff.h. + (fill_section): Call PROGRESS. + * Makefile.in (INCLUDES): Add bfd srcdir. + + * mpw-config.in: Add bfd_gas flag and set for each config. + (i386-unknown-go32, m68k-unknown-coff): Recognize. + * mpw-make.in (HACK_O_RAMA, OBJ_COFF_OMIT_TIMESTAMP): Add to + config.h. + +Thu Jun 15 10:04:26 1995 Doug Evans + + * config/tc-arm.h (LOCAL_LABEL): Prepend '.' if not OBJ_AOUT. + (FAKE_LABEL_NAME): Likewise. + +Mon Jun 12 22:25:39 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip): Check for invalid register in single + precision fmpyadd and fmpysub instructions. + +Thu Jun 8 19:33:02 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.c (myname): Delete all references. + (VMS_stab_parse, Write_VMS_MHD_Records, VMS_Case_Hack_Symbol): + Replace printf calls with as_tsktsk. + (PUT_LONG, PUT_SHORT): Use COPY_LONG, COPY_SHORT. + (VMS_Store_Immediate_Data): Move second buffer capacity check + below bottom of loop; first check at top suffices for loop itself. + (find_file): Remove redundant pointer checks in first two loops; + replace third loop with pointer to last list element determined + in first loop. + +start-sanitize-arc +Thu Jun 8 11:44:35 1995 Doug Evans + + * config/tc-arc.h (MD_APPLY_FIX3): Define. + * config/tc-arc.c (md_apply_fix3): Renamed from md_apply_fix. + Undo effects of md_pcrel_from if symbol is in another section. +end-sanitize-arc + +Tue Jun 6 13:53:06 1995 Ken Raeburn + + * config/tc-sparc.c (sparc_ip): Handle defined absolute symbols as + ASI values. + + * config/obj-vms.c (vms_write_object_file, case N_DATA): Use + strcmp against FAKE_LABEL_NAME instead of checking third + character. (Suggested by Pat Rankin.) + +Mon Jun 5 20:10:46 1995 Pat Rankin (rankin@eql.caltech.edu) + + Add support for N_ABS and N_ABS|N_EXT type symbols. + + * config/obj-vms.h (LSY_S_M_{DEF,REL}, ENV_S_M_{DEF,NESTED}): + New macros for local symbols (from and ). + * config/obj-vms.c (Current_Environment): New file-scope variable. + (VMS_Local_Environment_Setup): New routine. + (GBLSYM_LCL): New macro. + (VMS_Global_Symbol_Spec): Handle local symbols too. + (VMS_Psect_Spec): Set GLOBALVALUE_BIT for absolute symbols. + (VMS_Emit_Globalvalues): Handle local and global absolute symbols. + (VMS_Store_PIC_Symbol_Reference): Ditto. + (vms_write_object_file: GSD symbol loop): Ditto. + +Mon Jun 5 16:10:40 1995 Steve Chamberlain + + * config/tc-arm.h (LOCAL_LABELS_FB): Define. + +Mon Jun 5 02:17:58 1995 Ken Raeburn + + * configure.in (i386-*-gnu*): Always use GNU ELF config. + +Wed May 31 17:49:18 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.c (obj_crawl_symbol_chain): Update *symbolPP + in `else' clause when removing a symbol. Also, revise comments + to match the code. + (vms_write_object_file (GSD symbol loop, case N_DATA)): Never + output symbol definitions for local numeric labels. + +Tue May 30 18:29:10 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * configure.in (architecture variants, cases armeb and arm*): Remove + spaces round assignment to endian. + +Tue May 30 12:31:31 1995 Ken Raeburn + + * write.c (write_object_file): Check for undefined local dollar + and fb labels. + + * symbols.c (decode_local_label_name): Extract instance number + from the correct location. + +Sat May 27 21:28:49 1995 J.T. Conklin + + * config/te-dpx2.h: Include obj-format.h. + (COFF_MAGIC): Renamed from FILE_HEADER_MAGIC. + +Wed May 24 13:45:32 1995 Steve Chamberlain + + * configure, configure.in, config/obj-coff.c, config/obj-coff.h: + Add support for ARM pe + +Tue May 23 17:00:32 1995 Doug Evans + + * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP16 + and BFD_RELOC_SPARC_WDISP19. + +Tue May 23 19:18:33 1995 Ken Raeburn + + * as.c (parse_args) [! USE_EMULATIONS]: Always print an error + message. + + * doc/internals.texi: Document obj_app_file and + TARGET_BYTES_BIG_ENDIAN. + +Mon May 22 20:03:23 1995 Ken Raeburn + + * ecoff.c (ecoff_stab): Add extra leading argument, for 4 May + change. + * ecoff.h (ecoff_stab): Fix declaration. + * obj.h (format_ops.process_stab): Include prototype. + * config/obj-elf.h (OBJ_PROCESS_STAB): Pass through seg argument. + * config/obj-ecoff.h (OBJ_PROCESS_STAB): Ditto. + + * config/e-mipself.c (mipself): New emulation mode, doesn't change + endianness from configured default. + * config/e-mipsecoff.c (mipsecoff): Ditto. + * configure.in (mips ecoff/elf targets): Include them. + * as.c (mipself, mipsecoff): Declare. + + * as.c (emulation_name): New variable. + (select_emulation_mode): Set emulation_name. Don't change argv. + (parse_args): Handle --emulation; complain if the supplied name + isn't what select_emulation_name came up with. + +start-sanitize-arc +Mon May 22 16:56:58 1995 Doug Evans + + * config/tc-arc.c (md_pcrel_from): Return 0 for undefined symbols. +end-sanitize-arc + +Sun May 21 21:36:17 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: Reverse changes from Dec. 19th which + changed the way unwinds were built for ELF. Rely on relocation + symbol reductions to avoid placing the end of function marker + symbols into the object file's symbol table. + +Sat May 20 12:31:36 1995 Ken Raeburn + + Added improved VMS support from Pat Rankin: + + Fri 19 May 16:51:40 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.h (AOUT_STABS): Define. + + * config/obj-vms.c (fpush, rpush): New routines. + (push): Replaced by the above. + (find_symbol): Slight reorganization to expose tail recursion. + + Fri Mar 17 18:40:36 1995 Pat Rankin (rankin@eql.caltech.edu) + + * Makefile.in (VMS_OTHER_OBJS): delete this. + * vmsconf.sh (make-gas.com): build ../libiberty/liberty.olb + first if necessary; link gas against it. + +Fri May 19 16:37:39 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * gasp.c (istrue): Correctly test for string inequality. + +Thu May 18 04:25:11 1995 Ken Raeburn + + Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * config/tc-arm.c (CP_T_{Pre,UD,WB}): Define, bits in co-processor + instructions. + ([ls]fm_flags): Correct error in bitmasks. + (cp_address_required_here): Delete second parameter, FLAGS. All + callers changed. Remove all dead code referring to FLAGS. If + address is just "[Reg]" then convert into a PRE-INCREMENT UP format. + (do_fp_ldmstm): Handle full-descending and empty-ascending stack + formats explicitly. + + * config/tc-arm.c (internalError): Define. + (ARM_{1,2,250,3,6,7,7DM,ANY,2UP,ALL,3UP,6UP,LONGMUL}): Define processor + variants. + (FPU_{CORE,FPA10,FPA11,NONE,ALL,MEMMULTI}): Define floating point + variants. + ({CPU,FPU}_DEFAULT): Define. + (cpu_variant): New variable. + (asm_flg): Change more_flags to flag_bits. + Add prototypes for new functions. + (FLAG_{S,P,B,T,ED,FD,FA,EA,IB,IA,DB,DA,L}): Delete. + (s_flag[], ldst_flags[], byte_flag[], cmp_flags[], ldm_flags[], + stm_flags[], lfm_flags[], sfm_flags[], round_flags[], except_flags[], + cplong_flag[]): New variables. + (asm_opcode, insns[]): New format, add version support. + (arm_flg_hsh): Delete. + (do_mul, do_mla): Remove "Warning" from warning messages. + (do_arit): Simplify. + (do_swap): Make error message more appropriate. + (md_begin): Build hash tables starting at first entry in tables. + (md_number_to_chars): Cope with big/little-endian selection. + (md_chars_to_number): New function. + (md_apply_fix): Rewrite to make endian independent. + (tc_gen_reloc): Better error messages. + (md_assemble): Reject opcodes forbidden by the currently selected cpu + variant. Rewrite handling code for instruction flags. + (md_shortopts): Add option "m:". + (md_parse_option): Get the desired cpu/fpu variant. + + From: David Taylor (dtaylor@armltd.co.uk) + * configure.in (architecture variants): Check for "armeb" and "arm*", + set endianness accordingly. + * read.c (read_a_source_file): New hooks md_start_line_hook and + md_after_pass_hook. + * config/arm-{big,lit}.mt: New files + * config/tc-arm.h ({LITTLE,BIG}_ENDIAN, BYTE_ORDER): Define. + (TARGET_FORMAT): Select depending on endianness and emulation and + object format. + (md_after_pass_hook, md_start_line_hook): Define. + * config/tc-arm.c: Include subsegs.h, symbols.h and listing.h. + (shift[]): Add uppper case equivalents. + (CP_T_[XY], TRANS_BIT): Define. + (conds[]): Delete initial NULL entry, add "lo" entry as synonym for + "cc". + (LONGEST_FLAG, flags[]): Delete. + (arm_psr): New structure. + (psrs[]): New variable. + (PSR_ALL): Define. + (LONGEST_INST): Bump to 5. + (LITERAL_MASK, COND_MASK, OPCODE_MASK, DATA_OP_SHIFT): Define. + (OPCODE_{AND,EOR,SUB,RSB,ADD,ADC,SBC,RSC,TST,TEQ,CMP,CMN,ORR,MOV,BIC, + MVN}): Define. + (insns[]): Add smull, umull, smlal, umlal, ldfm, stfm, msr and mrs + instructions. Add nop and adr pseudo ops. + (reg_table): Add APCS register name variants. + (arm_psr_hsh): New hash table. + (md_pseudo_table): Add "ltorg", "pool", "extend", "ldouble" and + "packed". + (MAX_LITERAL_POOL_SIZE): Define. + (struct literalS): New structure. + (literals, next_literal_pool_place, lit_pool_num, current_poolP): New + variables. + (add_to_lit_pool, symbol_locate, symbol_make_empty): New functions. + (validate_immediate): Return FAIL on failure. + (s_ltorg): New function. + (psr_required_here, psrf_required_here): New functions. + (cp_address_required_here): New parameter, flag, all callers changed. + If flag is non-zero, restrict the legal addressing modes. + (do_nop, do_mrs, do_msr, do_mull): New functions. + (negate_data_op): New function. + (data_op2): accept #x,y meaning x rotated right by y, but only when + suitable constants. If immediate is not legal, try changing the + opcode. + (do_adr): New function. + (do_ldst): accept "ldr reg, =expr". Put expr in the pool if it can't + be done as an immediate. + (do_fp_ldst): Use CP_T_[XY], not immediate values. + (do_fp_ldmstm): New function. + (arm_psr_parse): New function. + (output_inst): Use INSN_SIZE in call to md_number_to_chars. + (md_assemble): Add hack so that "Label instruction" causes alignment of + the label. + (arm_after_pass_hook, arm_start_line_hook, arm_frob_symbol): New + functions. + +Wed May 17 05:25:16 1995 Michael Meissner + + * config/tc-ppc.c (md_show_usage): Add \'s at end of lines in + strings for non-GCC compilers. + +Tue May 16 19:36:00 1995 Ken Raeburn + + * config/obj-ecoff.c (ecoff_pop_insert): New function. + (ecoff_format_ops): Use it. + (obj_ecoff_frob_symbol): Now static. + +Wed May 17 00:59:12 1995 Andrew Cagney - aka Noid + + * config/tc-ppc.c (md_begin): Was assuming that an instruction was + bigendian and hence 16bit relocs withing instructions would + ALWAYS be at addresses i+2-i+3. In LE mode it is i+0-i+1. + +Tue May 16 16:29:58 1995 Ken Raeburn + + * config/obj-multi.h (obj_frob_symbol, obj_frob_file, S_GET_SIZE, + S_SET_SIZE, S_GET_ALIGN, S_SET_ALIGN, obj_copy_symbol_attributes, + OBJ_PROCESS_STAB): New macros. + * config/tc-mips.c: Protect against redefining them also when + including obj-elf.h. Test only OBJ_ELF for including elf/mips.h. + (mips_init_after_args): New function. Set byte_order here. + (md_parse_option): Not here. + (byte_order): Don't bother initializing. + * config/tc-mips.h (mips_init_after_args): Declare. + (tc_init_after_args): New macro. + + * read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile + time. + +Fri May 12 14:17:47 1995 Steve Chamberlain + + Initial support for PE object files. + * configure.in, configure (i386-*-pe, i386-*-*nt): Add. + * config/obj-coff.c (fixup_segment): Cope with PE wierdness. + * config/obj-coff.h (TE_PE): New target format. + +Thu May 11 14:58:21 1995 Ken Raeburn + + * config/obj-elf.c (NEED_ECOFF_DEBUG): Define if ECOFF_DEBUGGING + was defined by header files. Test in preprocessor conditionals + instead of ECOFF_DEBUGGING. + (ecoff_debug_pseudo_table): Make empty if NEED_ECOFF_DEBUG is not + defined. + (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol, + elf_frob_file): Only call ecoff routines if NEED_ECOFF_DEBUG is + defined. + (elf_ecoff_set_ext, elf_get_extr, elf_set_index): Define only if + NEED_ECOFF_DEBUG is defined. + (elf_format_ops): Reference elf_ecoff_set_ext only if + NEED_ECOFF_DEBUG. + +Wed May 10 18:09:12 1995 Ken Raeburn + + * Makefile.in (OBJS): Include @extra_objects@. + (obj-elf.o, obj-ecoff.o, e-mipself.o, e-mipsecoff.o): New rules + for building these independently. + * emul-target.h, config/e-mipself.c, config/e-mipsecoff.c: New + files. + + * acconfig.h (DEFAULT_EMULATION, EMULATIONS, USE_EMULATIONS, + OBJ_MAYBE_*, I386COFF, M68KCOFF, M88KCOFF): New macros. + * aclocal.m4 (GAS_UNIQ): New macro. + + * as.c (emulations, n_emulations) [USE_EMULATIONS]: New variable. + (select_emulation_mode, default_emul_bfd_name, common_emul_init) + [USE_EMULATIONS]: New functions. + (main) [USE_EMULATIONS]: Call select_emulation_mode before other + initialization. + * emul.h: New file. + * as.h [USE_EMULATIONS]: Include it. + + * configure.in: Handle enable-targets option. Iterate over target + list, building up a list of object file formats and emulation + configurations. (Only supports emulations for MIPS CPU so far.) + If multiple formats are needed, set obj_format to multi and add + format config files to extra_files. If emulation modes are + needed, add the relevant files to extra_files. + + * configure.in: Define I386COFF, M68KCOFF, M88KCOFF for those + configurations. + + * ecoff.c (ecoff_generate_asm_lineno): Filename argument now + points to const. + * ecoff.h (ecoff_generate_asm_lineno): Updated declaration. + + * obj.h (obj_read_begin_hook): Don't declare function if it's + already a macro. + + * read.c (s_space, cons, stringer): If md_flush_pending_output is + defined, call it on entry. + * config/obj-elf.c (obj_elf_section): If md_flush_pending_output + is defined, call it on entry. If md_elf_section_change_hook is + defined, call it before returning normally. + + * read.h (target_big_endian): Declare. + + * obj.h (struct format_ops): Added new function pointer fields + ecoff_set_ext, read_begin_hook, symbol_new_hook. + (ecoff_format_ops, elf_format_ops): Declare. + * config/obj-elf.c (elf_s_get_size, elf_s_set_size, + elf_s_get_align, elf_s_set_align, elf_copy_symbol_attributes, + elf_sec_sym_ok_for_reloc): New functions. + (elf_format_ops): New variable. + (elf_frob_symbol): Now takes additional int* argument. + * config/obj-elf.h (elf_frob_symbol): Update declaration. + (elf_pop_insert): Declare. + (obj_pop_insert): Define to call elf_pop_insert. + * config/obj-ecoff.c (ecoff_sec_sym_ok_for_reloc, + obj_ecoff_frob_symbol): New functions. + (ecoff_format_ops): New variable. + + * config/te-generic.h: If OBJ_HEADER is defined, use it as the + filename to include in place of obj-format.h. + * config/te-multi.h: New file, copied from te-generic.h. + * config/obj-elf.c (OBJ_HEADER): Define it to "obj-elf.h". + * config/obj-ecoff.c (OBJ_HEADER): Define it to "obj-ecoff.h". + + * config/obj-elf.c (ECOFF_DEBUGGING): Default to 0. + (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol, + elf_frob_file): Test it at run time. + (obj_ecoff_set_ext, elf_get_extr, elf_set_index): Define + unconditionally. + (elf_pseudo_table): Renamed from obj_pseudo_table, now static. + (ecoff_debug_pseudo_table): Split off into separate table. Define + it unconditionally. + (elf_pop_insert): New function. + * config/obj-elf.h (elf_pop_insert): Declare. + (obj_pop_insert): New macro. + (obj_ecoff_set_ext) [!OBJ_MAYBE_ELF]: Define to elf_ecoff_set_ext. + * config/obj-ecoff.h (obj_ecoff_set_ext): Define to ecoff_set_ext. + + * config/tc-mips.h: Protect against multiple inclusions. + (mips_pop_insert): Declare. + (md_pop_insert): Call it. + + * config/tc-mips.c: If OBJ_MAYBE_ELF is defined, include + obj-elf.h, but preserve OUTPUT_FLAVOR and protect some other + macros from redefinition. + (ECOFF_DEBUGGING): Default to 0. All references changed to + run-time tests or made unconditional. + (s_stringer, s_mips_space, s_elf_section): Deleted. + (md_pseudo_table): Don't refer to them. Split table into three + sections, for MIPS, non-ECOFF_DEBUGGING, and ELF. + (mips_pop_insert): New function. + (mips_flush_pending_output): New function. + (mips_enable_auto_align): New function. + * config/tc-mips.h (mips_pop_insert): Declare. + (md_pop_insert): New macro. + (mips_flush_pending_output): Declare. + (md_flush_pending_output): New macro. + (mips_enable_auto_align): Declare. + (md_elf_section_change_hook): New macro, calls + mips_enable_auto_align. + +Tue May 9 17:07:41 1995 Michael Meissner + + * configure.in: Add little endian PowerPC support. + * configure: Rebuild with autoconf. + * config/ppc-big.mt: New file for big endian PowerPC systems. + * config/ppc-lit.mt: New file for little endian PowerPC systems. + + * config/tc-ppc.h (target_big_endian): Declare. + (TARGET_FORMAT): Deal with little and big endian ELF variants. + (TARGET_BYTES_BIG_ENDIAN): Define as 1, not empty. + + * config/tc-ppc.c (ppc_big_endian): Delete variable, use + target_big_endian instead. + (md_parse_option): Parse -mlittle and -mlittle-endian to use + little endian support. Parse -mbig and -mbig-endian to use big + endian support. + (md_show_usage): Update to reflect current switches. + (ppc_set_cpu): Recognize powerpcle as little endian PowerPC. Use + as_fatal, not abort if unknown machine. + +Tue May 9 10:58:41 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Cast *valp to an integer when + comparing against signed values. + (hppa_force_relocation): Make "distance" an integer. + +Tue May 9 00:47:03 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * obj.h (struct format_ops) [BFD_ASSEMBLER]: New type. + (this_format) [BFD_ASSEMBLER]: Declare new variable, if not + already defined as a macro. + +Mon May 8 21:44:13 1995 Ken Raeburn + + * subsegs.h (seg_info): Provide dummy version for + non-BFD_ASSEMBLER, non-MANY_SEGMENTS configuration. It should + never get invoked, but this is easier than conditionalizing some + of the uses. + (struct seg_info_trash): Dummy type used by above to make code + compile. + +Fri May 5 14:47:13 1995 Ken Raeburn + + * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define to 1, not + empty. + * config/obj-elf.h (SEPARATE_STAB_SECTIONS): Ditto. + * config/obj-som.h (SEPARATE_STAB_SECTIONS): Ditto. + +Thu May 4 19:26:55 1995 Ken Raeburn + + * stabs.c (get_stab_string_offset): Always define. If + SEPARATE_STAB_SECTIONS isn't set, abort. + (SEPARATE_STAB_SECTIONS): Default to zero. + (aout_process_stab): New function, split out from s_stab_generic. + (OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab, + if not already defined. + (s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time. If + it's not set, and OBJ_PROCESS_STAB isn't defined, abort. Always + pass six arguments to OBJ_PROCESS_STAB. + * read.h (get_stab_string_offset): Declare unconditionally. + * config/obj-aout.h (AOUT_STABS): Define. + * config/obj-bout.h (AOUT_STABS): Define. + * config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument, + ignored. + * config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto. + + * config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty. + * config/obj-elf.h (ECOFF_DEBUGGING): Ditto. Test value, not + whether it's defined. + +Wed May 3 21:38:20 1995 Ken Raeburn + + * as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already + defined, define 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. + +Wed May 3 13:08:53 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Do nothing for an out of range + PC relative call since those only occur in cases where the linker + can fix them up. + (hppa_force_relocation): Force relocations for out of range PC + relative calls. + +Tue May 2 16:34:47 1995 Jeff Law (law@snake.cs.utah.edu) + + * configure (hppa*-*-lites*): Handle just like hppa*-*-*elf*. + * configure.in: Likewise. + +Tue May 2 11:22:00 1995 Ken Raeburn + + * read.c (pop_insert): New function. + (pop_override_ok, pop_table_name): New variables. + (md_pop_insert, obj_pop_insert): New macros. + (pobegin): Use them. + + * config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of + NO_STDARG &c. + + * read.c (target_big_endian): If TARGET_BYTES_BIG_ENDIAN is + defined, initialize to 1. + * config/tc-mips.c (mips_target_format): Changed to a function, + checking flavor and byte order at run time. + (md_parse_option, cases OPTION_EB and OPTION_EL): Set + target_big_endian here. + (md_begin): Not here. + * config/tc-mips.h (mips_target_format): Adjust declaration. + (TARGET_FORMAT): Call mips_target_format. + + * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of + OUTPUT_FLAVOR. + * config/tc-mips.c (g_switch_value, g_switch_seen): Define + unconditionally. + (md_begin, mips_ip, md_parse_option, s_change_sec, s_option, + s_abicalls, nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run + time, instead of compiling conditionally on GPOPT. + (GPOPT): Don't define. + (md_shortopts): Always include -G. + (RDATA_SECTION_NAME): Select at run time. + (md_begin): Test for ELF format at run time instead of compile time. + (mips_ip, s_change_sec): Ditto. + (md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED): + Ditto. + (OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define + unconditionally. + +Tue May 2 00:17:04 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * Makefile.in (TARG_CPU_DEP_*): New variables. + (targ-cpu.o): Depend on one, selected by autoconf substitution, + instead of TARG_CPU_DEPENDENTS. + * configure.in: Substitute $cpu_type, $obj_format, $atof, and + $emulation into Makefile.in. +start-sanitize-arc + * config/arc.mt: Deleted. +end-sanitize-arc + * config/h8300.mt: Deleted. + * config/h8500.mt: Deleted. + * config/i386coff.mt (TARG_CPU_DEPENDENTS): Deleted. + * config/m68k.mt: Deleted. + * config/m68kcoff.mt (TARG_CPU_DEPENDENTS): Deleted. + * config/m88kcoff.mt (TARG_CPU_DEPENDENTS): Deleted. + * config/mips-big.mt (TARG_CPU_DEPENDENTS): Deleted. + * config/mips-lit.mt (TARG_CPU_DEPENDENTS): Deleted. +start-sanitize-rce + * config/rce.mt: Deleted. +end-sanitize-rce + * config/sh.mt: Deleted. + * config/w65.mt: Deleted. + * config/z8k.mt: Deleted. + + * config/te-dpx2.h (dpx2): Deleted unused macro. + * config/te-generic.h (TE_GENERIC): Ditto. + * config/te-go32.h (TE_GO32): Ditto. + * config/te-hp300.h (TE_HP300): Ditto. + * config/te-hppa.h (PA, _TE_PA_H): Ditto. + * config/te-ic960.h (TE_IC960): Ditto. + * config/te-nbsd532.h (TE_NETBSD532): Ditto. + * config/te-pc532mach.h (TE_PC532MACH): Ditto. + * config/te-ppcnw.h (TE_PPCNW): Ditto. + * config/te-sco386.h (scounix): Ditto. + +Mon May 1 15:59:56 1995 Ken Raeburn + + * read.c (s_app_file): If obj_app_file is defined, call it with + string as argument. Don't call c_dot_file_symbol or + elf_file_symbol. + * config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol. + * config/obj-elf.h (obj_app_file): Define as elf_file_symbol. + + * as.h (OUTPUT_FLAVOR): Don't define here. + * config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define. + * config/obj-bout.h (OUTPUT_FLAVOR): Define. + * config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define. + * config/obj-ecoff.h (OUTPUT_FLAVOR): Define. + * config/obj-elf.h (OUTPUT_FLAVOR): Define. + +start-sanitize-arc +Sat Apr 29 21:44:57 1995 Doug Evans + + * config/tc-arc.c (delay_slot_type): Deleted. + (md_assemble): Remember suffixes seen. + Issue warnings for 8 byte jump with delay slot, and conditional + branch immediately following set of condition codes. +end-sanitize-arc + +Thu Apr 27 20:07:33 1995 Doug Evans + + * Makefile.in (RUNTEST): Use one in srcdir if present. + (RUNTESTFLAGS): Define. + +Wed Apr 26 15:54:10 1995 Ken Raeburn + + Support for more portable alignment handling in assembly code, + based on patches from Bryan Ford : + * read.c (potable): Added balign and p2align, for aligning by + bytes or powers of two independent of what ".align" does for a + given target. + * doc/as.texinfo: Document them. + +Tue Apr 25 11:12:04 1995 Rob Savoye + + * configure, configure.in: Look for m68k-*-vxworks* rather than + just m68k-wrs-vxworks so gas can be configured for + m68k-vxworks5.1. + +Fri Apr 21 15:19:06 1995 Ken Raeburn + + * config/tc-sh.c (md_apply_fix): If fx_r_type is zero, handle + fx_size of 1, and abort on unrecognized sizes. + + * config/tc-m68k.c (m68k_ip): Fix bug in last change regarding + non-isvar case. + +Sun Apr 16 01:52:52 1995 Ken Raeburn + + * config/tc-m68k.h (md_relax_table, TC_GENERIC_RELAX_TABLE): + Missed this one in 11 Apr changes. + + * config/tc-i386.h (TC_GENERIC_RELAX_TABLE): Fix typo. + +Thu Apr 13 18:18:08 1995 Ken Raeburn + + * config/tc-sh.c (md_convert_frag): Instead of aborting on large + displacements, print an error message. Don't invoke the code that + followed the abort call until it's been verified. + + * config/tc-m68k.c (md_show_usage): Add 68060 to list. Split cpu + list into three lines. + +Thu Apr 13 14:34:36 1995 Torbjorn Granlund + + * tc-m68k.c (m68k_init_after_args): Test for m68360. + (md_parse_option): Likewise. + (md_show_usage): Mention m68360. + * tc-m68k.h (TARGET_WORD_SIZE): Define. + (TARGET_ARCH): Define. + + * expr.c (integer_constant): If TARGET_WORD_SIZE is defined, + sign-extend appropriately. + +Thu Apr 13 11:20:17 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_validate_fix): Properly use PARAMS to + hide prototype from non-ANSI compilers, and don't use ANSI syntax + for arguments. + +Wed Apr 12 12:20:19 1995 Stan Shebs + + * mpw-config.in (TDEFINES): Put empty definition into + makefile fragment. + * mpw-make.in (xmalloc.c.o): Remove. + (as.new): Depend on Version.r. + (Version.r): Generate from version info. + + * mpw-make.in: Delete references to hex-value.c. + + * mpw-config.in: Add mapping from configs to object file formats, + get VERSION from Makefile.in and add to mk.tmp. + (mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN. + * mpw-make.in (VERSION, gC): Don't define. + (ALL_CFLAGS): Remove -d flags. + (config.h): Remove definition of MPW, add HAVE_STDARG_H, + BFD_ASSEMBLER. + + * mpw-make.in (ALL_CFLAGS): Add definition of HAVE_STDARG_H, + include of ::libiberty:. + (config.h): Ifdef contents on GAS_VERSION. + + * mpw-make.in (as.c): Compile with C not gC. + (config-stamp): Touch correctly. + (install-only): New target. + (install): Depend on all and install-only. + + * mpw-config.in: Parse target and use to generate forward includes + to tc-, obj-, and atof- files, use te-generic.h for emulation. + * mpw-make.in (VERSION): Define. + (as.c): Compile with GCC. + (TARG_OBJECTS, CLIBS): Define. + (as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link + command. + (config.h, config-stamp): Build. + + * mpw-make.in (C, CFLAGS): Removed definitions. + (ALL_CFLAGS): Define. + Set default rule to use {CC} instead of {C}. + + * mpw-make.in (install): Moved here from mpw-build.in. + * mpw-build.in: Removed, functionality in mpw-make.in + + * mpw-make.in (CFLAGS): Add more include paths. + + * mpw-config.in (varargs.h, sys/*.h): Don't create when + configuring. + * mpw-make.in (CFLAGS): Add -w flag. + + * mpw-make.in: Replace 8-bit chars with their names. + + * mpw-config.in: New file, MPW version of configure.in. + * mpw-make.in: New file, MPW version of Makefile.in. + +start-sanitize-arc +Wed Apr 12 07:35:44 1995 Doug Evans + + * config/tc-arc.c (delay_slot_type): New function. + (md_assemble): Use hashed list of insns. + Print warning if 8 byte insn appears in delay slot. + (md_operand): Handle %st(sym1-sym2). + (get_arc_exp_reloc_type): Likewise. + (md_apply_fix, case BFD_RELOC_ARC_B26): Now using implicit addends + so must store them here. +end-sanitize-arc + +Tue Apr 11 01:42:36 1995 Ken Raeburn + + * configure.in: Require at least autoconf 2.3, because earlier + versions lose on some AIX versions. + * configure: Regenerated. + + * configure.in: Add m68k-*-elf. + * config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'. + (md_pseudo_table) [OBJ_ELF]: Ignore "swbeg". + (md_begin): Set alt_notend_table['&'], so svr4-style immediate + operands are accepted. + (md_apply_fix): Argument VALP should point to valueT. + (md_convert_frag): Argument SEC should be type segT. + (md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument. + (md_parse_option): Ignore it. + (md_convert_frag_1): Add in frag address for the symbol in the + displacement calculation. + * config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k". + (TARGET_ARCH): Define. + (REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0. + (LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle + these the same way for OBJ_ELF as for M68KCOFF. + + * gdbinit.in: Add breakpoint in as_abort. + + * write.c (cvt_frag_to_fill): If offset is less than zero, + complain about it specifically, instead of reporting an assertion + failure. + (relax_segment): Complain about .org backwards, then ignore it. + Do generic rs_machine_dependent relaxation only if + TC_GENERIC_RELAX_TABLE is defined, and use its value for the base + of the table. + * tc.h (md_relax_table): Delete declaration. + * as.h (struct relax_type): Add forward declaration for type. + * config/tc-a29k.c: Deleted md_relax_table. + * config/tc-{alpha,arm,h8300,hppa,i860,m88k,mips,ppc,sparc,z8k}.c: + Ditto. + * config/tc-{h8500,i386,i960,ns32k,sh,tahoe,vax,w65}.h: Declare + md_relax_table here, and define TC_GENERIC_RELAX_TABLE to expand + to md_relax_table. + * config/tc-h8500.c (md_relax_table): No longer const. + * config/tc-w65.c (md_relax_table): Ditto. + * config/tc-sparc.c (md_short_jump_size, md_long_jump_size): + Deleted. +start-sanitize-arc + * config/tc-arc.c (md_relax_table, md_short_jump_size, + md_long_jump_size): Deleted. +end-sanitize-arc +start-sanitize-rce + * config/tc-rce.h: Declare md_relax_table here, and define + TC_GENERIC_RELAX_TABLE to expand to it. +end-sanitize-rce + * doc/internals.texi: Describe TC_GENERIC_RELAX_TABLE and + WORKING_DOT_WORD. Mention md_*_jump_size (but description needs + to be fleshed out later). Note m68k PCINDEX mode has been checked + in. + +Mon Apr 10 15:57:42 1995 Ken Raeburn + + * config/tc-mips.c (nopic_need_relax): New static function, split + out from md_estimate_size_before_relax. + (md_estimate_size_before_relax): Call it. + (load_address, macro): In NO_PIC branches, if nopic_need_relax + returns nonzero, don't attempt GP optimization. + + * config/tc-m68k.c (PCINDEX): New macro. + (md_relax_table): No longer const. Add PCINDEX entries. + (m68k_ip): For AINDX with simple symbol operand, generate a + PCINDEX frag if PC is used, or do normal non-AINDX processing for + address register. + (m68k_init_after_args): If cpu is 68000 or 68010, fix + md_relax_table to prevent relaxation of PCINDEX/BYTE mode to + SHORT, since they don't support that mode. + (md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2. Add + support for new PCINDEX modes. + (md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode. + + * config/tc-m68k.c (md_convert_frag_1, case PCLEA/SHORT): Add 2 to + offset. + (m68k_ip, case most punctuation/AOFF): If using PC, call add_frag + using PCLEA. + + * config/tc-m68k.c: Don't explicitly include config.h. Deleted a + bunch of "#if 0" code and useless comments. + (struct m68k_cpu): New type. + (archs, n_archs): New variables, with single list of name/enum + mapping and aliases. + (m68k_ip): Delete the table here. + (m68k_init_after_args): Use the new table here instead of + open-coding it. + (md_parse_option, case 'm'): Ditto. + + * doc/Makefile.in (Makefile): Fix rule for running config.status. + (internals.dvi, internals.ps, internals.ps4): New targets, not + built by default. + + * doc/internals.texi: Add loud disclaimer. Refill to 79 columns, + specify fill-column in local-variables section. Change + subheadings to subsections so they can be cross-referenced. + Describe broken words, frags, frag chains, generic relaxation, + relax table, m68k relaxation, m68k addressing modes, test suite + code. Add a few words about various file formats. + + * doc/as.texinfo (m68k): Recommend using `%' with registers as the + normal case, instead of the exceptional case. + +start-sanitize-arc +Thu Apr 6 20:00:11 1995 Doug Evans + + * config/tc-arc.c (arc_condition_codes): Deleted. + (init_opcode_tables): Delete cpu_type_map, call + arc_get_opcode_mach instead. + (arc_common): Delete non-ELF stuff. Require leading '.' in .data. + (md_apply_fix): Delete non-ELF stuff. + Disable special handling of limm values, treat them normally. + (get_arc_exp_reloc_type): New argument `data_p'. Callers updated. + (md_assemble): All limm operands must be output by gas, the opcode + insertion routines cannot be used (they don't do anything and we're + using implicit addends now so we need to output something). + * config/tc-arc.h (FAKE_LABEL_NAME): Define. +end-sanitize-arc + +Thu Mar 30 14:38:47 1995 H.J. Lu (hjl@nynexst.com) + + * configure.in: Change linux to default to elf. Using + i[345]86-*-linuxaout will defaults to a.out. + * configure: Rebuild. + +Wed Mar 29 17:16:30 1995 Torbjorn Granlund + + * config/tc-m68k.c (md_apply_fix_2): Cast negative offsets to offsetT + (for hosting on 64 bit machines). + +Tue Mar 21 16:53:27 1995 Ian Lance Taylor + + * config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650. + +Fri Mar 17 16:47:13 1995 Stan Shebs + + * write.c (write_object_file): Add PROGRESS macros. + +Fri Mar 17 12:40:34 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_comm): Make sure to always reset the frag + and section for common symbols. + +Thu Mar 16 17:26:18 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_validate_fix): Allow non PC relative + pointers in the .ctors and .dtors section also when using the + -mrelocatable option. + (md_parse_option): Support -m403 as a PowerPC computer. + (md_show_usage): Ditto. + +Wed Mar 15 14:45:42 1995 Ian Lance Taylor + + * ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr + may be NULL when given strange input. Don't core dump. + +Tue Mar 14 21:36:34 1995 Ian Lance Taylor + + * config/tc-mips.c (load_register): Don't use addiu for dli of an + unsigned seemingly negative number. Don't bother shifting a zero + value. + (mips_ip): For case 'j', if there are more alternatives, and the + ISA level is at least 3, don't accept an unsigned seemingly + negative number. + +Tue Mar 14 19:16:43 1995 Ken Raeburn + + * read.c (s_app_line): Fix last patch to deal with a line number + of 1. + +Tue Mar 14 17:00:57 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_validate_fix): Use as_warn_where, not + as_bad_where to give a warning instead of an error. + +Mon Mar 13 17:03:46 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/tc-vax.c (md_assemble): issue a warning if a constant + is used as an operand where an immediate value is not allowed. + +Fri Mar 10 19:21:19 1995 Ken Raeburn + + * config/obj-coff.c: Redo my 10 Jan change, but get it right this + time. :-) + (fixup_segment): If linkrelax is set, just return. + (write_object_file): Don't treat h8300 and z8k specially with + regard to fixups. + * config/tc-h8300.c (md_begin): Set linkrelax. + * config/tc-z8k.c (md_begin): Ditto. + +Thu Mar 9 18:01:37 1995 Ian Lance Taylor + + * config/obj-coff.c (coff_header_append): Check return value of + bfd_coff_swap_scnhdr_out. + +Thu Mar 9 13:51:30 1995 Doug Evans + + Delete this patch, it breaks the h8300 assembler. + Tue Jan 10 13:34:14 1995 Ken Raeburn + * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k + specially with regard to fixups. + +Thu Mar 9 12:28:18 1995 Michael Meissner + + * config/tc-ppc.c (mrelocatable): Change type to boolean. + (md_begin): Set the EF_PPC_RELOCATABLE if -mrelocatable. + +Wed Mar 8 15:39:39 1995 Ian Lance Taylor + + * config/tc-mips.c (md_begin): Check for a cpu string of r8000 or + r10000. If mips_isa is 4, set the machine number to 8000. + (append_insn): If mips_isa is at least 4, don't generate nops for + coprocessor delays. Check INSN_READ_FPR_R when setting + mips_cprmask[1]. + (mips_emit_delays): If mips_isa is at least 4, don't generate nops + for coprocessor delays. + (mips_ip): Check for INSN_ISA4 instructions. Handle new argument + types 'h', 'R', 'N', and 'M'. + (md_longopts): Accept "mips4". + (md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000. + (s_mipsset): Permit .set mips4. + +Wed Mar 8 09:36:05 1995 Michael Meissner + + * config/tc-ppc.c (ppc_elf_validate_fix): Allow .stab sections to + have non PC relative relocations with -mrelocatable. + +Wed Mar 8 02:57:53 1995 Ken Raeburn + + * config/tc-m68k.c (opcode_ptr): Return pointer to const. + (md_begin): Make hash table errors fatal. Process opcode aliases + after main opcode table. + (md_apply_fix_2, case 4): Recode setting of lower_limit to avoid + gcc warning. + +start-sanitize-arc +Tue Mar 7 20:42:35 1995 Doug Evans + + * config/tc-arc.h (LITTLE_ENDIAN, BIG_ENDIAN): Define. + (DEFAULT_TARGET_FORMAT): Define. + (DEFAULT_BYTE_ORDER): Define to little endian. + (TARGET_FORMAT): Byte order is now selectable. + * config/tc-arc.c (arc_target_format): New variable. + (byte_order): New variable. + (md_longopts): New options -EL, -EB. + (md_parse_option): Recognize them. + (md_show_usage): Print them. + (md_begin): Set target_big_endian. +end-sanitize-arc + +Tue Mar 7 16:07:10 1995 Ian Lance Taylor + + * doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans + . + +Mon Mar 6 09:58:34 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to + be consistent with current naming conventions. + (md_begin): Set a default architecture and machine type. + (pa_ip): If the current instruction specifies a newer machine type + than the current machine type, then update the current machine + type. + (need_pa11_opcode): Likewise. + +Sun Mar 5 19:38:09 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument + relocation bits for absolute calls. + +Fri Mar 3 17:41:50 1995 Ken Raeburn + + * config/tc-h8300.* (md_operand): Change empty function to empty + macro. + + * config/tc-h8300.c (build_bytes): Make H8/300-H warning message + clearer. + + * write.c (write_contents): If bfd_set_section_contents fails, + print a message and exit, instead of aborting. + +Fri Mar 3 16:26:19 1995 Michael Meissner + + * tc.h (md_apply_fix3): If MD_APPLY_FIX3 is defined, declare + md_apply_fix3. + + * write.c (fixup_segment): If MD_APPLY_FIX3 is defined, call + md_apply_fix3 with the normal 2 arguments and the current segment + pointer instead of md_apply_fix. + + * config/tc-ppc.h (MD_APPLY_FIX3): Define. + + * config/tc-ppc.c (ppc_elf_validate_fix): Warn if -mrelocatable + and a non PC relative relocation that isn't in the .got2 segment + was performed. + (md_apply_fix3): Rename from md_apply_fix and take segment pointer + as third argument. If ELF object format, call ppc_elf_validate_fix + for normal relocations. + (md_parse_option): If ELF object format, recognize the + -mrelocatable switch. + +Thu Mar 2 16:34:44 1995 Ian Lance Taylor + + * config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0. + +Tue Feb 28 18:29:27 1995 Ken Raeburn + + * config/tc-arm.c, config/tc-arm.h (md_operand): Replaced empty + function in .c file with empty macro in .h file. + * config/tc-h8500.*, config/tc-hppa.*, config/tc-i386.*, + config/tc-i860.*, config/tc-i960.*, config/tc-ns32k.*, + config/tc-ppc.*, config/tc-sh.*, config/tc-sparc.*, + config/tc-tahoe.*, config/tc-vax.*, config/tc-w65.*, + config/tc-z8k.*: Ditto. +start-sanitize-rce + * config/tc-rce.*: Ditto. +end-sanitize-rce + * config/tc-m68k.*: Ditto. + + * config/tc-m68k.c (mote_pseudo_table): Removed dots from opcode + names. + + * read.c (s_app_line): Ignore non-positive line numbers. + +Tue Feb 28 15:34:14 1995 Ian Lance Taylor + + * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or + GOT relocs either. + +Mon Feb 27 13:03:41 1995 Kung Hsu + + * configure.in: add a29k-*-vxworks configuration. + +Fri Feb 24 14:41:15 1995 Ian Lance Taylor + + * config/tc-mips.c (load_register): Take dbl argument to determine + handling of signed 32 bit values in 64 bit modes. Change all + callers. + (macro): Handle M_DLI and M_DLA_AB. + +Wed Feb 22 23:10:56 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Don't subtract the value of the + add symbol if it's a common symbol (the value of a common symbol + is its size, not a value in the traditional sense). + +Wed Feb 22 21:12:28 1995 Ian Lance Taylor + + * config/tc-mips.c (append_insn): If listing_prev_line is called, + call frag_grow to make sure there is still room for a variant. + +Fri Feb 17 14:50:08 1995 Ian Lance Taylor + + * config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte + if OBJ_ELF. From gary@Intrepid.COM (Gary Funck). + + * config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both + weak and common. + * config/obj-aout.c (obj_aout_frob_symbol): Likewise. + +Fri Feb 17 12:43:47 1995 Michael Meissner + + * config/tc-ppc.c (md_pseudo_table): Don't redefine byte under + ELF. + (ppc_elf_cons): Don't support @pcrel any more, since DIFF_EXPR_OK + allows the normal expressions to generate it. + (md_apply_fix): Convert BFD_RELOC_32 with pcrel bit set into + BFD_RELOC_32_PCREL. Abort if either BFD_RELOC_16 or BFD_RELOC_8 + need PC relative relocations. + + * config/tc-ppc.h (DIFF_EXPR_OK): Define to allow PC relative + expressions to be handled. + +Thu Feb 16 14:30:13 1995 Doug Evans + + * expr.c (operand): Move md_operand handling to default case + (so it works). + +Wed Feb 15 16:08:47 1995 Jason Molenda + + * config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored + parameter, to match prototype. + +Wed Feb 15 15:07:00 1995 Michael Meissner + + * config/tc-ppc.c (md_pseudo_table): If ELF, go to ppc_elf_cons + instead of cons. + (md_show_usage): Show all of the PowerPc options. + (ppc_elf_suffix): New function to recognize ELF suffixes that + specify a relocation, such as @GOT. + (ppc_elf_cons): Replacement for the standard cons function that + knows about the ELF suffixes. + (ppc_fixup): Add reloc field to hold non-standard relocation. + (md_assemble): Handle ELF suffixes like @GOT. + (md_create_short_jump): Dummy in case WORKING_DOT_WORD is not + defined. + (md_create_long_jump): Ditto. + (md_short_jump_size): Ditto. + (md_long_jump_size): Ditto. + (md_apply_fix): Handle BFD_RELOC_32_PCREL, BFD_RELOC_LO16, + BFD_RELOC_HI16, BFD_RELOC_HI16_S, BFD_RELOC_PPC_TOC16, and + BFD_RELOC_16 relocations. If relocation can not be found, print + the decimal value of the relocation. + +Wed Feb 15 11:46:02 1995 Ian Lance Taylor + + * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for + DWARF. From gary@Intrepid.COM (Gary Funck). + + * config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double + loads and stores). + + * config/tc-i386.c (tc_i386_fix_adjustable): Do adjust global + symbols if OBJ_AOUT. + + * config/tc-mips.c (macro): Don't use the target register as a + base register when building the address for M_L{W,D}{L,R}_AB. + +Mon Feb 13 14:44:32 1995 Ian Lance Taylor + + * config/tc-mips.c (KT0, KT1): Define. + (mips_ip): Recognize $kt0 and $kt1 as register names. + + * config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF. + * config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the + value of a defined symbol; the value was added in by + fixup_segment. This was previously corrected, if the reloc was + changed to be against a section symbol, in tc_gen_reloc. + +start-sanitize-arc +Mon Feb 13 10:02:35 1995 Doug Evans + + * config/tc-arc.h (TC_PARSE_CONS_EXPRESSION): Define. + (TC_CONS_FIX_NEW): Define. + * config/tc-arc.c (get_arc_exp_operand_type): New function. + (init_opcode_tables): Insert registers into global symbol table. + (md_assemble): Call `expression' to parse all expressions. + Call `get_arc_exp_operand_type'. + (md_operand): Recognize %st(foo). + (arc_parse_cons_expression): New function. + (arc_cons_fix_new): New function. + (md_apply_fix): Handle new reloc BFD_RELOC_ARC_B26. +end-sanitize-arc + +Fri Feb 10 14:04:04 1995 Ian Lance Taylor + + * config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN + rather than !S_IS_LOCAL. + +start-sanitize-arc +Thu Feb 9 17:44:29 1995 Doug Evans + + * config/tc-arc.c (md_pseudo_table): Add .cpu. + (comment_chars): Add ';'. + (arc_mach_type, mach_type_specified, cpu_tables_init_p): New globals. + (md_parse_option): Delete support for -mmult. Add -mcpu=xxx. + (md_begin): Current ARCs are little endian. + Call bfd_set_arch_mach to set the cpu type. + (init_opcode_tables): New function. + (md_begin): Ignore suffixes and registers not supported by cpu. + (md_assemble): Initialize opcode tables here. + Ignore opcodes not supported by selected cpu. + Always ask for more memory in one piece. + (arc_cpu): New function. + (md_numbers_to_chars): Support both endians (will probably be needed + eventually anyway). + (md_apply_fix): Likewise. + * config/tc-arc.h (LOCAL_LABEL): Delete "_.L_", gcc works around + dwarfout.c quirk. +end-sanitize-arc + +Thu Feb 9 18:16:34 1995 Ian Lance Taylor + + * config/tc-i386.c (md_assemble): Adjust conditions for changing + BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags. + Patch originally from Rob Ryan . + + * config/tc-i386.c: Include subsegs.h. + (tc_i386_fix_adjustable): Declare return value. + (i386_operand): Don't use an assignment directly as a condition. + +Thu Feb 9 10:37:13 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): In some cases subtract the + value of the add symbol from valp. Offsets braindamage in the + "machine independent" fixup_segment. + +Wed Feb 8 18:51:23 1995 Ken Raeburn + + * messages.c (as_abort): New function. + * as.h (as_abort): Declare it. + (abort): New macro. + + Thu Jan 19 18:10:05 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/vms-conf.h (HAVE_UNISTD_H): define it unconditionally. + * config-gas.com: test for availability of ; create a + rudimentary one if necessary. + +Tue Feb 7 13:34:46 1995 Michael Meissner + + * configure.in: Add powerpc-*-eabi support, which is the same as + powerpc-*-elf. + (configure): Rebuild with autoconf. + +Mon Feb 6 03:37:00 1995 Ken Raeburn + + Changes from Bryan Ford for i386 + 16-bit and msdos support: + * config/tc-i386.c (flag_16bit_code): New variable. + (set_16bit_code_flag): New function. + (md_pseudo_table): Added entries "code16" and "code32". + (md_assemble): Ensure that correct data-size prefixes get emitted, + based on the current mode. Ensure that 32-bit addressing will + always be done. Move segment-prefix handling code. (Why?) Use + 16-bit jumps for 16-bit code, 32-bit jumps for 32-bit code. + * config/tc-i386.h (MAX_PREFIXES): Bump to 5. + (Data16, Data32): Define. + * doc/as.texinfo (i386-16bit): New node. + * configure.in (i386-*-msdos*): New target, using a.out format. + * configure: Regenerated. + +Thu Feb 2 15:21:24 1995 Ken Raeburn + + * config/tc-m68k.c (cpu32_control_regs): New macro. + (m68k_init_after_args): Use it, for cpu32 processors. + + Tue Jan 31 17:20:45 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.c (vms_tir_stack_psect): new routine; + (VMS_Set_Data, VMS_Set_Psect, VMS_Store_PIC_Symbol_Reference, + VMS_TBT_Routine_Begin, VMS_TBT_Line_PC_Correlation): use it; + (VMS_Global_Symbol_Spec, VMS_Procedure_Entry_Pt): treat + Psect_Number as `unsigned'. + + Thu Jan 26 17:06:28 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.c: performance tuning. + (VMS_Symbol_type_list): convert from single list head to small + array of list heads; + (SYMTYP_HASH): new macro for accessing VMS_Symbol_type_list[]; + (find_symbol, setup_basic_type, VMS_typedef_parse): use it; + (VMS_RSYM_Parse): move S_GET_VALUE() inside switch to avoid + calling it for uninteresting cases. + +Wed Feb 1 23:52:45 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Go ahead and call + hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL + relocations in SOM. + (hppa_fix_adjustable): Refine somewhat. + +Fri Jan 27 21:29:53 1995 Michael Meissner + + * config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are + using ELF. + +Thu Jan 26 19:03:42 1995 Ken Raeburn + + * config/tc-h8300.c (get_specific): Add parens around | inside &. + (skip_colonthing): Set L_8 if ":8" is specified. + +Thu Jan 26 18:38:01 1995 Ian Lance Taylor + + * config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the + 601. Check that the error return from hash_insert is "exists". + +Thu Jan 26 11:35:33 1995 Michael Meissner + + * configure: Add support for configuring powerpc-*-eabi. + + * config/tc-ppc.c (GOT_symbol): Define if object format is ELF. + + * config/tc-ppc.h (GLOBAL_OFFSET_TABLE_NAME): Define if object + format is ELF and not defined to be "_GLOBAL_OFFSET_TABLE_". + +Wed Jan 25 16:23:13 1995 Jim Wilson + + * tc-sh.c (little): Add argument IGNORE to avoid compiler warnings. + (md_pseudo_table): Add space for consistent formatting. + (COND8_RANGE, COND12_RANGE): Delete unused macros. + (COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M): + Correct minimum and maximum branch offsets. Add comments explaining + why these numbers are correct. + +Wed Jan 25 15:32:09 1995 David Edelsohn + + * config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for + mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and + m620 for PowerPC64 mode. + (ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix. + +Tue Jan 24 16:44:23 1995 Ken Raeburn + + * config/tc-vax.c (vip): Introduce new ptr-to-const local variable + for scanning operand string. + + Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu) + + * config/vax-inst.h (struct vop, fields `vop_warn', `vop_error'): + make them pointers to const char; + (struct vit, field `vit_error'): ditto. + * config/atof-vax.c (md_atof): rename local `littlenum_pointer' + to `littlenumP' to avoid shadowing file scope variable. + * config/tc-vax.c (vip_begin, vip_op_defaults, vip_op_1): make + string arguments be pointers to const char; + (vip): make `alloperr' const char *; + (vip_op): make `err' and `wrn' const char *; rename `access' to + `access_mode' to avoid shadowing library function. + * config/obj-vms.c (`symbol_name'): make it const char *; + (get_struct_name): cast one use of `symbol_name' to char * + [caller guarantees that it won't modify the pointer's target]; + (PUT_COUNTED_STRING): use pointer to const char; + (VMS_typedef_parse): make `pnt2' const char *; + (Write_VMS_MHD_Records): make `cp' const char *; + (VMS_Modify_Psect_Attributes, array `Attributes'): make const, + and make field `Name' pointer to const char; + + * as.h (`seg_name[]' declaration): pointers to const char; + (struct _pseudo_type, field `poc_name'): pointer to const char. + * subsegs.c (`seg_name[]' definition): ditto; + * hash.c (hash_ask): rename argument `access' to `access_type' + to avoid shadowing library function. + * write.c (variable `the_object_file'): move from file scope + to block scope within write_object_file(); free it after use; + (fixup_segment): conditionally exclude it for OBJ_VMS. + (cvt_frag_to_fill): rename argument `headers' to `headersP' + to avoid shadowing file scope variable. + +Mon Jan 23 21:42:39 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused + miscompilation of "diag" instructions. + +Mon Jan 23 15:51:41 1995 Ken Raeburn + + * configure: Regenerated. + + * config/tc-mips.c: Include libiberty.h. + +Mon Jan 23 14:07:58 1995 Ian Lance Taylor + + * config/tc-sh.h (tc_init_after_args): Don't define. + * config/tc-sh.c (md_begin): Remove unused variable table. + (md_assemble): Remove unused variable p. + (md_convert_frag): Cast fr_address to unsigned long for printf. + (md_apply_fix): Use as_warn_where rather than as_warn. + (sh_init_after_args): Remove empty function. + + * configure.in (i386-*-gnu*elf*): New target. + +Sat Jan 21 19:02:23 1995 Ian Lance Taylor + + * hash.c (hash_ask): If we find the slot after wrapping around, + break out of the loop. Fixes bug in Jan 18 change. + +Fri Jan 20 17:07:31 1995 Ken Raeburn + + * hash.c (hash_code): Undo last change. + +Thu Jan 19 14:49:47 1995 Ken Raeburn + + * config/tc-alpha.c (alpha_ip): Initialize local variables to keep + gcc quiet. + (gpdisp_hi16_howto): Don't use "const" with reloc_howto_type. + (in_range_signed): Add parens around subtraction inside shift. + * gasp.c (do_data): Initialize local variable "opname". + (istrue): Provide a default case to set "res" and keep "gcc -Wall" + quiet. + * write.c (write_contents): Deleted unused variable. + (print_symbol_value_1): Declare. + * hash.c (hash_ask): Delete disabled non-strcmp version of the + code, and automatic variables used only in those sections. + * write.c (chain_frchains_together_1): Only define local variable + "prev_fix" if BFD_ASSEMBLER. + * flonum-konst.c (dummy1): Return void. + * config/tc-vax.c (md_assemble): Remove two comparisons of + unsigned numbers versus zero. + * as.h (bcopy): If neither memcpy nor bcopy is defined as a macro, + define to use memcpy. + + * config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes. + Turns out we never got the assignment done after all. + + Cleanup of VAX and VMS code, from Pat Rankin: + * config/obj-vms.c: Changed exported function names to lower case. + (Changed call sites in write.c.) Declare VMS system function + names used, conditional on actually being on VMS. Changed many + functions that returned no useful value to now be declared to + return void. Removed many unused variables. Supply missing + return statements or values. Supply `default' case in switch + statements. Ensure local variables get initialized. + * config/tc-vax.c: Minor changes to silence "gcc -Wall". + * config/obj-vms.h, config/tc-vax.h: Added some missing + declarations. + +Wed Jan 18 13:49:26 1995 Ken Raeburn + + * atof-generic.c (flonum_print) [TRACE]: New function. + (atof_generic) [TRACE]: Print multiplier before multiplication, + and print multiplication result before and after copy. + + * flonum-mult.c (flonum_multip): Avoid sign extension problems + around multiplication operation. + + * atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define. + (atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.' + explicitly instead of calling strchr. + + * config/tc-sparc.c (sparc_ip): When scanning successive opcode + table entries, check names for pointer equality before doing + string comparisons. + + * hash.c (hash_ask): Call strcmp instead of expanding it inline. + (hash_code): Replaced with a version from bfd. + + * config/obj-coff.c (write_object_file): If COFF_FLAGS isn't + defined, default it to zero. + +Wed Jan 18 12:16:07 1995 Ian Lance Taylor + + * write.c (fix_new_internal): Clear fx_bsr on those targets which + use it. + + * expr.c (operand): Parenthesize && within ||. + * listing.c (listing_newline): Likewise. + (list_symbol_table): Use %lu to print sizeof. + * symbols.c: Comment out unused function indent. + (print_symbol_value_1): Cast pointer to unsigned long for printf. + * config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it + will be used. + * config/tc-h8300.c (md_begin): Remove unused variable reg. + (get_operand): Declare type of parameter direction. Remove unused + variable size. + (get_specific): Fix comment to avoid nested comments. + (check_operand): Cast X_add_number to unsigned long for printf. + (build_bytes): Remove unused local variables output_ptr, part, and + high. + (build_bytes): Cast X_add_number to unsigned long for printf. + (clever_message): Remove unused variable scan. + (md_assemble): Remove unused variable i. + (tc_coff_sizemachdep): Remove unused function. + * tc-h8300.h (tc_reloc_mangle): Declare. + +Tue Jan 17 10:58:06 1995 Ian Lance Taylor + + * config/tc-mips.c (mips_4650): New static variable. + (md_begin): Handle a cpu string of "4650". If mips_4650 was not + initialized, set it to 0. + (append_insn): Don't insert nops around HI and LO on a 4650. + (mips_emit_delays): Likewise. + (mips_ip): Use INSN_ISA mask to check ISA of instruction. Check + for INSN_4650. + (md_longopts): Add m4650 and no-m4650. + (md_parse_option): Handle mips-cpu=4650. Handle -m4650 and + -no-m4650. + * doc/as.texinfo: Document new MIPS options. + +Sat Jan 14 23:48:13 1995 Steve Chamberlain + + * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles. + * config/obj-coff.h: Cope with w65. + * configure, configure.in: Recognize w65. + +Thu Jan 12 17:56:24 1995 Ken Raeburn + + * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get' + function is scrub_from_file, call scrub_from_file directly, and + get gcc's inlining capability into the act. + + * Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o. + (OBJS): Delete hex-value.o. + (REAL_SOURCES): Delete hex-value.c. + (hex-value.o): Delete dependencies. + * hex-value.c: Deleted. + * as.c (main): Call hex_init. + * expr.c, config/tc-mips.c: Include libiberty.h. Replace + hex_value array references with hex_* macros. + +Wed Jan 11 17:51:38 1995 Ken Raeburn + + * config/tc-h8300.h (COFF_FLAGS): Don't define. + * config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS), + config/tc-z8k.h (COFF_FLAGS): Ditto. +start-sanitize-rce + * config/tc-rce.h (COFF_FLAGS): Ditto. +end-sanitize-rce + + * config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always + defined. + + * config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't + generate 68020 addressing modes for a 68000 processor. + (md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto. + +Tue Jan 10 13:34:14 1995 Ken Raeburn + + * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k + specially with regard to fixups. + +Mon Jan 9 16:22:28 1995 Ken Raeburn + + * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to + bfd_vma before subtracting. + + * config/obj-coff.c (size_section): Handle rs_space like rs_fill, + but make sure fr_symbol is null. + (fill_section): Ditto. + +Sun Jan 8 16:14:19 1995 Ian Lance Taylor + + * config/tc-mips.c (mips_ip): Fix handling of floating point + values when GPOPT is not defined. + +Fri Jan 6 16:59:41 1995 Ken Raeburn + + * gasp.c: Include string.h. Put config.h before other includes. + + * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until + after any remaining operands are also known to match. + +Fri Dec 30 18:21:41 1994 Ken Raeburn + + * listing.c (list_symbol_table): Build a format string based on + the size of the value to be printed, as long as "unsigned long" is + at least as wide, after handling the special case of 4-byte + values. + + * Makefile.in (dependencies): Make $(OBJS) depend on as.h and + everything it includes. Delete those files from per-file + dependencies. + + * as.h (relax_substateT): Now defined to be unsigned int. + (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. + + * 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. + + * read.c (s_space): Rewrite to handle general expressions. + Generate rs_space frags for non-constant values. + * write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space + like rs_align and rs_org. Verify that fr_offset is non-negative, + and force frag type to rs_fill only after assertion checks. + (relax_segment): Treat rs_align_code like rs_align. Treat + rs_space like rs_org in the first switch; in the second, force the + operand to a constant, and use it for the growth size. + +Wed Dec 28 20:57:37 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_subspace): For sections with the ZERO + attribute, set the "bss" field in the appropriate seginfo structure. + +Wed Dec 28 15:01:01 1994 Ken Raeburn + + * subsegs.h: Include obstack.h. + +Tue Dec 27 18:16:04 1994 Ken Raeburn + + * as.h (struct frag): Enable align* components now. + +Tue Dec 20 14:56:31 1994 Ken Raeburn + + * frags.c (frag_init): Call obstack_begin on `frags'. + * 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. + + * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT + instead of long and unsigned long. + (md_apply_fix): Cast value before passing it. + + * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h, + config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c, + config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on + use of ".." when including header files. +start-sanitize-rce + * config/tc-rce.c: Ditto. +end-sanitize-rce + + * config/obj-coff.c (fixup_segment): Reformat condition in an `if' + statement. + + * Makefile.in (SUBDIR_INCLUDES): Deleted. + +Tue Dec 20 13:40:36 1994 Ian Lance Taylor + + * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h. + +start-sanitize-arc +Tue Dec 20 09:10:40 1994 Doug Evans + + * config/tc-arc.c: Delete lots of sparc pseudo-ops. +end-sanitize-arc + +Mon Dec 19 16:53:36 1994 Ian Lance Taylor + + * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit + constants. + (mips_ip): Accept O_big constants in case 'I'. Change case + 'i'/'j' to treat an O_big constant as an out of range value. + +Mon Dec 19 14:15:07 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is + clear for a section with the "ZERO" attribute. + + * Reduce useless symbols for ELF in an attempt to make smaller + objects and speed up the linker. + * config/tc-hppa.c (struct call_info): Replace end_symbol field + with a size field. + (hppa_elf_mark_end_function): Delete unneeded function. + (pa_build_unwind_subspace): For the 2nd unwind relocation, use + the function symbol + function size instead of a special symbol + for the end of the function. + (process_exit): Compute the function size here. Don't call + hppa_elf_mark_end_of_function anymore. + (pa_procend): Likewise. + (hppa_fix_adjustable): Only reject 32bit relocations for SOM. + (elf_hppa_final_processing): Simplify. + +start-sanitize-arc +Mon Dec 19 12:57:09 1994 Doug Evans + + * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer + to table entry. All callers changed. + (md_shortopts): New argument -mmult. + (md_parse_option): Recognize it. + (md_show_usage): Print it. + (md_begin): If -mmult, say we have the new multiply and shift insns. + (md_assemble): Fix reloc generation for 32 bit immediate values. + Clean up modifier handling. Try next insn if fake operand says there's + an error. Update to new syntax of insertion/extraction fns. + Recognize predefined aux regs. Don't abort if insertion fn missing. +end-sanitize-arc + +Mon Dec 19 13:49:07 1994 Ken Raeburn + + * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but + reject other vendors until we can be sure we're consistent with + bfd. + + * config/obj-vms.c (Create_VMS_Object_File): Instead of formatting + a buffer to pass to `error', just call `as_fatal' directly. + (VMS_Psect_Spec): Ditto. + (VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1, + VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call + as_tsktsk instead of printf. + (VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation, + VMS_TBT_Source_File, VMS_TBT_Source_Lines, + VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit + integers rather than sizeof expressions using basic integer types, + in case host and target aren't the same. Use memcpy or COPY_* + macros instead of possibly unaligned word or longword assignment. + + * config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro. + * config/obj-vms.c (VMS_Store_PIC_Symbol_Reference, + VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of + forcing sy_number to hold a pointer. + +Fri Dec 16 14:40:16 1994 Ken Raeburn + + * config/tc-sh.c (md_begin): Don't fill in md_relax_table here. + (md_relax_table): Use static initialization. + + * config/tc-h8300.c (parse_exp, get_operands, clever_message, + md_assemble, tc_crawl_symbol_chain, md_undefined_symbol, + tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN. + + * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET, + CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not + used. + (AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM, + NM_FOR_TARGET): Don't define. + (VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty. + (tooldir): Use exec_prefix, not libdir. + +Fri Dec 16 11:07:10 1994 Stan Shebs + + * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h. + + * as.h: Include progress.h. + * as.c (main): Call START_PROGRESS and END_PROGRESS. + (main, perform_an_assembly_pass): Call PROGRESS. + +Fri Dec 16 00:46:08 1994 Ian Lance Taylor + + * write.c (adjust_reloc_syms): Use bfd_is_und_section and + bfd_is_abs_section rather than comparing against &bfd_und_section + and &bfd_abs_section. + +Thu Dec 15 15:27:14 1994 Jim Wilson + + * config/tc-sh.c (md_begin): Use a local variable when + initializing md_relax_table to avoid errors about modifying a + const data structure. + +Tue Dec 13 15:42:27 1994 Ian Lance Taylor + + * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which + appears to no longer be needed. + +Tue Dec 13 08:04:15 1994 Ian Lance Taylor + + * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without + requiring that the X_op_symbol be in the text_section. + (macro): Change the test for a legel expression difference to + correspond to changes in pseudo_set in read.c. + +Fri Dec 9 21:04:17 1994 Ken Raeburn + + * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use + bfd_install_relocation. + + * ecoff.c (ecoff_set_gp_prolog_size): If there is no current + routine, just return. + + * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode + value from pattern instead of assuming jsr. + * config/alpha-opcode.h (jmp): Add a "1,Bc" form. + +Thu Dec 8 17:48:25 1994 Ken Raeburn + + * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just + plain nm. + + * configure.in (ns32k-pc532-mach*): Select correct emulation. + (mips-sony-bsd*): Use ecoff. + (mips-*-gnu*): New target, using aout format, from Roland McGrath. + * configure: Regenerated. + +start-sanitize-arc +Tue Nov 29 18:12:22 1994 Doug Evans + + * configure.in (arc-*-elf*): Recognize. + * configure: "regenerated". + * config/tc-arc.c, config/tc-arc.h, config/arc.mt: New files. +end-sanitize-arc + +Tue Nov 29 13:58:10 1994 Ken Raeburn + + Use libiberty version of xmalloc: + * Makefile.in (REAL_SOURCES): Delete xmalloc.c. + (OBJS): Delete xmalloc.o. + (xmalloc.o): Delete dependencies. + * as.c (main): Call xmalloc_set_program_name once program name is + known. + + * config/tc-alpha.c (in_range_signed, in_range_unsigned): New + routines, split from in_range. + (in_range): Deleted. All calls changed to in_range_*signed. + (create_lita_section): Macro deleted. Single use expanded in + place. + (alpha_ip): Handle `t' and `8' operand types. + (md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of + unhandled relocation types. + * config/alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI, + since it doesn't work, and isn't supported by the native + assembler. + + * input-scrub.c: Change wording of a comment to avoid interference + with Cygnus source-control tools. + + * as.h (errno) [NEED_DECLARATION_ERRNO]: Declare. + + * config/tc-m68k.c (init_table): List buscr and pcr control + registers. + (m68k_ip, case 'J'): Handle them. + + Delete signal handler code. It's been disabled since March 1993 + without complaints. + * as.c: Don't include signal.h. + (got_sig): Unused function deleted, declaration deleted. + (SIGTY): Macro deleted. + (main): Deleted disabled code for establishing signal handler. + +start-sanitize-rce + Tiemann should've noted something like this: + * config/tc-rce.c, config/tc-rce.h: New files. + * as.c (main) [TC_RCE]: Call dump_literals. + * configure.in: Handle rce-*-aout. + * configure: Regenerated. +end-sanitize-rce + +Mon Nov 28 11:37:35 1994 Doug Evans + + * app.c (do_scrub_next_char): Insert missing newline at end of file + like warning says we do. + +Mon Nov 28 00:11:15 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.h (pa_check_eof): Declare new extern function. + (tc_frob_file): Define to call pa_check_eof. + + * config/tc-hppa.c (pa_check_current_space_and_subspace): New + function to verify the current space and subspace are reasonable. + Call for the appropriate pseudo-ops and before instruction parsing. + (pa_check_eof): New function to verify enter/exit and proc/procend + pairs match at EOF. + (pa_code): Simplify. + + * config/obj-som.c: Delete #if 0 code. + +Wed Nov 23 19:36:09 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and + coff-sh. + * config/sh.mh (TARG_CPU_DEPENDENTS): Get it right. + * config/tc-sh.c (little): New function. + (md_parse_option): Notice new option. + (build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix): + Cope with little endian data. + * config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent. + +Wed Nov 23 10:54:38 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last + change. The real bug was in bfd/elfcode.h and has been fixed. + +Tue Nov 22 23:31:20 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma + to the relocation's offset. + +Tue Nov 22 14:37:58 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * Makefile.in (INSTALL_XFORM): Fix typo. + +Tue Nov 22 10:23:25 1994 J.T. Conklin + + * config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and + .set (no)volatile directives. + +Tue Nov 15 21:44:13 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_subspace): Make sure to always reset + current_subspace. + (pa_text, pa_data): Likewise. + + * config/tc-hppa.c (pa_align): New function. Aligns the current + offset within the current subspace along with updating the + alignment of the subspace itself. + (pa_subspace): Default alignment to one byte rathern than zero + bytes to avoid setting alignment to log2(0). + (md_pseudo_table): Use pa_alignment for .align. + +Tue Nov 15 15:24:45 1994 Ken Raeburn + + * messages.c (as_fatal): Always put a space after "fatal error:" + when printing message. + +Tue Nov 15 11:10:43 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.h (obj_frob_symbol): Delete. + (tc_frob_symbol): Make definition conditional on OBJ_SOM or + OBJ_ELF. For ELF subtract out symbol->section->vma for non common + symbols. + +Wed Nov 9 14:53:03 1994 Ken Raeburn + + * config/te-delta.h: New file, derived from te-sysv32.h. + +Wed Nov 9 11:52:44 1994 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-ppc.c (ppc_bf): Always set coff_line_base. + +Mon Nov 7 01:58:49 1994 Ken Raeburn + + * Makefile.in (VERSION): Bump to 2.5.3. + + * configure.in: Compare generic cpu name against "sparc", not + "sparc*", since sparc variants should be changed to "sparc". + * configure: Regenerated with autoconf 2.1. + + * config/tc-a29k.c (octal, toHex): Variables deleted. + (isoctal): Macro deleted. + (md_begin): Don't initialize them. + (machine_ip, case 'P'/'A'): For absolute operand, generate an + error message if it's out of range. + (md_apply_fix, case RELOC_JUMPTARG): Check range for PC-relative + jumps. + (md_apply_fix): Delete code inside "#if 0". + +Thu Nov 3 20:20:40 1994 Ken Raeburn + + * config/go32.mh: Unused file deleted. + + * read.c (get_absolute_expression): Indicate that the error may + merely be that the expression can't currently be reduced. + +Thu Nov 3 16:09:59 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as + "a.out-m68k-netbsd". + * config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as + "a.out-sparc-netbsd". + + * config/te-nbsd.h: New file, NetBSD target emulation + * config/te-netbsd.h: Removed. + * configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*): + Set bfd_gas. Use nbsd emulation. + +Thu Nov 3 17:44:47 1994 Ken Raeburn + + Changes from net 2.5.2 release branch: + + * configure.in: Put AC_DEFINE(sparcv9) on its own line, so that + the shell variable settings associated with it are permanent. For + CPUs requiring bfd_gas=yes, select it based on CPU only, not + individual target names. Handle m68k-hp-hpux*, not just -hpux. + + * config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument + to match prototype in obj-coff.h. + + * configure.in: Skip tests for defining WANT_FOPEN_BIN and + IBM_COMPILER_SUX. + * acconfig.h: Deleted them. + * configure, conf.in: Rebuild with autoconf 2.0. + * config/go32.cfg, config/vms-conf.h: Updated. + + * config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use + IBM_COMPILER_SUX version of code, with comments indicating why. + + * listing.c (file_info): Use text mode when opening file for read. + Use "r" directly, no macro. + * input-file.c (input_file_open): Don't use FOPEN_RT, just use + "r". + * read.c (s_include): Ditto. + * output-file.c (output_file_create): Try both "wb" and "w", don't + bother with FOPEN_* macros. + * as.h: Don't include fopen-*.h. + + * config/alpha-opcode.h: Make "ret" with no operands equivalent to + "ret zero,(ra)", to match OSF1 and to be consistent with both + one-operand forms. + + Patches from DJ Delorie: + * as.h (alloca): undef alloca before defining it just in case + * config/go32.cfg: new file for autoconf values + * config/te-go32.h: new file + * configure.bat: new for autoconf + + * config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had = + for ==. + + * configure.in: If target_frag doesn't exist, use /dev/null. + + * as.c (parse_args): For non-VMS systems, re-add `v' to + std_shortopts. Add "verbose" to list of long options. + + * write.c (adjust_reloc_syms): When generating an absolute section + symbol as a placeholder, don't mark it as used in a relocation + entry, here. + + * Makefile.in (comparison): Compare using makefile code from gcc, + stripped down to discard subdir stuff and adapted to give a + non-zero exit status if either file differs. + +Thu Nov 3 15:43:02 1994 Ian Lance Taylor + + * config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for + NO_PIC case. + +Tue Nov 1 16:10:59 1994 Ian Lance Taylor + + * config/tc-mips.c (s_change_sec): If not GPOPT, don't permit + switching to the readonly data section. + + * ecoff.c (ecoff_directive_type): Fix warning message. + +Sun Oct 30 00:57:35 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_proc): Delete disabled code to put each + proc in its own subspace, we're not going to use it. + +Tue Oct 25 14:44:33 1994 Ian Lance Taylor + + * config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in + .rdata does not become a variant frag. + + * config/tc-mips.c (mips_cpu): Initialize to -1. + (md_begin): Don't mips_cpu if it was already set. + (md_parse_option): For -mipsN, don't set mips_cpu if it was + already set. For -mcpu=, just set mips_cpu, not mips_isa. + +Fri Oct 21 20:42:29 1994 Ian Lance Taylor + + * config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section. + (s_elf_section): New static function. + * ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize + the section when setting the storage class; default to sc_Data. + +Thu Oct 20 00:43:38 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all + fixups to branch instructions (not just pc-relative ones) which + will generate SOM relocations. + +Wed Oct 19 13:41:56 1994 Ian Lance Taylor + + * config/tc-a29k.c: Include ctype.h with angle brackets. + (define_some_regs): Add new special register names defined on the + 29040. + (parse_operand): Add argument opt. If non-zero, don't warn about + a missing operand. + (machine_ip): If handling argument type 'I', pass opt as non-zero + to parse_operand. Handle new optional operand type 'I'. + (md_undefined_symbol): Handle special register names (srNN). + +Tue Oct 18 00:45:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * write.c (renumber_sections): New static BFD_ASSEMBLER function. + (write_object_file): Call it after removing gas created sections. + +Mon Oct 17 18:06:05 1994 Ian Lance Taylor + + * symbols.c (symbol_create): Use udata.p, not just udata. + * config/obj-elf.c (obj_ecoff_set_ext): Likewise. + (elf_get_extr): Likewise. + + * read.c (read_a_source_file): The second argument to as_where is + unsigned int *, not int *. + +Mon Oct 17 02:26:32 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: Eliminate all uses of fx_addnumber. + (tc_gen_reloc): Simplify. It's no longer necessary to set a + reloc's addend field to zero for function symbols. + (md_apply_fix): Simplify. For fixups which will require a SOM + reloc, just clear out the necessary bits in the output file. + +Fri Oct 14 19:06:46 1994 Ken Raeburn + + * Makefile.in (BISON): Use bison -y, not bison. + +Thu Oct 13 19:22:54 1994 Ken Raeburn + + * Makefile.in (VERSION): Updated to 2.5. + (clean-here): Delete stamp-mk.com. + (distclean): Delete .gdbinit. + * Version 2.5 released. + +Wed Oct 12 20:30:51 1994 Ken Raeburn + + * config/te-nbsd532.h: Renamed from te-netbsd532.h. + * configure.in, configure: Adjusted. + +Wed Oct 12 16:33:38 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * config/cplus-dem.c: Removed. It isn't used. Even if it was, + it's better to use the one in libiberty. + +Wed Oct 12 18:48:39 1994 Ken Raeburn + + * symbols.c (resolve_symbol_value, case O_symbol): Undo last + change; it breaks the rs6000 support, and doesn't seem to be + needed. + +Wed Oct 12 11:56:50 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to + a.out--netbsd to match corresponding changes in BFD. + +Wed Oct 12 11:06:11 1994 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values + rather than explicitly adding the frag address. + * config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark + the end of the line numbers; this replaces the zero entry which + used to be added by coff_add_linesym, removed Oct 7. + (coff_adjust_section_syms): Ignore sections with no seginfo. + +Wed Oct 12 01:41:37 1994 Ken Raeburn + + * Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a + "stage" symlink to the appropriate stage* directory, and use it + instead in the -B options. + (comparison): Revert yesterday's change. + +Tue Oct 11 16:48:11 1994 Ken Raeburn + + * config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if + pc-relative, use fx_offset only, ignore address of relocation. + +Tue Oct 11 15:24:00 1994 Ian Lance Taylor + + * config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking + for an embedded PIC switch expression, since the definition of + S_IS_LOCAL was changed. + +Tue Oct 11 15:05:11 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * Makefile.in (comparison): When comparing as.new or gasp.new, try + running the binary through sed to avoid differences due to + "stage1" or "stage2" having been written into the binary. + +Sat Oct 8 01:48:04 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + ELF symbol size handling, based on code from Eric Youngdale: + * config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro. Adds an + expression pointer to the symbol structure, used for `size' + expressions that couldn't be reduced to constants when initially + processed. + (elf_frob_symbol): Declare. + (obj_frob_symbol): Call elf_frob_symbol always, rather than + ecoff_frob_symbol only if ECOFF_DEBUGGING defined. + * config/obj-elf.c (obj_symbol_new_hook): Deleted unused code. + Clear sy_obj field. + (obj_elf_size): Deleted unused code. If size is non-reducible + expression, allocate some storage for the sy_obj field and copy + the expression. + (elf_frob_symbol): New function. Computes sizes, calls + ecoff_frob_symbol if appropriate. + + * write.c (fixup_segment): For i386 elf and coff (for now), don't + add in value of symbol from another defined section of the file. + +Fri Oct 7 17:54:02 1994 Ken Raeburn + + * config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define. + * config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET, + rather than both it and TC_M88K. + (coff_adjust_section_syms): New function. + (coff_frob_section): For non-empty sections, create aux entry for + the section symbol, indicating the size. + (n_line_nos): New variable. + (add_lineno): Increment it. + (coff_add_linesym): Increment n_line_nos, don't call add_lineno. + (coff_frob_file): New function; map coff_adjust_section_syms over + sections. + (obj_coff_line): Only reset line_base for .bf symbols. + * config/obj-coff.h (coff_adjust_section_syms, coff_frob_file): + Declare. + (obj_frob_file): New macro. + + * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from + obj_frob_forward_symbol, and rewritten for new parameter list. + + Mon Oct 3 21:02:38 1994 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference. + +Wed Oct 5 11:49:26 1994 Ian Lance Taylor + + * config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype + as synonyms for .size and .type. + +Wed Oct 5 00:08:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-coff.c (coff_frob_section): Remove assert about + section alignment. + * config/tc-sparc.c (md_section_align): Use section alignment, not + xvec align_power_min field. + +Fri Sep 30 19:05:20 1994 Pat Rankin (rankin@eql.caltech.edu) + + * vmsconf.sh (make-gas.com): handle DCL verification to enable + sensible feedback to the user while gas is being built. + +Fri Sep 30 16:23:31 1994 Ken Raeburn + + * Makefile.in (DISTSTUFF): New variable, listing only make-gas.com + for now. + (diststuff): New target; builds DISTSTUFF. + (realclean): Separate target, depend on clean and distclean, then + delete DISTSTUFF. + * make-gas.com: Deleted. + + * config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New + function. Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF + reloc for "foo". + (i386_operand): Don't look up section symbol for + undefined_section. + (reloc): Always permit return of 8- and 16-bit relocation types. + Add a space after "pc-relative" in the error message. + (tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject + BFD_RELOC_386_GOTOFF relocs. + (i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32 + with a "foo-GOT" value. + * config/tc-i386.h (i386_validate_fix): Declare it. + (TC_VALIDATE_FIX): New macro -- call it. + (NOP_OPCODE): Cast to `char' to avoid compiler warnings. + + * as.h: If __STDC__ is not defined and varargs.h is available, use + it rather than stdarg.h. + + * write.h (struct fix): Added new bitfield fx_plt, for fixups + referring to PLT entries. + * write.c (fix_new_internal): Initialize fx_plt to zero. + (adjust_reloc_syms): Re-fetch `sym' after top of reduction loop. + Don't adjust fx_offset by frag address, since S_GET_VALUE now + includes the frag address. + (fixup_segment): Changed local var PCREL to type int, added PLT. + If PC-relative fixup refers to a PLT entry for a symbol in the + current section, don't reduce it. + + * write.c (adjust_reloc_syms): Exit loop through a label. If + DEBUG5 is defined, print out each fixup before and after + processing. + (fixup_segment): If DEBUG5 is defined, print out each fixup before + and after processing. + (print_fixup): Added prototype. Show address on first line. Show + fx_offset and fx_subsy. [!BFD_ASSEMBLER]: Only show fx_r_type if + NEED_FX_R_TYPE is defined. + + * symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN, + S_IS_DEBUG, S_IS_DEFINED also. + +Thu Sep 29 18:57:06 1994 Ken Raeburn + + * Makefile.in (all): Depend on .gdbinit. + (.gdbinit): Rebuild from gdbinit.in by running config.status. + + * gdbinit.in: Define new function "pf". Fix doc on "pe" and "ps". + + * write.c (print_fixup): Print source location on first line. + Show fx_r_type and fx_addsy fields. + +Wed Sep 28 14:56:39 1994 Ken Raeburn + + * configure.in: Set bfd_gas for all sparc targets in one place, + instead of separately for each. Correctly handle user-supplied + "--enable-bfd-gas" option. + + * gdbinit.in: Move "break abort" to end, in case gdb complains. + + * as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]: + Use PARAMS macro. + + * symbols.c (resolve_symbol_value, case O_symbol): Don't do any + processing if add_symbol is undefined or in expr_section. + (resolve_symbol_value, case O_add): For symbol plus + constant-valued symbol, convert to O_symbol and re-reduce. + (S_GET_VALUE): If symbol needs resolving, resolve it. + (indent_level): No longer static. + (print_symbol_value_1): Don't print frag address if it matches + zero_address_frag. Don't print "resolving" if already resolved. + Print segment name. Don't call print_expr_1 on an undefined + symbol. + (print_expr_1): Fix whitespace before printing X_add_number. + + * expr.c (make_expr_symbol): No longer static. Use symbol_create, + not symbol_new, for symbols holding expression values. + * expr.h (make_expr_symbol): Move declaration here. + * write.c (fix_new_exp): Handle O_add by creating an + expression-valued symbol, and calling fix_new_exp recursively. + (adjust_reloc_syms): If a fixup's symbol value is a sum of an + undefined symbol and a constant, fold the constant into the fixup, + and refer to the undefined symbol directly. Then process the + fixup again from scratch. + (write_object_file): Before calling adjust_reloc_syms, make a pass + through the symbol list trying to resolve values. + + * write.c (print_fixup): New routine, for debugging. + (write_relocs): Call bfd_install_relocation. Deleted various + hacks for working around problems with bfd_perform_relocation. + + * Makefile.in (VERSION): Update to 2.4.90. + +Wed Sep 28 11:50:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * Makefile.in (gasp.o): Depends upon config.h. + + * config/tc-mips.c: Include subsegs.h. + (md_apply_fix): If an unconditional b or bal overflows, and we are + not assembling PIC code, replace it with a j or jal. + + * config/tc-mips.c (md_apply_fix): Correct branch overflow test. + Use as_bad_where and as_warn_where rather than as_bad and as_warn. + +Mon Sep 26 17:15:59 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * write.c (write_relocs): Add file name and line number to + as_fatal calls. Handle bfd_reloc_overflow case specifically when + RELOC_EXPANSION_POSSIBLE. + +Fri Sep 23 16:11:28 1994 Ken Raeburn + + * as.h (USE_STDARG, USE_VARARGS): Define one or neither of these + here. Use them for deciding which PRINTF*LIKE macro definitions + to use. + * messages.c: Use them, instead of NO_STDARG, NO_VARARGS. + [!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide + default definitions matching what we were doing before. + (as_tsktsk): Remove the non-stdarg, non-varargs version, and + always use the varargs form if not using stdarg. It's safe to + always use vfprintf, because libiberty will provide it if the + native system doesn't. Also, always make format be const. + (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto. + +Fri Sep 23 14:42:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-mips.c (load_register): Always use addiu when adding a + constant to $zero--no need to use daddiu. + (macro): Hack the -mips3 overflow tests to not fail when offsetT + is only 32 bits. + + * symbols.h (copy_symbol_attributes): Declare. + +Thu Sep 22 21:58:24 1994 Ken Raeburn + + * listing.c: Bugfixes based in part on patches from Paul + Kranenburg. + (listing_newline): Check filename as well as line number when + deciding whether to record it. + (list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is + false (if defined) as well as checking for reg_section. + (listing_listing): Iterate fetching lines while line number is too + low, and we haven't run off the end of the input file. + + * config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE. + +Thu Sep 22 13:39:10 1994 Kung Hsu (kung@x1.cygnus.com) + + * ecoff.c (ecoff_generate_asm_lineno): check if + current_stabs_filename is NULL before strcmp. + * read.c (read_a_source_file): fix a bug in generate_asm_lineno + checking. + +Wed Sep 21 18:17:35 1994 Ken Raeburn + + * config/ho-*.h: Now-unused files deleted. + + * symbols.c (copy_symbol_attributes): New function. Copies BFD + symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES. + (resolve_symbol_value, case O_symbol): Call it, if X_add_number is + zero. Don't call obj_frob_forward_symbol. + * read.c (pseudo_set): Call copy_symbol_attributes, but only if + X_add_number is zero. + * config/obj-elf.h (obj_frob_forward_symbol): Deleted. + + * config/tc-i960.c: Lots of whitespace, comment reformatting, + using GNU indent. + (strchr): Don't declare. + [BFD_ASSEMBLER]: Don't compile md_convert_frag, + md_estimate_size_before_relax, md_ri_to_chars, + md_create_short_jump, md_create_long_jump. + (brtab_emit): Use data_section, not SEG_DATA. + + Mon Sep 19 17:14:44 1994 Pat Rankin (rankin@eql.caltech.edu) + + * config/vms-conf.h: new file, manually derived from conf.in. + * config-gas.com: use it, and eliminate obsolete "host.h". + +Wed Sep 21 11:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-ppc.c (ppc_current_block): New static variable. + (ppc_stabx): Set sy_tc.within of a C_STSYM symbol to + ppc_current_block. Don't move around any stab symbol, just those + for common symbols. + (ppc_bs): Set ppc_current_block. + (ppc_es): Clear ppc_current_block. + (ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset + from the csect of the enclosing block. + + * config/tc-mips.c (insns_since_cache_access): Remove. + (append_insn): Remove setting of insns_since_cache_access, and + special 4600 handling; it turns out not to be required. + +Tue Sep 20 16:13:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-mips.c (md_shortopts): Remove E. + (md_longopts): Add EB and EL. + (md_parse_option): Handle -EB and -EL as separate options, rather + than as a single -E option with an argument. + +Mon Sep 19 12:42:05 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions + involving global symbols too. + +Mon Sep 19 12:12:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION. + + * configure.in: Test for remove, not delete. Fix cross-assembler + test. + * as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to + remove, not delete. + + * read.c (pseudo_set, case O_symbol): If + OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it. + [BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too. + * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define. + + Wed Aug 10 19:15:30 1994 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM, + many others): new macros; values obtained from "DSTRECRDS.SDL". + * config/obj-vms.h (various): use them. + (USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield + representation (only enum bitfields can avoid being bitstrings). + (bitfield_suffix, setup_basic_type): new routines. + (VMS_typedef_parse): use them. Now recognize bitfields of all + integral types, not just type `int'. Caveat: the representation + used for bitfields still does not work for objects placed in + registers, and gcc's optimizer sometimes puts small structs there. + + Tue Jun 14 17:31:44 1994 Pat Rankin (rankin@eql.caltech.edu) + + * read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION + bit from const_flag. + * config/obj-vms.h (IN_DEFAULT_SECTION): define this macro. + (tc_frob_label): define this to call vms_check_for_special_label, + and declare the latter. + * config/obj-vms.c (vax_g_doubles): declare this file-scope + variable. + (const_flag): initialize to IN_DEFAULT_SECTION instead of 0. + (vms_check_for_special_label): new routine (tc_frob_label). + (VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.' + and `gcc2_compiled.' labels; they won't reach here any more. + (VMS_typedef_parse) [case 'r']: for types `double' and `complex + double', use `vax_g_doubles' flag to select type of double. + (VMS_write_object_file) [traceback setup]: don't pass symbols + with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin + and TBT_Routine_End functions. + + Mon Jun 6 20:52:20 1994 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.c (VMS_TBT_Routine_End): cache the result of + S_GET_VALUE() to avoid many repeated function calls. + (VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize + _C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is) + gets requested. [All the HACK_DEC_C_STARTUP code appears to + be obsolete; gcc does it automatically for vms target. It's + also misnamed, because it is for the "VAX C" run-time library, + not the newer "DEC C" one which has much different startup code.] + {various}: use `S_SET_xxx(symbol,new_value)' rather than + `S_GET_xxx(symbol) = new_value'. + +Mon Sep 19 12:05:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr, + not &bfd_abs_section. + +Thu Sep 15 18:36:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * expr.c (clean_up_expression): Use addressT, not bfd_vma. + +Tue Sep 13 20:05:47 1994 Jeff Law (law@snake.cs.utah.edu) + + * expr.c (expr): Don't reduce the difference of two symbols in the + same frag if the symbols are not in normal sections. + + * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud. + (S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise. + (obj_attach_unwind_info): Do not define. Not needed anymore. + * config/tc-hppa.c: Delete whitespace at EOL. + (struct hppa_fix_struct): Delete fx_unwind field and all references. + (fix_new_hppa): Last arg is now a pointer to an int. Do not + call obj_attach_unwind_info anymore. For SOM R_ENTRY and R_EXIT + fixups, store 32bits of unwind information in the fx_addnumber + field of the fixup. + (md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY + and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a + pointer to 32 bits of unwind info. + (tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol + pointer to the dummy symbol; set the addend field to fx_addnumber. + (pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr + rather than &bfd_XXX_section. + +Tue Sep 13 21:15:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement + value by one; discard adjustments previously being made. From + Eric Youngdale. + + VMS- and Vax-related changes from Pat Rankin: + * Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1. + * vmsconf.sh: no longer have make-gas.com echo text about needing + to modify the gcc-vms driver when intending to use with gcc 1.x. + * as.c (parse_options): suppress 'v' from std_short_options and + eliminate VMS-specific conditional initialization; + [default case]: check for '-v' if md_parse_options doesn't recognize + an option; + [default case, #if VMS]: check for filename argument when '-v' seen; + [case 'v']: delete. + * config/tc-vax.c (md_assemble): don't rely on `this_add_number' + for O_big literal operands (double floats and long long ints); + [VMS, md_shortopts]: add second colon after 'v'; + (md_parse_options) [VMS, case 'v']: check for argument, so + caller can handle `-v' w/o arg. + +Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET + is defined, put the tx_offset into the r_offset. + * config/tc-sh.c (line_comment_chars): Add # + (tc_reloc_mangle): Deleted. + * config/tc-sh.h (TC_KEEP_FX_OFFSET): Define. + (TC_RELOC_MANGLE): Delete. + +Tue Sep 13 16:20:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS. + * hex-value.c: Ditto. + * config/obj-vms.c: Ditto. + + * config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with + a call to as_fatal. + * config/tc-i860.c (i860_ip): Ditto. + * config/tc-hppa.c (pa_ip): Ditto. + * config/tc-alpha.c (alpha_ip): Ditto. + * as.c (parse_args): Ditto. + + * config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a + call to as_fatal. + + * write.c (write_contents): Use EXIT_FAILURE. + * output-file.c (output_file_create, output_file_close, + output_file_create, output_file_close): Ditto. + * messages.c (as_fatal): Ditto. + * config/obj-som.c (obj_som_version, obj_som_copyright): Ditto. + * config/obj-ieee.c (write_object_file): Ditto. + * config/obj-coff.c (write_object_file): Ditto. + * config/tc-vax.c (main): Use EXIT_SUCCESS. + * config/tc-m68k.c (main): Ditto. + + * hash.c (main): Pass a value to exit(). + + * as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here. + * as.c: ...from here. + (parse_args): Use them always. + (main): Use exit rather than return. + + * Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall): + Rewrite handling of program_transform_name. + + * configure.in: Test for functions unlink and delete. + * as.h: If unlink isn't available but delete is, define unlink to + be delete. + + Update for autoconf 1.118: + * gdbinit.in: New file, created from old .gdbinit. + * .gdbinit: Deleted. + * aclocal.m4 (GAS_GDBINIT): Deleted. + * configure.in: Don't use it. Instead, generate .gdbinit from + gdbinit.in. Don't substitute cpu_type, obj_format, emulation, + atof. Switched order of AC_LINK_FILES arguments. Use AC_PREREQ + to ensure that older versions of autoconf aren't used. + * Makefile.in: Added @configure_input@ line. + (configure): Deleted rule. + +Tue Sep 13 12:08:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/obj-coff.c (fixup_segment): After handling the difference + of two symbols from the same segment, set fx_subsy to NULL, to + satisfy existing TC_COUNT_RELOC macros. + +Tue Sep 13 01:47:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * aclocal.m4 (GAS_GDBINIT): New macro. + * configure.in: Use it. + * configure: Regenerated. + +Mon Sep 12 20:56:38 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com) + + * .gdbinit (pe, ps): Define new commands. + * symbols.c (indent_level): New static variable. + (indent, print_expr_1, print_symbol_value_1, print_symbol_value, + print_expr): New functions. + + * Makefile.in (config-stamp): Add a "this file generated by make" + message to config.h. + + PIC implementation for i386-linux, based on code from Eric + Youngdale and Paul Kranenburg, with some work of my own: + + * write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup + before processing same-section pcrel relocations. + (TC_RELOC_RTSYM_LOC_FIXUP): Default to 1. + + * expr.c (make_expr_symbol): If operator is O_symbol and + X_add_number is zero, just return the symbol. If operator is + O_constant, resolve the symbol's value before returning. + (operand): Permit use of "[]" for grouping. + (clean_up_expression): For difference of two symbols in the same + frag, add the difference of their offsets into X_add_number. + (expr): Reduce difference of two symbols in same frag to their + difference. + + * config/tc-i386.c (TC_RELOC): New macro. + (struct _i386_insn): New field disp_reloc. + (GOT_symbol): New variable. + (operand_special_chars): Added square-brackets and at-sign. + (reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not + NO_RELOC, just return it. + (reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro. + (BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More + dummy macros. + (tc_i386_fix_adjustable): New function. Returns zero if symbol in + fixup is not local, to prevent relocations against externals from + being dropped. + (md_assemble): Initialize disp_reloc field to NO_RELOC. Pass + disp_reloc field to reloc() function, and use TC_RELOC to generate + value to pass to fix_new_exp. + (md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC + reloc. + (i386_operand): Initialize disp_reloc field to NO_RELOC. Handle + @GOTOFF, @PLT, @GOT operands. For GOTOFF relocations with local + symbols, force generation of the section symbol. + (md_estimate_size_before_relax): If GOT_symbol exists, decide + we're generating PIC code, and convert relocations against + undefined symbols from PCREL to PLT32. + (md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking + relocs. + (md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set + and return GOT_symbol if it matches. + (F, MAP): Move macro definitions outside function. + (tc_gen_reloc): Only switch on size and pcrel if code wasn't + already supplied as PLT32. GOT32, GOTOFF, or GOTPC. Convert + BFD_RELOC_32 using GOT_symbol into GOTPC. + * config/tc-i386.h (TC_RELOC, tc_fix_adjustable, + TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New + macros. + (NEED_FX_R_TYPE): Define. + (LOCAL_LABEL): Accept ".X" prefix too. + (GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_". + +Mon Sep 12 17:51:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/obj-elf.c (obj_elf_type): Rewrite to accept syntax + reportedly to be used on Irix 6. + + * config/tc-mips.c (md_pseudo_table): Handle .globl and .global. + (s_mips_globl): New static function; needed for Irix 5 support. + * ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an + external symbol with no type, set the type to st_Proc rather than + st_Global. Don't set the index of an external st_Proc or + st_StaticProc symbol unless it is also a local symbol. + + * read.c (read_a_source_file): The second argument to as_where is + unsigned int *, not int *. + +Thu Sep 8 17:18:24 1994 Kung Hsu (kung@mexican.cygnus.com) + + * config/obj-ecoff.h : Change names to OBJ_GENERATE_ASM_LINENO, + and generate_asm_lineno. + * config/obj-elf.h : ditto. + * read.h : ditto. + * read.c (read_a_source_file): if no file when inst is read, set + generate_asm_lineno to true. + * ecoff.h : change name to generate_asm_lineno and add function + ecoff_no_current_file. + * ecoff.c : change name to generate_asm_lineno. + * ecoff.c (ecoff_generate_asm_lineno) : new function, to generate + ecoff style line for asm file. + +Thu Sep 8 19:43:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/obj-coff.c (size_section): Do an fprintf to stderr rather + than a printf. + (fixup_segment): Use as_bad_where rather than as_bad. + +Wed Sep 7 17:21:12 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing + nothing becomes macro doing nothing. + +Wed Sep 7 19:10:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in (Makefile): Depend on config.status. + (config.status): Run config.status from . instead of srcdir. + + * config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to + display the name of the relocation type that couldn't be handled. + * config/tc-sparc.c (tc_gen_reloc): Likewise. + * config/tc-alpha.c (tc_gen_reloc): Likewise. Deleted abort call + after call to as_fatal. + + * configure.in (i386-*-linux*): Don't set bfd_gas. + + * Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET, + install, uninstall): Don't use "brokensed" hack any more, the new + autoconf code should never let program_transform_name be empty. + + Update for autoconf beta 1.112: + * aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New + macros. + * configure.in: Use them. Use AC_ARG_PROGRAM (now provided by + autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move + test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a + message to try to ease confusion about autoconf's + "cross-compiling" message. + * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE, + NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION. + * configure, conf.in: Regenerated. + +Wed Sep 7 12:49:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in: Check ${host} and ${target} rather than + ${host_canon} and ${target_canon}. + * configure: Likewise. + +Tue Sep 6 11:42:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-mips.c (mips_cpu): New static variable. + (insns_since_cache_access): New static variable. + (md_begin): Set mips_cpu as well as mips_isa. + (append_insn): If mips_cpu is 4600, require four nop instructions + between an instruction which accesses the cache and certain CACHE + instructions. Keep track of the number of instructions seen since + an instruction which accesses the cache. + (md_parse_option): Set mips_cpu as well as mips_isa. + +Mon Sep 5 07:09:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * doc/Makefile.in (VPATH): Define using @srcdir@. + (prefix, program_transform_name, exec_prefix): Use autoconf style + @-substitutions. + +Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) + + * config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files + * configure.in: Recognize the arm. + +Fri Sep 2 16:05:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ecoff.c (add_file): Don't try to generate line numbers if the + symbol table has been frozen. + +Thu Sep 1 19:48:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE. + + * configure.in: Handle user-specified bfd-assembler option with + separate variable from preferred configuration, until the two are + resolved. Indicate bfd_gas=preferred for linux a.out. Use + AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm. + * Makefile.in (target_alias, program_transform_name): Define, + using autoconf @-substitutions. + +Wed Aug 31 17:43:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * atof-generic.c: Deleted alloca handling here. + + * Makefile.in (prefix, exec_prefix): Use @-subtitutions. + + * aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since + autoconf 1.109 has this fixed. + * configure.in: Don't change quote characters around AC_MSG_ERROR + invocation. Don't use AC_HEADER_STDC, since it requires running a + program. Cache NEED_*_DECLARATION values. + * configure, conf.in: Regenerated with a modified autoconf 1.109. + + * as.h (volatile): Don't test or define here; not needed. + (alloca): Replace alloca-conf.h inclusion with code recommended in + autoconf documentation. Include config.h first. + +Wed Aug 31 11:20:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined + also. + + * configure.in, configure: Initialize bfd_gas to no. + +Tue Aug 30 19:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * as.h: Include alloca-conf.h from "libiberty", not + "../libiberty". + +Mon Aug 29 16:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a + symbol is used as an offset into a CSECT that is not a TOC. These + types of loads are generated by gcc -mminimal-toc. + +Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com) + + * as.h (flag_*): Added comments describing meanings of some of + these variables. + (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. + + * frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments. + Always initialize them to zero. + * frags.h (frag_variant): Fixed prototype. + * config/tc-i960.c (get_cdisp): Don't pass the extra zero args. + * config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache + the value of frag_now and fill in the fields later. + + * Makefile.in (distclean, realclean): Remove new + configure-generated files. + +Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com) + + Conversion to autoconf: + * 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. + + * input-file.c: Don't include assert.h here, 'cause as.h already + includes it. + + * config/tc-alpha.c: Added various prototypes for static + functions. + (in_range): New function, tests whether a value can fit in an + N-bit field. + (build_mem, build_operate_n): New functions for constructing + opcode values. + (emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New + functions for emitting single instructions, no longer requiring a + recursive call to md_assemble. + (emit_add64): New function for expanding a REG:=REG+CONST + operation into one or more instructions, to handle wide constants. + (clear_insn): New variable. + (md_begin): Fill it in with zeros and BFD_RELOC_NONE values. + (alpha_ip): Use it to initialize local variable insns. + (alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64 + for calculations. + +Fri Aug 26 14:46:15 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com) + + * subsegs.c (section_symbol): Reverse still-wrong test of + EMIT_SECTION_SYMBOLS. + + * write.c (BFD_FAST_SECTION_FILL): Always define. + (write_contents): If fill_size is 1, use memset instead of looping + calling memcpy. + +Wed Aug 24 12:46:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility + with native MIPS assembler. + * configure.in (mips-*-irix*): Don't set emulation. + * config/te-irix.h: Remove. + + * ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we + haven't seen any input files yet. + * config/tc-alpha.c (md_begin): Just call symbol_create, rather + than calling symbol_new and then removing the symbol from the + list. + + * as.c (main): Move a inside the #if 0 block which uses it. + * ecoff.c (current_stabs_filename): Make const. + * frags.h (frag_align_pattern): Declare. + * gasp.c (new_file): Cast isp to long, and use %ld to print it. + * config/tc-alpha.h (md_operand): Add cast to void. + (alpha_do_align): Declare argument types. + (tc_get_register): Declare. + (alpha_frob_ecoff_data): Declare. + * config/tc-alpha.c: Include . + (s_mask): Don't declare; does not exist. + (line_comment_chars): Remove /* from descriptive comment. + (tc_get_register): Remove unused local reg. + (tc_gen_reloc): Don't bother to compare unsigned to zero. + (s_base): Correct warning to actually print register number. + (md_begin): Remove unused locals retval, lose, and i. + (alpha_fix_adjustable): Move default case inside switch to avoid + warning. + (load_symbol_address): Remove unused locals reloc_addr, p, sym, + and addend. + (emit_byte_manip_r): Declare types for all arguments. + (emit_extract_r, emit_insert_r, emit_mask_r): Likewise. + (emit_sign_extend, emit_bis_r, s_proc): Likewise. + (alpha_ip): Use sprint_value to print offsetT value. Remove + unused local size. Remove unused label get_macro. + (alpha_do_align): Make fill const. + (md_apply_fix): Remove unused label check_zov. + + * configure.in: Recognize i586 as a synonym for i[34]86. + +Tue Aug 23 12:32:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/obj-coff.c (c_line_new): Change line_number argument from + unsigned short to int so that the type in the prototype matches + the promoted type in the definition. + (stack_delete): Comment out; not used. + * config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not + BFD_ASSEMBLER, not if BFD_ASSEMBLER. Declare argument type. + * config/tc-m68k.h (tc_coff_sizemachdep): Declare. + * config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored + argument. + +Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu) + + * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for + the common symbol to the zero address frag (the correct fix). + +Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu) + + * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for + the common symbol to the zero address frag (the correct fix). + + * config/tc-hppa.c (pa_comm): Set sy_resolved for the common + symbol. + +Fri Aug 12 17:51:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-mips.c (md_begin): Drop "el" from the end of + TARGET_CPU. Check for mips64orion. + +Tue Aug 9 19:43:45 1994 Stu Grossman (grossman@cygnus.com) + + * configure.in: Recognize ppc-*-netware. + * config/te-ppcnw.h: New file to support Power-PC/Netware + configurations. Currently, it just enables the use of backslash + escapes in string directives. + +Tue Aug 9 11:12:13 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-ppc.c (ppc_stabx): Call expression directly, rather + than via pseudo_set. If expression is a symbol, move stab symbol + to just after symbol from expression. + + * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be + zero. Undoes change of June 4, 1993. + + * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and + orion. + +Mon Aug 8 16:28:08 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * as.h: Remove FOPEN_WB patch of Aug 6. + * configure.in: Configure for ho-go32 correctly. + * config/ho-go32.h: Fix copyright. + +Mon Aug 8 11:59:51 1994 Jeff Law (law@snake.cs.utah.edu) + + * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant + upper-case versions of the pseudo-ops. + +Mon Aug 8 13:42:16 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-sparc.c (md_apply_fix): If we are going to generate a + non PC relative reloc, don't put the addend in the object file. + +Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * as.h: If FOPEN_WB is not defined, do the right thing in a go32 + environment. + +Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/tc-h8300.c (pint): New function for handling varying + size of int pseudo op. + * doc/as.texinfo: Fix typo describing .h8300h pseduop. + +Mon Aug 1 02:40:43 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (create_new_space): Initialize sd_subspaces + field in the space chain. + + * config/tc-hppa.c (tc_gen_reloc): Cast return value from + hppa_gen_reloc_type. + +Thu Jul 28 15:45:37 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Check more carefully for + conflicting architectures. + (md_parse_option) [NO_V9]: Complain if v9 was selected. + (md_show_usage): Derive architecture list in usage message from + architecture_pname array. + (cypress): Macro deleted. + (op_hash): Don't initialize. + (s_common): Use bfd_und_section_ptr instead of bfd_und_section. + + * config/tc-sparc.c (BSR): New function. + (sparc_ip): Use it for right-shift operations of 32 bits or more. + + * config/tc-sparc.c (sparc_ip): Implement new operand type 'x'. + +Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-coff.h: Moved common includes and TARGET_FORMAT + definitions together. + (WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD, + OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]: + Moved these definitions to the start of the file, before the + includes. + (SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always + define these. + (S_GET_ZEROES): Deleted. + (S_SET_ZEROES): Moved to obj-coff.c. + + * config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted + forward declarations. + (obj_pseudo_table): Moved to one version end of file, + conditionalized internally. + (stack typedef, stack_init, stack_delete, stack_push, stack_pop, + tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved + to one combined version at top of file, unconditional. Deleted + forward declarations. + (s_get_name): Moved one copy of declarations to start of file. + (def_symbol_in_progress): Ditto. Don't initialize. + (S_SET_ZEROES): Moved here from obj-coff.h. + (write_object_file): If TC_COFF_SET_MACHINE is defined, call it on + the file headers. + + * config/obj-coff.c (seg_info_off_by_4): Now const and static. + (SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted. + (previous_file_symbol, def_symbol_in_progress, symbol_externP, + symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't + bother explicitly initializing to zero value. + + * config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME + and SF_GET_CALLNAME instead of the TC_S_IS_ versions. + + * config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls + tc_headers_hook. + + * config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX + was used previously. + (tc_headers_hook): If I_CX2 is found, set flags to F_I960CA. + + * config/tc-i960.c (po_hash): Declaration deleted. + (next_object_file_charP): Ditto. + (regnames, aregs, coj): Now const. + (parse_memop): Static array def_scale now const. + (md_begin): Cast away const when passing hash routines addresses + of values in regnames or aregs. + (md_longopts): Added "link-relax" and "no-relax" hyphenated forms. + Continue to accept one-word forms. + (struct tabentry, arch_tab): Moved to top level from inside + md_parse_option. Now const. + (md_show_usage): Use arch_tab to generate usage message. Print + hyphenated forms of relax options. + + * config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC, + TC_S_FORCE_TO_*): Moved from here... + * config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff + to test OBJ_AOUT and OBJ_BOUT directly. + + * config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ, + M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F, + {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*): + Macros deleted. + + start-sanitize-i960xl + * config/tc-i960.c (ARCH_XL): Define. + (arch_tab): Include XL. + (targ_has_sfr, targ_has_iclass): Handle XL. + (tc_headers_hook): Set flags to F_I960XL for i960XL. + end-sanitize-i960xl + +Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * subsegs.c (section_symbol): Had last change backwards. + +Thu Jul 14 13:21:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/atof-ns32k.c: Deleted. + + * config/obj-aout.c (obj_aout_frob_symbol): Use + bfd_ind_section_ptr and bfd_und_section_ptr. + + * subsegs.c (subseg_set_rest): Compare segT values directly, + without casting to int first. + + * config/tc-ns32k.c (md_begin): Return value from hash_insert + should be pointer to const. Don't call exit explicitly after + calling as_fatal; it won't return. + (convert_iif): Make local variable j be pointer to bit_fixS, since + that's how it's used. + (encode_operand, case 'b'): Ignore sprintf return value. Don't try + converting freeptr to int and back. + + Merged in NS32K support update from Ian Dall (dall@hfrd.dsto.gov.au): + + * config/te-pc532mach.h: New file. pc532-mach target emulation. + + * config/te-netbsd532.h: New file. Netbsd532 target emulation. + + * config/tc-ns32k.h: Add definition of NOP_OPCODE. + + * config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp. + + * config/tc-ns32k.h: Add BFD_ASSEMBLER support. + + * config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER. + + * config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type + differently for BFD_ASSEMBLER. + + * config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc + type differently for BFD_ASSEMBLER. + + * config/tc-ns32k.c (md_create_long_jump): Size of opcode is one + not 2. + + * config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER + case. Also use smart md_pcrel_adjust function. + + * config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER + case. Also use smart md_fix_pcrel_adjust function. + + * config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can + find offset from opcode to operand even if in another frag + and in the presence of relaxing. + + * config/tc-ns32k.c (md_pcrel_adjust): New function which can + find offset from opcode to operand even if in another frag + and in the presence of relaxing. + + * config/tc-ns32k.c (md_number_to_disp): Check ranges properly. + + * config/tc-ns32k.c (md_atof): use atof_ieee instead of special + atof_ns32k. + + * config/tc-ns32k.c (reloc): New (static) function for + BFD_ASSEMBLER. + + * config/tc-ns32k.c (convert_iif): More correct pc relative code. + md_relax must be able to find opcode address even if in another frag. + + * config/tc-ns32k.c: More extensive comments. + + * config/tc-ns32k.c (encode_operand): Support new operand classes I + and Z. Drop Q. + + * config/tc-ns32k.c (fix_new_ns32k_exp): new function and + corresponding prototype. + + * config/tc-ns32k.c: make 32532 default machine instead of 32032. + + * config/tc-ns32k.c: include opcode/ns32k.h after as.h + + * aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K + + * write.h: fx_im_disp needs to be 2 bits big for TC_NS32K + + * write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined) + instead of adding pcrel_adjust. + + * write.c (write_object_file): Adjust to_addr for the + BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case. + + * write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined. + + * write.c (write_contents): Add code (currently if + BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster. + + * configure.in: Remove ns32k from special FP list. All the ns32k + series use ieee float. + + * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets + + * as.h: include expr.h before targ-env.h. Some target dependent file + want to use expr structures. + +Wed Jul 13 14:49:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer. + (md_parse_option): Clear cpu field of current_architecture before + setting a new cpu type. Clear no_68881 for m68881 or m68882. + Clear no_68851 for m68851. + +Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/ho-sysv.h (realloc): Declare. + + * symbols.c (symbol_create): New function, most of the guts of the + old symbol_new function. + (symbol_new): Now just checks symbol_table_frozen, calls + symbol_create, and enters the symbol into the symbol table. + * subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true, + and the symbol table is frozen, call symbol_create instead of + symbol_new. + * symbols.h (symbol_create, symbol_table_frozen): Declare. + + * symbols.c (symbol_clear_list_pointers): Always a function now. + * struc-symbol.h (symbol_clear_list_pointers): Deleted macro + version. + + * symbols.c (debug_verify_symchain): New macro, defined to be + verify_symbol_chain or a cast to void, depending on DEBUG_SYMS. + (many functions): Invoke debug_verify_symchain unconditionally. + +Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com) + + * config/obj-ecoff.h: change calling interface of + OBJ_GENERATE_ASM_LINE_STAB. + * config/obj-elf.h: ditto. + * read.c (read_a_source_file): ditto. + * ecoff.h: change calling interface of + ecoff_generate_asm_line_stab. + * ecoff.c (add_file): record of filename to handle case of include + files, also change default built-in type from int to void for + asm file. + * ecoff.c (ecoff_generate_asm_line_stab): handle case of include + files. + +Mon Jul 11 17:20:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large + constant, and case ldd_std, set mips_optimize to 2 temporarily to + avoid inserting an unexpected nop instruction. + +Sat Jul 9 00:05:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_build_lineno): Handle count correctly for last + line number. + +Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * gasp.c (process_pseudo_op): Pass right args to do do_aif. + (get_any_string): New arg 'pretend_quote'. + (get_and_process, do_formals, macro_expand, do_sdata, + process_pseudo_op): Use new arg. + +Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com) + + * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB. + * config/obj-elf.h: ditto. + * read.c (read_a_source_file): generate line stabs for asm file. + * read.h: add extern generate_asm_line_stab. + * ecoff.h : add prototype for ecoff_generate_asm_line_stab(). + * ecoff.c (add_file): if there's no filename provided, set switch + to generate line stabs for .s file. + * ecoff.c (add_procedure): add stabs symbol for .ent directive. + * ecoff.c (generate_ecoff_stab): creates an artificial stabs. + * ecoff.c (generate_asm_line_stab): generate a artifitial label + for each line and generate a stabn for the line. + +Thu Jul 7 17:04:03 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * gasp.c (get_any_string): Cope with getting a string with an + alternate base specifier. + (do_aif, do_aelse): Only enable output if expression is true and previous + level was on. + (chartype_init): Add BASEBIT chartype. + (process_pseudo_op): Notice nesteed AIFs. + +Thu Jul 7 12:30:22 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa + insn. (fix pr 5165, 5174) + +Thu Jul 7 11:31:32 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define + to an appropriate value to avoid losing on old hpux systems. + + * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for + symbols in DLT relative relocs. + (tc_gen_reloc): Zero out the addend field for DLT relative relocs. + +Wed Jul 6 01:07:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to + align to a four byte boundary. + +Tue Jul 5 15:42:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-alpha.c (load_expression): Handle 32-bit addends. + (gpdisp_hi16_howto): Now points to const. + (load_insn_table, alpha_ip): Fix uses of const. + + * doc/internals.texi: Updates to COFF description. Added "@end + defmac" as needed, and some extra heading and "@bye" so it'll + format as a separate document. + +Tue Jul 5 13:54:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define. + * config/obj-elf.c (obj_elf_common): Set alignment of common + symbol. + * config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of + common symbol. + +Mon Jul 4 18:29:43 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (is_complex): New macro. + (cons_fix_new_hppa): "Handle" complex expressions. + +Fri Jul 1 00:48:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-coff.c (write_object_file): Set s_align field from + section_alignment array. + +Thu Jun 30 15:05:28 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * write.c (write_object_file): Use bfd_com_section_ptr. + * as.h (absolute_section, undefined_section): Use new BFD macros + bfd_abs_section_ptr and bfd_und_section_ptr. + +Thu Jun 30 14:36:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it + based on contents of imm_expr and offset_expr, rather than + mips_pic. For M_LI_DD, decide how to handle it based on segment + name of offset_expr, rather than mips_pic. + (mips_ip): If g_switch_value < 4, use immediate values for 'l'. + If g_switch_value < 8, use .rdata rather than .lit for 'L'. + +Wed Jun 29 17:30:46 1994 Stan Shebs (shebs@andros.cygnus.com) + + * as.c (show_usage): Break long string into shorter ones. + (parse_args): Add -v, prints version id and continues. + * config/tc-mips.c (md_show_usage): Break long string. + +Mon Jun 27 09:47:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if + OBJ_ELF is defined. + +Sun Jun 26 16:30:48 1994 Stan Shebs (shebs@andros.cygnus.com) + + * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific + initialization. + +Wed Jun 22 00:24:55 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF. + More gas/bfd lossage exposed by the new linker code. + +Tue Jun 21 11:32:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * subsegs.c (subseg_change): Clear seginfo after allocating it. + (subseg_get): Pass actual size of seginfo to memset. + + * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER. + (subseg_change): Store seg_info for bfd_abs_section_ptr in + abs_seg_info, and store seg_info for bfd_und_section_ptr in + und_seg_info. + (subseg_get): Likewise. Also, don't set output_section if it is + already set. + (seg_info): Define as function. + * subsegs.h (seg_info): Declare as function rather than defining + as macro. + * write.c (relax_and_size_seg): Call seg_info rather than + bfd_get_section_userdata. + +Mon Jun 20 16:30:54 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * configure.in (ppc-*-elf*): New target, like -sysv4*. + + * expr.c (operand): If "0f" is followed by '\0', don't do eol + checks. + +Mon Jun 20 15:17:43 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out + via backend pointer, not directly. + +Fri Jun 17 18:05:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (config-stamp): Make sure there is at least one + element in the for loop. + +Fri Jun 17 11:01:04 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy. + + * config/tc-hppa.h (elf_hppa_final_processing): Declare. + +Wed Jun 15 20:44:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * as.c (parse_args): Cast xmalloc return value. + + * Makefile.in (config-stamp): If $(defs) contains multiple words, + emit a #define line for each. + * configure.in: For sparc64 target, use sparc cpu files and add + sparcv9 to extra_defs. No longer treat sparc64-*-aout* specially. + + * config/tc-sparc.c (membar_masks): Now static and const. + (md_show_usage) [!NO_V9]: Add -Av9 to usage message. + (current_architecture) [sparcv9]: Initialize to v9. + (md_begin) [sparcv9]: Don't bother changing it unconditionally + here. + (s_reserve): Don't pass unexpected argument to as_bad with + bad-segment message. + + * as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare. + + * config/atof-ieee.c (int_to_gen): Commented out unused routine. + + * config/tc-vax.c (md_assemble): Removed check of operand section. + + Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define + these new VMS symbol-type macros for `complex float' and + `complex double' support. Their values come from the existing + DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in . + (DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of + REAL8 and COMPLX8; not used yet, because gcc outputs the same + .stabs for `double' regardless of whether `-mg' is used. + * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries + for gcc2's predefined types "complex float", "complex double", + and "complex long double" (identical to complex double). + +Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text + section symbol, not C_LABEL. + + * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and + permit non constant expressions in 'u' case. Lets ``lui + $8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly. + +Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt + to put a common symbol in a set. + +Sat Jun 11 16:41:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Add weak symbols as an extension to a.out. + * read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and + OBJ_BOUT if not BFD_ASSEMBLER. + * config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB): + Define as in ../include/aout/aout64.h. + * config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER, + define as char. + (S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER. + * config/obj-aout.c (obj_pseudo_table): Add "weak". + (obj_emit_symbols): Adjust type of weak symbols. + (obj_aout_weak): New static function. + +Fri Jun 10 13:48:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-elf.c (obj_elf_section): Don't set any flags based on + the type of a special section. + + * config/ho-sunos.h: Include . Don't declare malloc, + realloc, free, or atol. + +Wed Jun 8 06:28:37 1994 Bill Cox (bill@cygnus.com) + + * Makefile.in (check): Delete as.new dependency, so that + regression test doesn't trigger an assembler build. + +Tue Jun 7 13:33:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (mostlyclean, realclean): New targets. + * doc/Makefile.in, testsuite/Makefile.in: Likewise. + +Mon Jun 6 13:10:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (RDATA_SECTION_NAME): Define. + (macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D + or M_L_DOB or label dob, force a new frag to avoid getting + confused in tc_gen_reloc. + (mips_ip): Use RDATA_SECTION_NAME, not .rdata. + (s_change_sec): Likewise. + +Fri Jun 3 23:35:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * read.c (emit_expr): Use memset to zero out memory, rather than + going through md_number_to_chars. This permits handling symbolic + arguments when the size is larger than sizeof (valueT), if + TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS). + +Fri Jun 3 12:50:13 1994 David J. MacKenzie (djm@rtl.cygnus.com) + + * as.c (show_usage), config/tc-alpha.c (md_show_usage), + config/tc-mips.c (md_show_usage): Fix up messages. + + * as.h: Replace flagseen with separate variables. + * 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. + + * as.c (show_usage): Remove target specific messages; + 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. + +Thu Jun 2 13:54:46 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * as.c (show_usage): New function. + (parse_args): Code moved from main. + Recognize --help and --version. + * config/tc-ns32k.h: Define TC_NS32K. + * doc/as.texinfo: Document all of the target-independent command + line options. + +Thu Jun 2 12:07:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * gasp.c (hash_new_table): Clear newly allocated table. + + * config/tc-m68k.c (enum _register): Add 68060 control registers + BUSCR and PCR. + (last_movec_reg): New macro. + (m68000_control_regs, m68010_control_regs, m68020_control_regs, + m68040_control_regs, m68060_control_regs): New arrays. + (control_regs): New pointer. + (m68k_ip): Use control_regs instead of testing CPU every time. + Use last_movec_reg too. In error messages, handle 68060, and + print 68060 for mfloat, too. + (m68k_init_after_args): Handle "68060". Use m68040up for making + m68851 choice. Set control_regs. + (md_parse_option): Handle "68060". + * configure.in: Setting cpu_type, recognize m68060 too. + + * config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER] + [DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even + if pcrel is already set. + + * read.c (potable): Add this_gcc_requires_the_gnu_assembler in all + lower-case, in case we're ignoring case of opcodes in the input + file. + + * doc/as.texinfo (.section): Document as unavailable for a.out + type formats. + + * config/tc-alpha.c (machine): New variable. + (load_insn): New macro. + (load_insn_table): New function. + (md_begin): Call load_insn_table, once for basic instructions and + once for appropriate PAL instruction table. + (md_parse_option): Set `machine' based on -m##### arguments. + * config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from + alpha_opcodes. + (alpha_pal21164_opcodes): New table. + (NUM21064OPCODES, NUM21164OPCODES): New macros. + + * configure.in (target i386-*-netbsd0.8): Use 386bsd emulation. + + * doc/Makefile.in (install-info-gasp): Use $$dir when installing + file. + +Wed Jun 1 10:48:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): Force floating point values to be + aligned correctly. + +Fri May 27 10:05:53 1994 Ken Raeburn (raeburn@cygnus.com) + + Merged in changes from gas-2.3 net release: + + * Makefile.in (VERSION): Updated to cygnus-2.3.1. + + * config/obj-vms.c: Replaced unchecked uses of malloc with + xmalloc. + + * listing.c (list_symbol_table): Only test BFD64, not + BFD_ASSEMBLER too. + + * config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER] + [DIFF_EXPR_OK]: Don't check pcrel, just convert it. + + * config/obj-vms.c: Removed lots of extra semicolons after + compound statements. + (strchr): Don't declare here. + + * config/ho-vax.h (realloc): Declare. + + * config/ho-vms.h (strchr, strdup): Declare. + + * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore + option `-q'. + + Wed May 18 20:50:35 1994 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these + new VMS symbol-type macros; signed and unsigned quadword integers, + for `long long' support. Their values come from the existing + DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in . The + VMS debugger now recognizes `long long' variables correctly. + * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries + for gcc2's predefined types "long double" (same as double, as + per gcc's current state), "long long int", "long long unsigned + int", and final `otherwise' case (to avoid uninitialized type + and size fields). [caveat: predefined types "complex int", + "complex float", "complex double", and "complex long double" are + still missing.] + + * config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead + of 0, because the latter indicates success rather than failure + when passed to `exit' or return from `main' compiled by gcc2. + + * config/obj-vms.c (array_suffix, generate_suffix): replace two + hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h. + (VMS_typedef_parse): eliminate redundant if-then-else when + allocating new symbol entry and linking it to VMS_Symbol_type_list. + + Tue May 17 20:47:31 1994 Pat Rankin (rankin@eql.caltech.edu) + + * config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret + the contents of the GAS_VERSION string when falling back to it for + language processor identification. + + * make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of + `psect_attr' in linker options. + + Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com) + + * configure.bat: update to latest makefile.in + * config/te-go32.h: [new] go32's environment + +Fri May 20 17:59:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * as.h: Don't declare parameters for strstr. + +Thu May 19 15:40:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-sparc.c (md_section_align): Don't change the size if + OBJ_ELF. + +Wed May 18 13:08:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (install): Redirect ln output to /dev/null. If ln + fails on gasp, install gasp.new, not gasp. + +Wed May 18 09:16:36 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for + absolute calls. + +Tue May 17 12:50:46 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error + on a partial completer match. + +Mon May 16 12:03:49 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind + throughout code. + (is_complex): Delete definition and support for complex relocation + types. + (tc_gen_reloc): Delete special unwind crud for ELF. Simplify and + rewrite ELF code based on 94-02-02 PA ELF draft spec. + (pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for + the unwind descriptors. + +Fri May 6 14:13:15 1994 Steve Chamberlain (sac@cygnus.com) + + * config/go32.mh: New makefile fragment for go32 crossing. + * configure.in (host==go32): Use new fragment. + +Fri May 6 14:35:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * gasp.c: Include libiberty.h. + (main): Remove unused variable i. + + * config/tc-ppc.c (md_begin): When using -many, permit comparison + instructions to appear multiple times in the opcode table. + +Thu May 5 19:14:43 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in (VERSION): Update to 2.2.90. + + * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions + to the symbol table if it's already been set in the output bfd. + (symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]: + Don't use bfd_abs_section.symbol for gas absolute symbol. + + * doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp + files too. + +Thu May 5 18:12:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_emit_delays): Make call to + mips_no_prev_insn unconditional. + +Thu May 5 17:25:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-coff*.*: Merged coffbfd versions into coff versions, + with a single "#ifdef BFD_ASSEMBLER" controlling most of it for + now. Deleted obj-coffbfd.* files. + * configure.in: Always use obj-coff.* for COFF targets. + +Wed May 4 13:34:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL): + Define. + * configure.in (m68k-bull-sysv3*): Enable. + + * config/coff_gnu.h: Deleted. + +Wed May 4 11:29:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as + "a.out-zero.big". + + * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC + relative adjustments when TE_LYNX is defined as well as when + TC_I386 is defined. + +Wed May 4 02:29:21 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * as.h (strstr): Restore declaration. + (subseg_get) [BFD_ASSEMBLER]: Declare. + + * write.c (write_object_file): If obj_adjust_symtab is defined, + invoke it. Then call set_symtab, and finally invoke *_frob_file + hooks. + * config/obj-coff.c (coff_adjust_symtab): Renamed from + coff_frob_file. + * config/obj-coff.h (coff_adjust_symtab): Changed declaration + accordingly. + (obj_adjust_symtab): Macro also changed. + + * configure.in (i386-*-gnu*): New target, handled like i386-mach. + +Tue May 3 21:04:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little + endian version. + + * config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto. + + * config/obj-coff.c (coff_frob_section): Round up the size of + every section to a multiple of the alignment, so that BFD doesn't + surprise us. + + Eliminate many simple differences between the two COFF back ends: + + * config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID. + Made minor stylistic changes, deleted some register declarations. + (stack_top): Deleted. + (symbol_to_chars): Use absolute_section and reg_section instead of + the corresponding SEG_* symbols. + (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise. + (stack typedef, stack_init, stack_delete, stack_push, stack_pop): + Moved to just after pseudo-op table. All functions now static. + (stack_delete): Removed declaration. + (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just + after stack functions. + * config/obj-coffbfd.h: Reordered some declarations and macros. + (stack_init, stack_delete, stack_push, stack_pop): Don't declare. + (stack typedef): Deleted. + (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test. + (SYM_AUXENT): New macro. + (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible. + (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible. + (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX, + SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header, + text_section_header): Delete non-BFD_HEADERS versions, since we + always define that symbol now. + + * config/obj-coff.c (stack_top): Deleted. + (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size, + obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change + argument name from "ignored" to "ignore". + (obj_coff_val): Use frag_now_fix. + (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't + get used. + (stack typedef, stack_init, stack_delete, stack_push, stack_pop): + Moved to just after pseudo-op table. All functions now static. + (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just + after stack functions. + * config/obj-coff.h: Reordered some declarations and macros. + Protected against multiple inclusions. + (stack_init, stack_delete, stack_push, stack_pop): Don't declare. + (stack typedef): Deleted. + (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test. + (stdoutput): Deleted declaration. + (TARGET_FORMAT) [TC_I386]: Don't define if already defined. + +Mon May 2 17:09:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * subsegs.h (segment_info_type): Use fix_tail field even if + BFD_ASSEMBLER. + * subsegs.c (subseg_change): Initialize fix_tail field. + (subseg_get): Likewise. + * write.c (frags_chained): New static variable. + (fix_new_internal): If frags_chained is set, use fix_root and + fix_tail from seg_info (now_seg), rather than frchain_now. + (chain_frchains_together_1): Set fix_tail field. + (chain_frchains_together): Set frags_chained. + +Thu Apr 28 01:39:15 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/tc-mips.c (s_option): Only refer to g_switch_* variables + if GPOPT is defined. + (s_abicalls): Ditto. + (md_apply_fix): Cast char* to unsigned char* to avoid pointer + mismatch. + +Wed Apr 27 11:06:32 1994 Steve Chamberlain (sac@cygnus.com) + + * configure.in (i386-*-go32): Uses coff now. + * gasp.c (main): Now takes -D on command line. + (show_usage): Describe new options. + +Tue Apr 26 17:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and + "NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying + the header with an empty list. + + * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM + also before setting STYP_NOLOAD for .bss section. + + * config/tc-m68k.c (flag_reg_prefix_optional): New variable. + Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or + zero. + (m68k_reg_parse): If flag_reg_prefix_optional is set, permit + register prefix to be absent. + (m68k_ip_op): Accept `&' also for immediate constants. + (insert_reg): Don't bother with (two!?) sanity checks of the + symbol table when inserting each register. + (m68k_parse_long_option): New function. Set + flag_reg_prefix_optional if "register-prefix-optional" is passed. + * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already + defined. + (OPTIONAL_REGISTER_PREFIX): Don't define. + (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero + or one depending on M68KCOFF. + + Some changes to help Apollo support, from troy@cbme.unsw.edu.au: + * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC): + Define as macros instead of enumerators, since the Apollo compiler + can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum + type. + (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function. + (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE, + R_DIR16, and R_DIR32 relocs. + * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC): + Use Apollo versions. + [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is, + do include the optional header for Apollo target. + (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined. + + * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%' + can be used within a label name. + + * config/tc-m68k.h (m68k_init_after_args): Declare. + (tc_init_after_args): Define as m68k_init_after_args. + * config/tc-m68k.c (m68k_init_after_args): New function, + containing one-shot code from md_assemble. Added warning for + combination of 68040 and 68851. + (md_assemble): Startup-time code deleted. + +Mon Apr 25 16:19:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * doc/Makefile.in (clean, distclean): Remove asconfig.texi. + +Sun Apr 24 00:13:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break + instruction) is unsigned. + +Fri Apr 22 17:58:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value + and bfd_ecoff_set_regmasks to set the GP value and the register + masks, rather than using the now obsolete fake .reginfo section. + +Fri Apr 22 15:17:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * listing.c (list_symbol_table): Don't print register symbols as + undefined. + + * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip + underscores, since symbol_new will already have done it. + * config/obj-coffbfd.c (obj_symbol_new_hook): Ditto. + + * as.c (main): If tc_init_after_args is defined, invoke it after + all arguments have been processed. + + Some changes to help Apollo support, from troy@cbme.unsw.edu.au: + * as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext + section instead of .text. Call create_target_segments. + * read.c (demand_copy_string): No longer static. + +Thu Apr 21 15:50:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (append_insn): Permit branches to be switched + with the preceding instruction even if .set nobopt has been seen. + .set nobopt actually controls whether to bring up an instruction + from the branch target, which gas does not currently support. + +Wed Apr 20 18:46:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-coff.h, config/obj-coff.c: Deleted all code used only + when BFD_ASSEMBLER is not defined, and all conditionals relating + to such code. No such targets remain. + + Fixes for stabs-in-coff: + * config/obj-coff.c: Include subsegs.h. + (coff_frob_section): New function. + (obj_coff_init_stab_section): New function. + * config/obj-coff.h (obj_coff_init_stab_section, + coff_frob_section): Declare. + (obj_frob_section): New macro; uses coff_frob_section. + (INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section. + + * config/tc-sparc.c (md_section_align): Always round up to + multiple of alignment power specified in bfd target vector. + + * gasp.c: Include ctype.h. + +Mon Apr 18 21:08:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to + asconfig.texi. + + * doc/Makefile.in (install-info-as, install-info-gasp): Get file + names from source directory without pathname. + + * config/obj-vms.c (VMS_write_object_file): While looking for + register mask, skip empty fill frags caused by enabling listing + output. + + * config/ho-sysv.h: Include string.h. + + * doc/internals.texi: New (well, recently added) file. Just added + info on as_warn and friends. + +Mon Apr 18 14:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in + defaults for defined, private, and spnum fields for the + $TEXT$ and $PRIVATE$ spaces. Do not clobber spnum. Do + not reset the segment if just updating a space. + (pa_spaces_begin): Set BFD section flags for all built-in + subspaces. + +Fri Apr 15 10:51:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (first_proc_ptr): New static variable. + (add_procedure): Set first_proc_ptr if it hasn't been set. + (ecoff_build_lineno): If the first procedure does not start at + address zero, insert a dummy line to compensate. + + * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new + as well as as.new. + +Thu Apr 14 15:12:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * expr.c (operand): Try to parse "0f" and "0b" sequences as + floating point and binary numbers respectively; if it doesn't + work, treat them as local labels. + + * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS). + * configure.in: Set ALL_OBJ_DEPS in output Makefile. + + Based on suggestions from + (Charles Bailey): + * vmsconf.sh: In generated file, get ".obj" suffix right, build + source files from other directories into objects in the current + directory, and specify PSECT attributes explicitly to linker. + Also added missing label. + * Makefile.in (stamp-mk.com): Reference new variable + VMS_OTHER_OBJS for list of non-local object files, instead of + listing them here. + (VMS_OTHER_OBJS): New variable, added more libiberty files. + * make-gas.com: Regenerated. + + * config/ho-vms.h (unlink): Define as delete. + + * config-gas.com: Fix quoting on TARGET_CANONICAL definition. + Delete files before creating them. + +Thu Apr 14 13:34:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f. + + * config/tc-mips.h (DIFF_EXPR_OK): Define. + * config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for + certain cases of 'i', 'j' and 'o'. Change 'u' to take an + argument, the reloc type. + (load_register): Pass reloc type to macro_build for 'u'. + (macro): Likewise. For M_LA_AB permit a difference expression + when generating embedded PIC code between an arbitrary symbol and + a symbol in the .text section. + (mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and + BFD_RELOC_PCREL_LO16 to be emitted. + (md_apply_fix): Check that most relocs are not PC relative. + Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16. + (tc_gen_reloc): Change #error to as_fatal. Handle + BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S. + +Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com) + + * subsegs.c (subsegs_begin): Call memset with args in the correct + order. + (subseg_get): Clear newly allocated seginfo, set its pointer slots + to NULL instead of 0. + +Mon Apr 11 09:00:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_procend): Handle case where label was + defined after the .proc directive. + + * config/tc-hppa.c (pa_procend): Give an error if we encounter a + procend for a procedure without a name. + +Thu Apr 7 14:28:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (macro): Pass NULL for expression argument to + macro_build for nori case. + (SWITCH_TABLE): Define. + (mips_force_relocation): Force a relocation for a switch table + entry. + (md_apply_fix): Write switch table entry value into file. + (tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry, + and set the addend to the difference between the reloc address and + the subtrahend. + +Thu Apr 7 10:38:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.h (elf_tc_symbol): Delete. No longer used. + (elf_tc_make_sections): Likewise. + (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls. + + * config/tc-hppa.c (hppa_tc_make_sections): Delete function. + (hppa_tc_symbol): Likewise. + + * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and + elf_tc_make_sections stuff. It was there to support PA braindamage + which has been fixed, and in the case of elf_tc_make_sections is + redundant with elf_tc_final_processing. + +Wed Apr 6 20:48:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the + manufacturer. + +Tue Apr 5 15:48:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): For case 'o', when generating + embedded PIC code, accept the difference between two local symbols + as being constant. + (mips_force_relocation): Only force a reloc to be generated for a + PC relative fixup. + (md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup + value into the file if the fixup will not generate a reloc. + +Tue Apr 5 11:14:14 1994 Ken Raeburn (raeburn@rtl.cygnus.com) + + * config/tc-sparc.c (s_reserve): If section passed isn't bss, + don't spew remainder of input file in error message. + (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error + message with reloc type and try to process remainder of file. + + * doc/Makefile.in (install-info-as, install-info-gasp): New + targets, now explicitly checking $(srcdir) for info files. + (install-info): Depend on both of them; do nothing more. + +Mon Apr 4 17:06:04 1994 Jeffrey A. Law (law@cygnus.com) + + * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version. + +Mon Apr 4 12:39:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED + flag rather than signedp field. Only permit extended range if + PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode. + Based on patch from David Edelsohn (edelsohn@npac.syr.edu). + + * config/tc-ppc.c (ppc_size): New static variable. + (ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER. + (md_begin): If an instruction has a size specific flag set, only + add it if we are assembling that size. + +Thu Mar 31 16:51:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get + cross section PC relative relocs right for COFF and ELF. + +Mon Mar 28 14:38:23 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define. + (OBJ_PROCESS_STAB): Don't define. + +Mon Mar 28 12:40:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber + the type of symbol set symbols which happen to be in the absolute + or undefined section. + +Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu) + + * config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka + RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604), + and -many (all architectures). + +Sun Mar 27 14:04:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation + involving a function symbol which is not a plabel to zero. + (md_apply_fix): Never pass a function symbol to field_adjust. + +Fri Mar 25 17:35:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an + N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL. + + * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a + branch with an instruction that uses $at, in case the branch is + later expanded. + (macro): If EMBEDDED_PIC, case M_JAL_A may use $at. + (md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol + to make it pcrel_offset. + (tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to + reloc->address; another gruesome hack to get gas reloc handling to + do the right thing. + +Thu Mar 24 21:29:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using + PV register. + (T12): New macro. + (emit_insn): New function. + (md_assemble): Call it. + (alpha_force_relocation): Handle BFD_RELOC_26, for call_pal + instructions. + (lituse_pending): New variable. Set by anything that generates a + LITERAL reloc, cleared by anything that generates a LITUSE reloc, + tested by code that might want to emit a LITUSE reloc. + (emit_unaligned_io): New function. Currently calls md_assemble, + but it should eventually be converted to generate the insn itself + and call emit_insn directly. + (emit_load_unal, emit_store_unal, emit_byte_manip_r, + emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend, + emit_bis_r): Likewise. + (alpha_ip, case 'I'): Handle with BFD_RELOC_23. + (alpha_ip, label get_macro): Don't emit the final instruction if + the opcode is zero. + (alpha_ip, case 'B', subcase 'd'): New case, for subword and + unaligned memory access macros. + (md_apply_fix): Handle BFD_RELOC_26. Generate an error message if + the value can't be resolved. + +Wed Mar 23 16:06:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (md_parse_option): For -membedded-pic, force + the -G value to 0x7fffffff. For SVR4 PIC options, don't call + bfd_set_gp_size here, it's done in md_begin. Don't permit -G with + -membedded-pic. + (mips_force_relocation): New function. + (md_apply_fix): Set fixP->fx_done appropriately. + (s_change_sec): For EMBEDDED_PIC, change .data and .rdata to + .sdata. + * config/tc-mips.h (TC_FORCE_RELOCATION): Define. + (mips_force_relocation): Declare. + (TC_HANDLE_FX_DONE): Define. + +Tue Mar 22 13:58:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (enum mips_pic_level): New enum. + (mips_pic): Change from int to enum mips_pic_level. Change all + uses (0 becomes NO_PIC, 2 becomes SVR4_PIC). + (load_address): Handle EMBEDDED_PIC. + (macro): Handle EMBEDDED_PIC in all PIC cases. + (md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC. If + OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept + -non_shared to use NO_PIC (this is how the Irix 5 assembler + works). Do not permit -G with SVR4_PIC. + (s_abicalls): Warn if -G was used, and force -G 0. + (tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for + anything but a.out, not just for ELF. For ECOFF, don't generate a + BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC. + + * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1. + +Sun Mar 20 16:31:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (create_new_space): Use ints, not chars as + parameters to avoid losing when compiling with HP CC. + (create_new_subspace, update_subspace, fix_new_hppa): Likewise. + +Sun Mar 20 14:43:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in (config-stamp): If `defs' is defined, emit a + preprocessor directive to create a macro named by this value into + config.new; don't explicitly go for BFD_ASSEMBLER. + * configure.in: Define `defs', not `BFDDEF'. Set it to + MANY_SEGMENTS for any obj-coffbfd target. + * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define. + * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS, + or BFD_HEADERS. + (LOCAL_LOADLIBES): Deleted. + * config/m68kcoff.mt (TDEFINES): Don't define those macros. + * config/m88kcoff.mt (TDEFINES): Ditto. + * config/ebmon29k.mt: Deleted. + * config/h8300hds.mt: Deleted. + * config/ic960coff.mt: Deleted. + * config/sparc.mt: Deleted. + * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. + * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. + * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. + * config/z8k.mt (LOCAL_LOADLIBES): Deleted. + (TDEFINES): Don't define the coffbfd macros. + + * Makefile.in: Insert makefile fragments before OBJS definition. + (OBJS): Add $(TE_OBJS). + + * config/obj-coff.c (obj_pseudo_table): Supply "section" + unconditionally. + + * write.c (set_symtab): Define only if BFD_ASSEMBLER. + +Sun Mar 20 12:06:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Makefile.in (STAGESTUFF): Add gasp.new. + +Fri Mar 18 20:09:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * write.c (symbol_table_frozen): New variable, to be set after + bfd_set_symtab is called. + (dump_section_relocs): Note whether a symbol is a section symbol + or not. + (adjust_reloc_syms): For now, always supply an absolute symbol for + fixups without symbols but not yet `done'. Use section_symbol to + get the symbol, instead of going directly for abs_symbol. + (write_relocs) [DEBUG4]: Abort if any symbol referred to by a + reloc is not a section symbol and is not in the symbol table. + (set_symtab): New function, broken out from write_object_file. + Counts symbol table instead of relying on an earlier count. + (write_object_file): Call set_symtab, but do it after potentially + invoking the *_frob_file macros. Don't bother counting symbols. + Call symbol_remove, instead of expanding it in place. Moved the + conditionalized `object_file_size' declaration down to + conditionalized block where it's used. When using the absolute + symbol for a fixup without a symbol, set sy_used_in_reloc. + (write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get + the correct symbol for the absolute section. + + * subsegs.c (section_symbol): Use symbol_new instead of + symbol_make, since we may want it to go into the symbol table. + Make the new symbol have internal linkage. If + obj_sec_sym_ok_for_reloc says it's okay, use the BFD section + symbol with the newly created GAS symbol. + (obj_sec_sym_ok_for_reloc): Default to always returning 0. + * config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]: + New macro. + * config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro. + + * config/tc-sparc.c: Include subsegs.h. + (in_signed_range): New function. + (sparc_ip): Use it. + (sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13. + (sparc_ip, label "immediate"): Reject constants for pcrel + instructions only if the relocation type indicates a "call" + instruction and the offset is within range of a "jmpl %g0". If + it's not in range, use the absolute section symbol plus an offset. + (md_apply_fix): Use in_signed_range. Combined _SPARC13 and + _BASE13 cases. + (tc_gen_reloc): Permit BFD_RELOC_SPARC13. + + * config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not + MANY_SEGMENTS). + + * configure.in: Eliminated all targets using obj-coff but not + defining BFD_ASSEMBLER; I think all such targets that are + supported will be matched by real CPU-OS combinations earlier in + the case statement. + (targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted. Made + some comments about the dpx2 configuration, but left it disabled, + since it couldn't be reached before. + (target a29k-amd-ebmonold): Deleted. + +Thu Mar 17 13:36:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_import): Correctly handle importing of an + already defined symbol. + +Wed Mar 16 17:11:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): Only accept overly large values for + the 'j' operand if there are no further alternatives for this + instruction. + + * config/obj-coffbfd.c (adjust_stab_section): Initialize + stabstrseg to SEG_UNKNOWN, not -1. After loop, check whether it + is not SEG_UNKNOWN rather than checking whether it is >= 0. + + * config/tc-mips.c (mips_align): Take new argument, label, and use + it instead of global insn_label. + (s_align, s_cons, s_float_cons, s_gpword): Save insn_label before + call to mips_emit_delay and pass it to mips_align. + +Wed Mar 16 11:54:12 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly. + + * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an + argument to a .callinfo directive. Don't loop forever on errors. + + * config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can + use pre-defined registers as arguments. + +Mon Mar 14 14:29:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * write.c (write_object_file): Check both S_IS_LOCAL and + S_IS_EXTERNAL when deciding whether to discard a symbol. + + * config-gas.com: Scan Makefile.in, not version.c, for current + version number. Delete all versions of temp files when finished + with them. Create config.h. + + * config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol + values to reduce number of lookups with S_GET_VALUE. Skip debug + symbols to avoid "a really nasty bug". (From Holger Teutsch, + holger@botbso.rhein-main.de.) + (VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER + field. (Also from Holger Teutsch.) Watch for a would-be register + mask that spans frags. + + * config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with + this_base, not line_base. (Patch from Andreas Arens, + ari@obelix.av.rwth-aachen.de.) + + * config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that + look local if they're exported or undefined. Used to be done for + i960 only. + + * read.c (s_lcomm, s_comm): Print symbol name being redefined. + Get it from the looked-up symbol, instead of using the string from + the input stream, which is no longer null-terminated. + (LEX_PCT): New macro, defaults to 0. + (lex_type): Use it for `%'. + + * config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS. + (vip_op): Now static, and returns void. Callers changed. Added + forward decl. + (vip): Ditto. Call as_fatal directly if a program bug is + detected. + (op_hash): Let default initialization suffice. + + * Makefile.in (literal.o): Provide dependencies. + + * configure.in: Set new makefile variable OPCODES_LIB. + * Makefile.in (LIBS): Use it. + + * Makefile.in (make-gas.com, stamp-mk.com): New targets. + * vmsconf.sh: New file. + * make-gas.com: Regenerated from new script. + + * configure.in (sparc*-*-lynxos*): Handle any version number + suffix after "lynxos". Set emulation to lynx. + +Mon Mar 14 11:30:49 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/obj-coff.c (obj_coff_section): Delete declaration. + +Fri Mar 11 22:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF + symbols. + (ppc_is_toc_sym): Change .toc to .got. + (md_apply_fix): Change handling of ELF relocs. + (tc_gen_reloc): Likewise. + +Fri Mar 11 17:42:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-vms.c (Close_VMS_Object_File): Add comment pointing + out some code that doesn't belong in this file. + + * config/obj-vms.h: Include aout/stab_gnu.h. + (N_GSYM, ..., N_LENG): Deleted. + (NO_RELOC): Undefine before defining as part of enum reloc_type. + + * config/tc-alpha.c: Add comment questioning need for all the + characters in FLT_CHARS. + + * as.c (main) [OBJ_VMS]: Don't call output_file_close. + + * config/obj-ecoff.c (ecoff_frob_file): Set strict order for + sections with recognized names, before computing VMA values. + +Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and + 0xffff for 'j' to be compatible with MIPS assembler. These + numbers are actually treated as negative. + +Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com) + + * config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo. + +Tue Mar 8 21:17:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-coff.c: Minor formatting/stylistic changes, plus: + (obj_coff_section): Declare. + (obj_pseudo_table): Make it available only if MANY_SECTIONS. + (obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this + work. It still doesn't. It now fails to compile, instead of + silently compiling to do nothing. + * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if + MANY_SECTIONS. + (OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits + warning. + + Handle Alpha load-immediate-FP pseudo-instructions: + * config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns. + * config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New + variables. + (create_literal_section): New function. + (create_lita_section): Now a macro. + (get_lit8_offset, get_lit4_offset): New functions. + (maybe_set_gp): New function. + (select_gp_value): Call it. + (load_expression): Preserve addend if symbol is a section symbol. + (alpha_ip): Handle new operand type `F' for floating-point + constants; store them in .lit{4,8} sections. + (alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs. + + * config/tc-i386.c (smallest_imm_type): Never return Imm1. + +Tue Mar 8 14:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/obj-coffbfd.c (w_strings): Only copy strings out if + their symbols are going to be written. + +Tue Mar 8 11:49:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * messages.c (as_perror): Declare arguments const. + * as.h (as_perror): Change declaration. + +Mon Mar 7 16:08:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (load_address): When calling frag_grow, allow + for the (up to) two nops which may be inserted by append_insn if + mips_optimize is 0. + (macro): Likewise. + +Thu Mar 3 11:37:55 1994 Doug Evans (dje@canuck.cygnus.com) + + * config/atof-ieee.c (make_invalid_floating_point_number): + Add cast to avoid warning from gcc. + +Wed Mar 2 10:31:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: Add a few casts to make HP C compiler happy. + + * config/obj-som.c (obj_som_version, obj_som_copyright): Be + prepared + to handle an error from bfd_som_attach_aux_hdr. + + * config/tc-hppa.h: Wrap ELF specific decls inside an ifdef. + +Mon Feb 28 15:03:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-alpha.c (md_atof): Omit warning about FP values. + (line_comment_chars): Add ! to list. + (md_apply_fix): Do process 32- and 64-bit relocations. + + * config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the + unused parts (most of the function). + (obj_coff_init_stab_section): Cast alloca result. + + * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and + gas_target ic960coff. + * config/ic960coff.mt: New file. + * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h. + (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little. + * config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll + always build little-endian object files. + * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or + BFD_ASSEMBLER is defined. + (mem_fmt): Since COFF doesn't handle callx relocations yet, treat + them like normal 32-bit relocations. + (md_apply_fix): For callx relocations, store zero. + (tc_bout_fix_to_chars): Store symbol index for all callx + relocations, regardless of link-relax setting. + (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions. + (i960_handle_align) [! OBJ_BOUT]: If link-relax option is + selected, print an error message and clear it. + * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC, + TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP, + tc_fix_adjustable): New macros. + (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare. + +Fri Feb 25 20:56:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version. + (hppa_tc_make_sections): Likewise. + (pa_build_symextn_section): Delete unused function. + (hppa_tc_make_symextn_section): Likewise. + (pa_export): Delete call to pa_build_symextn_section. + + * config/tc-hppa.h (hppa_tc_symbol): Add extern decl. + (elf_hppa_final_processing): Delete extern decl. + (hppa_tc_symbol): Delete extern decl. + +Fri Feb 25 13:15:31 1994 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-coffbfd.c (fill_section): Correct test for whether to + fill a section (from Minh Tran-Le ). + +Thu Feb 24 11:30:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * configure.in: Don't require version number for i386-*-mach. + + * read.c (potable): Added ".this_GCC_requires_the_GNU_assembler", + which is ignored by gas, but will cause other assemblers to choke. + Intended for use by gcc ports that require gas instead of native + assemblers. + +Thu Feb 24 07:10:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/ho-hppaosf.h: Fix braino in test for ANSI-C. + +Wed Feb 23 16:51:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * write.c (write_contents): Give the user a reasonable error + message rather than "assertion failed" if bfd_set_section_contents + fails. + +Tue Feb 22 10:07:32 1994 Ken Raeburn (raeburn@rtl.cygnus.com) + + * config/ho-mach3.h: New file. + +Mon Feb 21 11:41:18 1994 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.c (ecoff_build_debug): Don't set hdr->magic here. It is + now set in bfd/ecofflink.c:ecoff_write_symhdr. + + * config/obj-coffbfd.c (write_object_file): use bfd_get_error (), + not bfd_error. + * config/obj-elf.c (elf_frob_file): Likewise. + + * read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm + variables. + + * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__. + + * read.c (read_a_source_file): Use correct arguments to memcpy + (broken 19 Jul 1993). From kjd@pescadero.stanford.edu (Kenneth + Duda). + +Sun Feb 20 18:01:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com) + + * config/obj-coff.h (obj_coff_section): Declare. + * config/obj-coff.c (obj_pseudo_table): For "section", use + obj_coff_section. + (obj_coff_section): Rewrite. + +Fri Feb 18 14:16:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * configure.in (i386-*-mach3*): New target; uses BFD. + * config/te-mach.h: New file. + * config/obj-aout.c (obj_aout_frob_file): New function. + * config/obj-aout.h (obj_aout_frob_file): Declare it. + (frob_file): New macro. + * config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust + pcrel32 relocations. + * config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3. + + * write.c (write_object_file): Removed register declarations. + +Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Some support for PowerPC ELF. + * configure.in: If cpu is powerpc*, use ppc. + (ppc-*-sysv4*): Use object format elf. + * config/tc-ppc.h: Only declare a number of things if OBJ_COFF is + defined. + (TARGET_ARCH): Make it call ppc_arch. + (ppc_arch): Declare. + (TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF. + (NO_STRING_ESCAPES): Define. + (LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF. + * config/tc-ppc.c: Only define a number of functions of OBJ_COFF + is defined. + (md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added + OBJ_COFF specific "bi" and "ei". + (md_parse_option): Fix handling of -u. Make -m601 set + PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q. + (ppc_set_cpu): New function. + (ppc_arch): New function. + (md_begin): Call ppc_set_cpu. + (ppc_insert_operand): For a signed operand accept an unsigned + value, for IBM compatibility. + (ppc_byte): Don't call stringer for strings; instead, treat two + double quotes as a single double quote. + (ppc_comm): Set sy_tc.output for a .lcomm symbol. + (ppc_biei): New function. + (ppc_tc): If not OBJ_COFF, ignore first argument. + (ppc_fix_adjustable): Call as_bad_where, not as_bad. + (ppc_is_toc_sym): New function. + (md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and + BFD_RELOC_8. + +Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and + bfd_set_error and new error names. + +Tue Feb 15 20:23:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * configure.in: Support i960-vxworks versions > 5.0 as coff. + Default is still bout if no version is specified. + + * atof-generic.c (atof_generic): Use switch and strcasecmp instead + of large number of compares when looking for inf/nan values. + +Fri Feb 11 13:13:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (macro): Do unaligned loads and stores + correctly when big endian, and give errors on overflow rather than + generating incorrect code. + +Thu Feb 10 11:24:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * as.c: Include libiberty.h. + + * read.c (do_align): Don't define label just_record_alignment + unless it might be used. + + * as.c (main): If md_parse_long_option is defined, call it with a + long option. + * config/tc-mips.h (md_parse_long_option): Define. + * config/tc-mips.c (mips_trap): New static variable. + (md_begin): Report an error if mips_trap is set at ISA level 1. + (macro): If mips_trap, use trap instructions instead of break + instructions for overflow and divide by zero detection. + (mips_parse_long_option): New function. Support --trap, + --no-break, --break and --no-trap. + * doc/as.texinfo: Document new options. + + * read.c (potable): Add "zero". + * config/tc-i386.c (md_pseudo_table): Remove "zero". + * config/tc-m88k.c (md_pseudo_table): Likewise. + +Thu Feb 10 01:24:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Reject integer values for + pc-relative operand fields. This forces "call 0" to become "jmpl + %g0,%o7" with no relocations needed. + +Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * as.h (xmalloc, xrealloc): Declare using PTR rather than char *. + * xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *. + + * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined, + don't treat backslash specially inside strings. + * read.c (next_char_of_string): Likewise. + +Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset + instead of memcpy to zero the initial stab symbol, duh. + * config/obj-elf.c (obj_elf_init_stab_section): Ditto. + * config/obj-som.c (obj_som_init_stab_section): Ditto. + +Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * write.c (fixup_segment): Use as_bad_where, not as_bad. + + * subsegs.c (subseg_set_rest): Call memset with the arguments in + the right order. Explicitly clear fix_root and fix_tail fields. + +Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt + and do nothing else. + + * symbols.c (symbol_begin): Initialize value of abs_symbol + properly. + + * write.c (adjust_reloc_syms): Use abs_symbol instead of calling + section_symbol. + + * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence + complaint from "gcc -Wall". + + * configure.in (alpha-*-netware*): New target, like alpha-*-osf*. + + * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of + file. + (tc_gen_reloc): Remove uninitialized variable `code', and code + that tried to use it (incorrectly). For LITERAL reloc, set addend + to negative of GP value. + (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT. + + * write.c (write_relocs): Print some sensible error message if + bfd_perform_relocation returns bfd_reloc_overflow. + +Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*elf*): New configuration for PA ELF. + (hppa*-*-osf*): Default object format is SOM. + +Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-alpha.c (md_atof): Warn that floating-point values + might not assemble properly. + + * configure.in (target alpha-*-osf*): Don't set "dev=yes" any + more. + + * config/tc-alpha.c (load_expression): Parenthesize operations in + range checking, to avoid precedence questions. + + * config/tc-alpha.c (addr32): New static variable. + (md_parse_option): Set it for "-32addr". + (load_symbol_address): If addr32 is set, use ldl instead of ldq. + + * atof-generic.c (atof_generic): Calculate maximum_useful_digits + and more_than_enough_bits_for_digits in integer arithmetic, to + eliminate the only sources of dependence on floating point + support, which doesn't work yet on the Alpha. + +Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as + 0x30b for Alpha for now, until ".verstamp" is handled. + + * literal.c (add_to_literal_pool): Use seginfo->frchainP, which + actually refers to the literal pool section, rather than + frchain_now, which refers to whatever section the assembler was + in. + + * write.c (fixup_segment): Only do range checking if size of fixup + is smaller than word size. Otherwise, we always wind up with + zeros. + + * config/tc-alpha.c (md_section_align): Change second argument and + return type to valueT, to agree with tc.h. + (alpha_do_align): Local static array nop_pattern is now unsigned + char, to avoid overflow warnings. + * config/tc-alpha.h (md_section_align): Delete declaration. + + * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for + output bfd is non-null before indirecting through it. + + * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from + alpha_frob_file. + * config/tc-alpha.h (tc_frob_file): Macro deleted. + * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call + alpha_frob_ecoff_data, then fill in optional-header info with gp + value and register masks. + +Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP. + + * config/obj-som.c (obj_som_init_stab_section): Same change + as coffbfd and elf below. Zero the initial stab symbol after + allocating it. + +Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the + initial stab symbol after allocating it. + * config/obj-elf.c (obj_elf_init_stab_section): Ditto. + +Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip): addb[tf] should only accept + non-negated condition completers. Add support for addb pseudo-op + which accepts both negated and non-negated completers. + +Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (rs6000*): Use cpu_type ppc. + (ppc-*-aix*): New target; use coff and force bfd_gas. + * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER + (RS/6000) support. At the moment, only XCOFF is supported. + + * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static. + (S_SET_DATA_TYPE): Likewise. + (coff_last_function): Renamed from local static last_functionP in + coff_frob_symbol and made externally visible. + (coff_frob_symbol): New local static set_end; use it to try to + avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted. + * config/obj-coff.h (S_SET_DATA_TYPE): Declare. + (SA_SET_SYM_ENDNDX): Declare. + (coff_last_function): Declare. + + * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as + equivalent to `.' to mean the current location. + + * read.c (LEX_BR): If not defined, define as 0. + (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'. + + * symbols.c (symbol_new): If tc_canonicalize_symbol_name is + defined, call it with preserved_copy_of_name. If + tc_symbol_new_hook is defined, call it on the new symbol. + (symbol_find_base): If tc_canonicalize_symbol_name is defined, + call it on a copy of the name argument. + + * write.c (write_object_file): Simplified usage of obj_frob_symbol + and tc_frob_symbol. Always call both if the symbol is going to be + output. + + * write.c (relax_segment): Use %ld rather than %d when printing + fragP->fr_var, and cast it to long. + + Changed relocs to be based on subsegments (when BFD_ASSEMBLER). + * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields + fix_root and fix_tail. + (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail + field. + * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and + fix_tailP based on frchain_now, not seg_info (now_seg). + (chain_frchains_together_1): Chain the subsegment relocs together. + * subsegs.c (subseg_change): Don't clear fix_tail field. + (subseg_get): Likewise. + * literal.c (add_to_literal_pool): Look through the relocs via + frchain_now, not seginfo. + +Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed + ecoff_undefined to ecoff_extern_size. + * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise. + * config/tc-mips.c (s_extern): Set ecoff_extern_size to the + external symbol size, rathern than setting the symbol value. + (md_estimate_size_before_relax): Check both ecoff_extern_size and + symbol value to see if GP referencing can be used. + * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not + ecoff_undefined. + (ecoff_frob_symbol): Don't check ecoff_undefined. + (ecoff_build_symbols): Get size of an undefined symbol from + sym->ecoff_extern_size, not S_GET_VALUE (sym). + +Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Makefile.in: Avoid bug in losing hpux sed. + +Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (file_mips_isa): New static variable. + (md_begin): Set it. + (s_mipsset): Add support for .set mipN to set the ISA level. + + * gasp.c (kinfo): Fully bracket initializer. + +Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * gasp.c (malloc): Don't declare, since host.h or system header + files may declare it differently. + + * config/atof-ieee.c (int_to_gen): Now static. + + * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not + ho-sysv.h. Based loosely on a patch from Minh Tran-Le. + +Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * gasp.c: Include host.h. + +Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): Make an unsupported instruction a + warning, not an error. + + * config/obj-coff.c (dot_text_symbol, dot_data_symbol, + dot_bss_symbol): Don't define if BFD_ASSEMBLER. + (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more + arguments. + (coff_line_base): Renamed from line_base. Changed all uses. + (coff_add_linesym): Renamed from add_line_sym. Made non-static. + Changed all uses. + * config/obj-coff.h: If TC_PPC, include coff/rs6000.h. + (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if + BFD_ASSEMBLER. + (coff_line_base): Declare. + (coff_add_linesym): Declare if BFD_ASSEMBLER. + * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out + now takes more arguments. + +Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com) + + * as.c (statistics_flag): Renamed from quiet_flag. + (main): Get statistics with --statistics instead of -noquiet. + +Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * Makefile.in: Support for Gnu ASsembler Preprocessor. + * gasp.c: New file. + * read.c (s_lcomm): Align lcomm data. + * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction + from different sections. + +Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * write.c (write_object_file): If tc_frob_file is defined, call it + just before calling obj_frob_file. + * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value + (references changed), and made non-static. + (getExpression): Return void. + (select_gp_value): Abort if gp_value is non-zero. Delete call to + non-existent bfd_set_gp_value. + (alpha_validate_fix): Function deleted. + (alpha_frob_symbol): Function deleted. + (alpha_local_label): Function deleted. + (alpha_frob_file): Renamed from alpha_end. + * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix, + alpha_local_label, alpha_end): Declarations deleted. + (alpha_gp_value, alpha_frob_file): Declare. + (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted. + (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label. + (md_convert_frag): Simplified slightly. + (tc_frob_file): New macro. + + * read.c (do_align): New function, most of guts of s_align_* + functions. Look for md_do_align macro, give it a chance to bypass + all but recording of section alignment. + (s_align_bytes, s_align_ptwo): Call do_align. + (s_lcomm) [TC_ALPHA]: Align object to largest power of two that + divides object size. + + * frags.c (frag_align_pattern): New function. + (frag_align): Rewrite for clarity. + + * config/tc-vax.c (md_assemble): Handle O_constant expression. + (vip_begin): Returns pointer to const char. Cast hash_insert arg + to PTR to avoid compiler complaints about const. + (md_begin): Local variable errtxt must point to const. + + * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't + bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only + the last has an existing host support file. Do handle vax-bsd and + vax-ultrix targets. + +Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-coff.c (obj_coff_section_header_append): Do not + declare if BFD_ASSEMBLER. + (stack_pop): Correct test for stack underflow. + (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size, + obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare + type of ignored argument to avoid gcc warning. + (align): Removed unused function. + +Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New + files, based on port of gas-1.38 contributed by CMU, using a.out + variant. Updated for gas-2.x and ECOFF. Floating-point constants + are still broken, bootstrap testing incomplete. + + * literal.c: Comment changes. + + * listing.c (listing_source_file): Check for null listing_tail + before indirecting through it. + + * expr.h (struct expressionS): Added struct tag. + + * as.h: If __GNUC__ and inline are both undefined, define inline + away. + + * 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. + + * atof-generic.c: Some reformatting. + (atof_generic): Be careful when mixing signed/unsigned values of + different sizes. + + * 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/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix + with no fx_addsy. + + * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol): + Deleted. + (symbol_begin): Moved to end of file, so function inlining can + work better. + (fb_label_count, fb_label_max): Default C static initializers are + sufficient. + * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol): + Declarations deleted. + * 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. + +Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * read.c (lex_type): No longer make '{' a valid character for + symbol names. + + * as.c (main): Print long values using %ld. + + * messages.c (as_warn_internal): New static function. + (as_warn, 3 versions): Use as_warn_internal. + (as_warn_where, 3 versions): New function. + * as.h (as_warn_where): Declare. + +Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com) + + * as.c (quiet_flag): New flag. + (main): If -noquiet given, display execution time and memory used. + +Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * doc/{all.texi,as.texinfo}: Add documentation for HPPA port. + +Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_frob_symbol): New function. Put undefined + symbols of known size in the undefined section. Put small common + symbols in a .scommon section. + * ecoff.h (ecoff_frob_symbol): Declare. + * config/obj-ecoff.h (obj_frob_symbol): Define. + * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol, + obj_elf_frob_symbol): Removed unused functions. + * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed + unused macros. + (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations + of unused functions. + (obj_frob_symbol): Define if ECOFF_DEBUGGING. + + * tc-mips.c (g_switch_seen): New static variable. + (md_parse_option): Set g_switch_seen for -G option. + (s_option): If creating PIC code, force the GP size to be 0. Warn + if -G switch used with a non-zero value. + + * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than + comparing against bfd_com_section. + +Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss + section. + +Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * expr.c (operand): For floating point operand with unusual fp + char from FLT_CHARS, preserve the character. Patch from Lisa + Repka. + +Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (md_pseudo_table): Add all data allocation + pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single. + +Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and + C_FCN assume .val has been set to . + +Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It + confuses GDB for some unknown reason. + * cofnig/obj-som.c: Likewise. + +Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * literal.c (add_to_literal_pool): Handle duplicates of values + already written to literal pool. + +Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols + with explicitly marked stabs through BFD: if a symbol marked + N_UNDF | N_EXT is in the absolute section, move it to the + undefined section; move a symbol marked N_INDR into + bfd_ind_section and set the BSF_INDIRECT flag; set the + BSF_WARNING flag for a symbol makred N_WARNING. + +Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (ecoff_set_gp_prolog_size): Declare. + * ecoff.c (ecoff_set_gp_prolog_size): Return type is void. + +Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u' + and 'f' template operand. + + * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u', + and '2' in copr and sfu instruction templates. + +Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * as.h (subseg_force_new): Add prototype. + +Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com) + + * app.c (do_scrub_next_char): Allow lines like " foolab :". + + * read.c (emit_expr): Fix computation of mask. + * config/obj-elf.c (obj_elf_section): Fix loop termination test. + +Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * ecoff.c (ecoff_set_gp_prolog_size): New function. + (current_file_idx): New static variable. + (add_file): Use and increment current_file_idx instead of indx + parameter. + + * struc-symbol.h (struct symbol): Make all bitfields unsigned. + + * config/tc-i960.c (i960_validate_fix): Added argument + add_symbolPP. Indirect through it to get "add_symbolP". + * config/tc-i960.h (i960_validate_fix): Supply prototype. + (TC_VALIDATE_FIX): Pass address of add_symbolP. + + * configure.in (i386-*-netbsd*): New target, using te-netbsd.h. + (i386-*-netbsd0.8): New target, like 386bsd. + + * configure.in: Set BFDDEF in Makefile to "define" or "undef". + * Makefile.in (config.h): Protect against multiple inclusions. + Define or undef BFD_ASSEMBLER as specified by $(BFDDEF). + (ALL_CFLAGS): Omit $(BFDDEF). + * as.h: Include config.h. + (struct symbol): Added forward declaration. + (add_to_literal_pool): Fix declaration. + * as.c: Don't include config.h. + + * literal.c (add_to_literal_pool): Take symbol and addend as + arguments, instead of expression, for now. Fix calculation of + offset to return. + + * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field + literal_pool_size. + +Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu + + * subsegs.c (subseg_get): Accept new argument "force_new". If + set then a new segment is always created. All callers changed. + (subseg_force_new): New function. Similar to subseg_new, but + always force a new segment to be created. + + * config/obj-som.c (som_frob_file): Call adjust_code_sections + for each section. + (adjust_code_sections): New function. Adjusts the VMA for all the + $CODE$ subspaces. + + * config/tc-hppa.c (md_assemble): Also handle creating a fixup + for the unwind descriptors if a function's label follows the + .PROC and .ENTRY directives. + (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it + is done elsewhere. Don't create a fixup for the unwind + descriptors if the function's label has not been defined yet. + (pa_proc): For SOM, place each procedure within a new $CODE$ + subspace. Adjust the segment and frag for the associated + function label if it exists. + +Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field. + (hppa_fix_new): Initialize segment field. + (md_apply_fix): Do nothing for pc-relative fixup which involves + crossing a segment boundary. + (pa_procend): Undefine the current label after handling .PROC + and .PROCEND directives. + (dummy_symbol): Make type "symbolS *". Change references as + appropriate. + +Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * read.c (read_a_source_file): Cast array argument to unsigned + char. + * write.c (adjust_reloc_syms): Remove unused variable symseginfo. + (write_object_file): Don't define punt_it if it won't be used. + (fixup_segment): Don't define skip if it won't be used. + + * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format. + (mips_target_format): Declare. + * config/tc-mips.c (mips_target_format): Define with appropriate + default definition. + (md_parse_option): If -EL or -EB is used, change byte_order and + mips_target_format as appropriate. + +Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * app.c (do_scrub_next_char): Another attempt to fix bugs + dealing with labels without colons (for HPPA and MRI). + +Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits. + + * expr.c (integer_constant): Fix computation of too_many_digits. + Variable digit_2 renamed to start. Fix check for whether number + will fit in 32 bits. + * read.c (emit_expr): Use valueT instead of long. + +Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-elf.c: If TC_MIPS, include elf/mips.h. + (special_sections): Define. + (obj_elf_special_section): Get default types and attributes from + list of special sections. + * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define. + + * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss + sections to be close together. + + * config/tc-mips.c (macro): Corrected $at warnings in a couple of + spots. + + * listing.c (listing_prev_line): New function. + * listing.c: Include subsegs.h. + (listing_prev_line): New function. + (calc_hex): Reset byte_in_frag to zero for each new frag. + * config/tc-mips.c (append_insn): Call listing_prev_line after + emitting nop instructions. + * Makefile.in (listing.o): Depends upon subsegs.h. + +Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC + here. Handle case where label may be defined after the .PROC. + (pa_proc): It is not an error if the procedure's label isn't + defined before the .PROC directive. + +Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/te-netbsd.h: New file. + * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target + a.out-netbsd-386 for this configuration. + +Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information + with the associated stabs information. + (ecoff_build_symbols): Never set the type of stabs symbols to + st_Global. Don't update the symbol index or ifd if the gas symbol + is not the same as the ECOFF symbol (which is now the case for + stabs symbols). + +Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that + splits the function. + (macro2): New function, if LOSING_COMPILER defined. + +Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com) + + * config/obj-coffbfd.c (fill_section): Don't ever fill past the + end of a section. (write_object_file): Temporary fix - setup + stdoutput. + +Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in + non-pcrel_offset relocations. + +Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at + without .set noat. + +Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * literal.c: New file. + * Makefile.in (REAL_SOURCES, OBJS): List it. + + * as.h (DEBUG): Don't define. + (struct expressionS, struct fix): Declare in case they're used in + prototypes. + (add_to_literal_pool) [BFD_ASSEMBLER]: Declare. + + * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names + in bfd. + + * subsegs.c (subseg_get): New function. Creates segment if + needed, returns pointer, but doesn't change current segment. + (subseg_new): Use it. + +Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search. + * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/". + * app.c, flonum.h, hex-value.c (const): Change #if to be more + portable. + +Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa + micro-kernel. + +Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * write.c (write_relocs): bfd_perform_relocation now takes an + additional argument, to return an error string (which we ignore). + +Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * write.h (struct fix): Field tc_fix_data should be type PTR, not + void*, for compatibility with non-ANSI compilers. Added + single-bit field "fx_done". + +Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com) + + * tc-hppa.c (pre_defined_registers): Convert to lower case. + Delete spurious register names "%r4L", etc. + (selector_table): Sort and convert to lower case. + (cons_fix_new_hppa): `reloc_type' => `rel_type'. + (pa_ip): Always use strcmp for non-text and strcasecmp for text. + (reg_name_search): Rewrite to call strcasecmp only once per + iteration. + (pa_chk_field_selector): Rewrite to use binary search. + (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons. + (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case + sensitive comparisons. + (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case. + (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use + case sensitive comparison for all symbolic names. + (pa_subspace): Canonicalize strncasecmp arg to lower case. + (pa_subspace_start): Use case sensitive comparison for symbolic names. + +Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no + symbol is present (i.e., relocation against absolute), create a + phony local symbol, and use it in the reloc. + (fixup_segment): When adjusting a reloc with an absolute symbol, + have TC_FORCE_RELOCATION control clearing add_symbolP too. + * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF. + + * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT + and BSF_GLOBAL, since they're the same. + + * as.c (main): Only invoke md_end if it's defined as a macro. + * tc.h (md_end): Don't declare it. + * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do + anything. + * config/tc-vax.c (vip_end): Deleted null function. + * config/tc-mips.c (md_mips_end): Renamed from md_end. + * config/tc-mips.h (md_mips_end): Declare. + (md_end): New macro, calls md_mips_end. + + * write.c (write_object_file): Don't close output file. + * as.c (main): Close output file (if needed) after calling + listing_print, which should be after calling write_object_file, + which sets the frag addresses. + + * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line, + obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type, + obj_coff_val): Add unused int argument to satisfy prototypes; goes + with Ian's 10 Sep changes. + (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS, + S_SET_STORAGE_CLASS): Now function instead of macros. + (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted. + (tag_insert): Local var ERROR_STRING is const. Use "const" not + "CONST" for argument NAME. Fixed prototype. + (coff_frob_symbol): Removed explicit "#if 1" directive. If + S_IS_EXTERNAL, set storage class to C_EXT. + (s_get_name): Use "const" not "CONST". + * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE, + S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted. + (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For + BFD_ASSEMBLER, define as macro that aborts. + (obj_extra_stuff, tc_headers_hook): Declare only for + non-BFD_ASSEMBLER. + (coff_frob_symbol): Fix prototype. + +Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense + reversed. + +Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_begin): Initialize "dummy_label". + (tc_gen_reloc, SOM version): For relocations which have no symbol, + set sym_ptr_ptr to dummy_label. Avoids lossage in generic BFD code. + +Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * read.c (lex_type): No longer make '[' a valid character for + symbol names. + + * config/tc-vax.c (tc_aout_fix_to_chars): Local variable + NBYTES_R_LENGTH now const. + + * config/obj-*.c, config/tc-*.c: Omit superfluous "return" + statements at ends of functions. Don't check for null return from + hash_new, since it won't return at all if there's no memory + available. Also, check for null return from hash_insert, rather + than zero-length string, as success indicator. + + * subsegs.c (section_symbol): New function. + * subsegs.h (section_symbol): Declare. + * write.c (adjust_reloc_syms): Use it. + +Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in (RUNTEST): New variable. + (CHECKFLAGS): Pass it down. + + * ecoff.c (ecoff_directive_frame): Permit extra trailing operands; + unused for now, but supplied by Alpha OSF1 compiler. + + * as.h: Protect against multiple inclusions. + (int_to_gen): Don't declare. + + * config/atof-vax.c (atof_vax): NULL is not a valid character + constant. + +Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*-osf*): Do not consider this a developmental + configuration. + + * config/tc-hppa.c (md_apply_fix): Handle cases where no + relocation will be emitted for 32bit formats. + +Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust + for any of the 'T' field selectors. + +Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/tc-h8500.c (build_bytes): Get reloc type right for a + %page operation. (md_assemble): Don't modify input_line_pointer. + (mdcoff_sizemachdep): New function. + * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro. + * config/tc-z8k.c (get_operand): Delete bogus check. + +Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * write.c (number_to_chars_*): Delete bogus range check. + + * output-file.c (TARGET_ARCH): No default. + +Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/tc-sh.c (md_convert_frag): Truncate disps before calling + md_number_to_chars. (md_assemble): Don't modify + input_line_pointer. + +Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/tc-h8300.c (md_assemble): Don't update input_line_pointer. + +Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/obj-som.[ch] (obj_read_begin_hook): Remove last change. + Breaks with the HP compilers. + + * config/tc-hppa.c (struct call_info): Remove fields which were + set but never used. Remove all code which sets those fields. + (struct subspace_dictionary_chain): Likewise. + (struct space_dictionary_chain): Likewise. + (pa_desc): Delete useless function. Delete all references. + (hppa_tc_make_sections): No need to count the number of symbols for + the symbol extension section. + +Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/obj-som.c (obj_som_version): Pass version string to + SOM BFD backend. + (obj_som_copyright): New function. Much like obj_som_version. + + * config/tc-hppa.c (obj_copyright): Define as appropriate for + SOM and ELF. + (pa_copyright): Just a stub now. + + * config/obj-som.c (obj_read_begin_hook): Delete unused function. + * config/obj-som.h (obj_read_begin_hook): Provide dummy definition. + (TARGET_SYMBOL_FIELDS): Delete. SOM isn't making use of them. + + * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation + expansion due to rounding mode selectors. Handle R_[RDSN]_MODE + relocations for selecting the current rounding mode. + + * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and + e_rlsel field selectors. + +Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-elf.h: If ECOFF_DEBUGGING, undef + SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define + OBJ_PROCESS_STAB to call ecoff_stab. + * config/obj-elf.c: Don't compile obj_elf_init_stab_section if + INIT_STAB_SECTION is not defined. + +Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_apply_fix): Delete old wrapper function. + (md_apply_fix_1): Rename to md_apply_fix. Fix argument decls. + Fix comments in various places. Always return a value. + Avoid dereferencing a NULL fx_addsy. + (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy. + + Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu) + + * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should + be either 0 or 2 (no static link or static link required). Always + assume no static link. + +Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com) + + * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be + dependent on howto fields, not on format flavour. + + * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc, + defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those + macros are defined. + * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define. + (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define. + (sy_tc, sy_obj): Define so that the fields look like they used to, + until all references get changed. + + * write.c (fixup_segment): Lots of variables no longer register. + Reordered some code for easier reading. + * config/obj-coff.c (obj_coff_dim): dim_index no longer register. + Deleted superfluous return statement. + (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type, + obj_coff_val, tag_init, tag_insert): Deleted superfluous return + statement. + (align, obj_coff_section): Deleted debugging printfs. + * config/tc-i386.c (md_assemble): Discard some register decls. + Use assignment rather than memcpy to copy template. + (op_hash, reg_hash, prefix_hash): Default C initialization of + statics is sufficient. + * config/tc-sparc.c (print_insn): Array Reloc is now const, and + points to const. + + * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if + TE_LYNX; use coff-sparc otherwise. + [USE_NATIVE_HEADERS]: Delete this code; it isn't used. + + * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined, + before processing a fixup. Call TC_ADJUST_RELOC_COUNT just before + returning. Remove some i960-coff-specific code. + (TC_ADJUST_RELOC_COUNT): Default to doing nothing. + * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define. + (i960_validate_fix): Declare. + (TC_VALIDATE_FIX): Define. + * config/tc-i960.c (i960_validate_fix): New function. + + * write.c (number_to_chars_littleendian): New function. Write out + bytes in little endian order, doing size and range checking. + (number_to_chars_bigendian): New function, similar. + * write.h: Declare them. + * config/tc-*.c (md_number_to_chars): Use them. + * config/tc-vax.c (md_apply_fix): Ditto. + * config/tc-i386.c (md_apply_fix): Ditto. + + * config/obj-coff.c: Rearranged code for handling line number + data. + (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case, + since the usage is different from non-BFD_ASSEMBLER case. + (in_function, clear_function, set_function): New macros, to + combine some of the functionality implemented in differnet ways in + BFD_ASSEMBLER and non-... code. Used in other functions that used + to check function_lineoff &c. + (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER, + one for not. Non-BFD_ASSEMBLER version now has temporary variable + to contain char* pointer pointed to by char** argument. Always + follow CROSS_COMPILE code; easier to read that way. + (obj_coff_ln): Don't call add_lineno or c_line_new if appline is + set. + (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for + ".bf", it's been done elsewhere. + (coff_frob_symbol): If ilne number data is pending, call + add_linesym to flush it. + (coff_frob_file): Don't do that here. + * config/obj-coff.h (coff_frob_file): Declare. + (obj_frob_file): Define, to call it. + + * config/tc-sparc.h (md_create_short_jump, md_create_long_jump, + md_estimate_size_before_relax: Define them as macros calling + as_fatal. + * config/tc-sparc.c: Don't define them as functions. + + * configure.in: Handle target alpha-*-osf*. (No cpu files yet.) + +Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Makefile (clean): Depend on clean-here. + +Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/ho-go32.h: Include fopen-bin.h. + * as.h: If FOPEN_WB isn't defined, include fopen-same.h. + * output-file.c (output_file_create): Use FOPEN_WB instead of "w". + * input-file.c (input_file_open): Use FOPEN_RT instead of "r". + * listing.c (file_info): Use FOPEN_RB instead of "rb". + * read.c (s_include): Use FOPEN_RT instead of "r". + + * stabs.c: Include obstack.h. + + * tc.h (md_create_long_jump): Don't declare if it's already + defined as a macro. + (md_create_short_jump, md_estimate_size_before_relax): Ditto. + + * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead + of strerror. Clear bfd_error. + + * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already + defined. + +Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function. + (pa_process_exit, pa_procend): Call it for ELF objects. + +Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d + case. See comment. From wilson@cygnus.com: for M_L_DAB, set + coproc before doing goto ld. + +Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * write.c (TC_FORCE_RELOCATION): Provide a default definition. + (fixup_segment): Allow the target machine to specify that a + relocation must be generated for a particular fixup. Remove + #ifndef TC_HPPA hack. + + * config/tc-hppa.h (TC_FORCE_RELOCATION): Define. + + * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to + be NULL. Only fixup_segment is supposed to do that. + (hppa_force_relocation): New function. + +Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (stabs.o): Added dependencies. + + * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab. + +Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * app.c (do_scrub_next_char): Output a TAB before any + .app* directive. + + * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol + exists before trying to peek at its name. + (pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s + for testcase. + (pa_align_subseg): Delete unused/unwanted function. + +Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * read.c (read_a_source_file): Fix test for when to stick a colon + on the end of a label. Make code conditional on either MRI or + LABELS_WITHOUT_COLONS. + + * app.c (do_scrub_next_char): If a line begins with whitespace, leave + the single whitespace character alone. Eat all others. + + * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define. + +Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_procend): Do not call process_exit. + (exit_processing_complete): Delete unwanted variable and all + references. + +Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext. + Changed to not actually build the external symbol information, as + that is now done by the ECOFF back end. + (ecoff_build_debug): Changed accordingly. + * ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function + called by ecoff_setup_ext. + * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0, + set corresponding pointer to NULL. Don't set raw_size and + raw_syments. + (obj_ecoff_set_sym_index): Removed. + (obj_ecoff_set_ext): New function. + * config/obj-ecoff.h (obj_set_sym_index): Don't define. + (obj_ecoff_set_sym_index): Don't declare. + * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr, + elf_set_index): New functions used for ECOFF_DEBUGGING. + (elf_frob_file): Reworked ECOFF debug generation to use + new functions in bfd/ecofflink.c. + +Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_def_subspaces): Only create the unwind + subspace for ELF. In the SOM world, the linker is responsible + for creating the unwind subspaces. + +Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-coffbfd.c: Use PARAMS rather than EXFUN. + (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is + already set. Fixes .def var; .val external_var; .scl 3; .endef. + (adjust_stab_section): Make static. Declare return type. Remove + unused variables. + + * config/tc-i386.h: Declare tc_coff_fix2rtype and + tc_coff_sizemachdep. + +Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * write.c (write_object_file): Disable obj_check_file_symbols + hook; only back end using it wasn't using it correctly. + (write_object_file): Always call obj_frob_symbol and + tc_frob_symbol; always retain symbol if it's used by a relocation, + regardless of what these routines indicate. + * config/obj-coff.c (coff_frob_symbol): Renamed from + coff_check_file_symbols. + * config/obj-coff.h (obj_check_file_symbols): Deleted. + (coff_frob_symbol): Declare. + (obj_frob_symbol): Call it. + + * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings, + obj_pre_write_hook): Don't define for BFD_ASSEMBLER. + (c_section_header): Ditto. Delete superfluous return at end of + function. + + * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify + coff-sparc-lynx. + (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER + too. + (c_section_header): Rewrite prototype so that it contains no + preprocessing directives. Don't declare it at all if + BFD_ASSEMBLER. + + * configure.in (sparc*-*-lynxos): New target, using coff and + BFD_ASSEMBLER. + + * stabs.c: New file. + * Makefile.in (REAL_SOURCES, OBJS): List it. + * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME, + get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc): + Moved to new file. + + * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf + files. + +Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (mips-*-irix5*): New target. Use elf and mips-big. + * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h. + (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF + pseudo-ops. + (obj_read_begin_hook): If ECOFF_DEBUGGING, call + ecoff_read_begin_hook. + (obj_symbol_new_hook): If ECOFF_DEBUGGING, call + ecoff_symbol_new_hook. + (obj_elf_init_stab_section): Cast alloca result. + (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging + information and write it out into .mdebug section. + * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro. + (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS. + (ECOFF_DEBUGGING): Define if TC_MIPS. + (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add + fields required by ECOFF. + * config/tc-mips.c: Check ECOFF_DEBUGGING rather than + OBJ_ECOFF in many cases. + (mips_any_noreorder): New variable. + (mips_cprestore_offset): Initialize to -1. + (mips_frame_reg): New variable. + (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1, + RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros. + (md_pseudo_table): Handle "gpword" and "cpadd". + (md_begin): Initialize ok to false. If OBJ_ELF, set alignment + of text, data and bss sections to 4. Set alignment of + .reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug + section. + (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment + check. + (append_insn, macro_build, macro_build_lui): Take place + argument. Changed all callers. + (append_insn): If appending a nop, don't emit one. + (macro_build): Changed assertion for 'i', 'j', 'o' case. + (gp_reference): Removed. + (load_address): New function. + (macro): If mips_noreorder is used, set mips_any_noreorder. + Extensive changes to handle GP and PIC symbols differently. + Build both possible code choices using a variant frag, and + make a final decision at the end of assembly when all + information is known. Added PIC support for all symbol + references. + (mips_ip): Don't permit anything but a number after $ for a + coprocessor register. Don't use .lit4 or .lit8 sections when + generating PIC code. If OBJ_ELF, set alignment of .lit4 or + .lit8 section to 4. + (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs. + (s_change_sec): Set alignment of ELF .rodata or .sdata section + to 4. + (s_mipsset): If .set noreorder, set mips_any_noreorder. + (s_cpload): Ignore .cpload if not generating PIC code. Warn + if .cpload is not in noreorder section. + (s_cprestore): Ignore .cprestore if not generating PIC code. + (s_gpword, s_cpadd): New functions. + (tc_get_register): Added frame argument; if true, set + mips_frame_reg to return value. Changed all callers. + (md_estimate_size_before_relax): Don't error out, but instead + determine how much a frag should grow. + (tc_gen_reloc): Return multiple relocs if appropriate, as + determined by md_estimate_size_before_relax. + (md_convert_frag): New function. + (mips_elf_final_processing): Set ELF header flags based on + mips_any_noreorder and mips_pic. + * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define. + (MAX_RELOC_EXPANSION): Define to be 3. + (md_relax_frag): Define to be 0. + (md_convert_frag): Don't define. + (tc_get_register): Changed declaration. + + * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to + support generating ECOFF debugging information for MIPS ELF + targets. Compiled only if ECOFF_DEBUGGING is defined. Changed + handling of external symbols: it now always generates exactly + those external symbols that are defined in the global symbol list. + * Makefile.in (REAL_SOURCES): Added ecoff.c. + (REAL_HEADERS): Added ecoff.h. + (OBJS): Added ecoff.o. + (ecoff.o): New target. + * config/obj-ecoff.c: Almost entirely moved into ecoff.c. + Remaining code mostly just calls ecoff.c code. + * config/obj-ecoff.h: Define ECOFF_DEBUGGING. + (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a + struct localsym. + (obj_read_begin_hook, obj_symbol_new_hook): Define to call + functions in ecoff.c. + (ecoff_stab): Don't declare (now declared in ecoff.h). + (obj_set_sym_index): Define. + (obj_ecoff_set_sym_index): Declare. + + * frags.h (frag_grow): Declare. + * frags.c (frag_grow): Made non-static. + + * write.c (is_dnrange): Do not define if md_relax_frag is defined. + (relax_segment): If md_relax_frag is defined, use it to handle a + frag of type rs_machine_dependent rather than looking through + md_relax_table. + + * read.c (read_a_source_file): If we find a bad pseudo-op, + do a continue to go on to the next line rather than a break. + Removed duplicate bad pseudo-op code which was never executed. + + * read.c (s_lcomm): Do not require a comma after the name. + + * subsegs.h (segment_info_type): Changed hadone field to bitfield. + Added bss bitfield. + * as.c (perform_an_assembly_pass): Set bss flag for bss_section. + * read.c (s_lcomm): Set bss flag for .sbss section if used. + * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a + bss section. Set SEC_RELOC if there are any relocations, even for + a zero size section. + + * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base + data offset on reloc[0]->address rather than reloc[j]->address, so + that multiple relocs can affect different memory locations. + + * write.c (chain_frchains_together, relax_and_size_seg, + adjust_reloc_syms, write_relocs): Make third argument PTR, not + char *, to match definition of bfd_map_over_sections. + + * app.c (do_scrub_next_char): Don't interpret a comment character + as starting a CPP line directive unless it is a '#' and is the + very first characters on the line (i.e., do not permit leading + whitespace). + + * messages.c (identify): Make file argument non-const, to match + callers. + +Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check. + +Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com) + + * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too. + * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7 + relocs. + +Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.[ch]: Fix assorted trivial indention problems. + * config/obj-som.c (obj_som_version): Add missing ';'. + (som_frob_file): Delete whitespace at EOL. + +Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (VERSION): Updated following 2.2 release. + +Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (hppa_fix_struct): Use a real type for the + field selector, rather than an int. All uses of field selectors + fixed. + (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now. + (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL + field. + + Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_type_args): For .import statements, + silently ignore attempt to change the symbol type for a function + from ST_ENTRY to ST_CODE on .import. + +Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * write.h (fixS): Rename fx_callj field to fx_tcbit. + * write.c, config/obj-coff.c, config/obj-coffbfd.c, + config/tc-i960.c: Corresponding changes. + +Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Makefile.in (distclean): Delete config-stamp and config.h + + * config/tc-hppa.c (evaluate_absolute): Avoid relying on + ANSI-C features. + + * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args. + Accept new argument "is_export". All callers changed. When + processing a .export directive for a function, do not allow + the user to set the type to "CODE", instead warn and set the + type to "ENTRY". + +Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted + Lemon ). + (mips_ip): Permit odd numbered floating point registers if -mips3. + (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS. + +Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Remove h8300h, we have multilib now. + +Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com) + + * configure.in: Support generic netware as being ELF format. + Recognise unixware if the user supplies it. + +Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * First cut at cleaning up PA instruction parsing. + * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to + insn structure as an argument, and a pointer to a string. All + callers changed. Always read any field selector here. Call + evaluate absolute to get a return value. + (evaluate_absolute): Addept pointer to insn structure as its + argument. All callers changed. + (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield + into an instruction and continuing the main pa_ip loop. + (CHECK_FIELD): New macro for simple range checking of fields. + (pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE + and CHECK_FIELD. All immediate fields now pass through + pa_get_absolute_expression which will also handle field selectors. + Delete dead code. Simplify. + (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are + applied are in range. Use bfd_put_32 rather than inserting each + byte of the fixed instrution into the buffer ourselves. + + * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code, + it was PA specific and is no longer needed (it's now handled + within the PA backend). + * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition. + * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for + a fixup is $global$ change it to NULL as $global$ is really only + needed long enough to determine the base type of relocation to use. + + * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined. + + * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work + for 'z' operands (target of ble branch). + +Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c: (update_subspace): Fix type and name of last + parameter. All callers fixed. + (md_begin, pa_chk_field_selector, pa_entry): Lint. + + * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector + to default state after it's been used. + +Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/obj-som.c (obj_som_init_stab_section): Change + space/subspace sort keys for the stab sections so as to avoid + bugs in the hp linker and pxdb. + +Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * write.c (chain_frchains_together): Update pointer to last + frag for a segment in the seginfo structure. + +Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS + +Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * write.c (fixup_segment): Handle conversion of subtraction to + pc-relative addressing even if pc-relative flag is already set. + + * config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't + declare either. + + * doc/Makefile.in (distclean): Delete intermediate files from dvi + build, but not the dvi or info files. + * Makefile.in (clean-here): New target; cleans up current + directory only. + (distclean): Use it instead of clean. + + * read.c (s_xstab): Don't use alloca. + + * messages.c (identify): New routine; print message identifying + following messages as coming from assembler. + (as_show_where, as_bad_internal, as_bad_where): Call it. + (as_fatal): Don't need to identify program any more. + +Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Add default case to reloc switch. + + * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as + well as MIPS ECOFF. + (get_stab_string_offset): Remove unused variable aligned. + +Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the + predefined register table. + (pa_parse_number): Handle %rp in common register shortcut code. + Consistently set return value to -1 for an error. Clean up error + messages and only print them when "print_errors" is true. Handle + empty string case like the HP assembler -- assume a value of + zero. + + * config/ho-hpux.h: Do not include ho-sysv.h. Instead include + standard hpux include files to pick up various function decls. + + * config/ho-hppaosf.h: Delete _IO* macros. They are defined in + stdio.h. Delete bogus declaration of free. Get path to + alloca-conf.h right. + +Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * expr.c (operand): Fix checks for characters following "0b" or + "0f". + +Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/obj-som.h (obj_attach_unwind_info): Define as a hook + so GAS can attach unwind descriptor information to a BFD symbol. + * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind + descriptor information to the BFD symbol. + (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied", + they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF + dependent. + (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent. + (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM. + (pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not + build "end-of-function" symbols for SOM, they are not needed. + + * config/tc-hppa.c (process_exit): Create temporary symbols with + correct prefixes so they can be eliminated later. + + * config/tc-hppa.c (call_info struct): Delete unused "frame" field. + (pa_callinfo): Insert framesize into the unwind information as + soon as it's available. + (pa_build_unwind_subspace): Do not insert framesize into the unwind + information here. + + * Add support for marker type relocations. These mark areas + of interest to the linker. ENTRY/EXIT relocations for SOM are + an example of marker relocations. + * write.c (write_relocs): Instead of assuming size of a relocation + is 4 bytes, pick up the size from relocation itself. + (fixup_segment): Do not complain that a value is too small for + marker relocations. + + * struc-symbol.h: Add new "sy_used" field to the symbol structure. + * expr.c (operand): Set sy_used for any symbol used as an operand. + (expr): Likewise for any symbol used in an expression. + * config/tc-hppa.h (tc_frob_symbol): Define. Punt imported + symbols which are never used and absolute symbols which local scope. + + * config/obj-som.h (obj_frob_file): Define. + * config/obj-som.c (obj_som_init_stab_section): Set alignment + of stab sections. Make space for the special stab entry. + (adjust_stab_sections): Adjust the special entry in the + stabs section. + (som_frob_file): New function. Simply calls adjust_stab_sections + for each section. + +Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define. + (mips_pic, mips_cprestore_offset): New static variables. + (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore. + Ignore .bgnb and .endb. + (gp_reference): _gp_disp is never addressed off GP. + (macro_build): Ignore macros while searching for insn. For cases + i, j, and o, accept the reloc type as an argument rather than + assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to + BFD_RELOC_MIPS_GPREL. Added new case a. + (set_at, load_register, macro): Changed calls to macro_build to + pass new argument for i, j and o cases. + (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require + special handling when generating SVR4 PIC code. + (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT + rather than hard coded constants. + (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and + BFD_RELOC_MIPS_CALL16. + (s_option): Set mips_pic based on .option picN. + (s_abicalls): New function; set mips_pic to 2. + (s_cpload): New function; handle .cpload. + (s_cprestore): New function; handle .cprestore. + + * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb, + .endb and .verstamp, setting them to s_ignore. + +Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined + field. Define SUBSPACE_DEFINED accessor macro. + (pa_subspace): Allow user to override subspace attributes for + built-in subspaces. Set ssd_defined at the end of fcn -- that + way the attributes can only be changed once. Pass newly allocated + name to is_defined_subspace, not a pointer to the input line. + Fix typo in space/subspace rework. + (is_defined_subspace): Delete unused 2nd arg. All callers changed. + + * config/tc-hppa.c (pa_import): If currently in the text segment + and a symbol is imported without type information, set BSF_FUNCTION + for the symbol. + * write.c (relax_and_size_seg): Correct test to determine if + the section's size was rounded up. + + * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS + can properly set all the SOM symbol types. + * config/tc-hppa.c (pa_symbol_type): New enum to represent the + symbol types which can be set from an IMPORT/EXPORT statement. + (pa_export_args): Set the pa_symbol_type type based on arguments. + If defined, call obj_set_symbol_type to pass this information on + to the BFD backend. + + * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any + stab section we make. + (s_stab_generic): Likewise. + +Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Allow backends to override the value of the fake label. + * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead + assume backends will define LOCAL_LABEL if anything other than + 'L' is used to denote a local label. + (FAKE_LABEL_NAME): New macro. Defines the default name used for + the "fake" label. + * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code + and instead simply use the string defined by FAKE_LABEL_NAME. + (operand): Likewise. + * read.c (s_stab_generic): Likewise. + * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's + known to be a local label. + * config/tc-i386.h (DOT_LABEL_PREFIX): Delete. + (LOCAL_LABEL, FAKE_LABEL_NAME): Define. + * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete. + (LOCAL_LABEL, FAKE_LABEL_NAME): Define. + * config/te-sco386.h (DOT_LABEL_PREFIX): Delete. + (LOCAL_LABEL, FAKE_LABEL_NAME): Define. + + Rework space/subspace handling in PA code to fully support + SOM spaces/subspaces. + * config/tc-hppa.c (USE_ALIASES): New object-format dependent define + to control the use of space/subspace name aliases. + (update_subspace): Accept space chain entry for containing space + as a new parameter. All callers changed. + (pa_get_label): Use current_space rather than pa_segment_to_space. + (pa_define_label): Likewise. + (pa_undefine_label): Likewise. + (md_begin): Change into the (possibly modified) text_section. + (pa_parse_space_stmt): Create a new segment/space if create_flag + is true, and the space name is not one of the two predefined spaces. + (pa_subspace): Use current_space rather than a lookup via + pa_segment_to_space. Reset BFD section flags as required by + the .subspace directive. Likewise for the section alignment. + Pass the current space to update_subspace and create_new_subspace. + (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES + is true. When not using aliases, create a BFD section for each + subspace encountered. When not using aliases replace the default + text, data, and bss segments with new ones. + (create_new_subspace): When not using aliases each subspace has a + section/segment and subsegments are not needed, so set the subsegment + to zero. + + * config/tc-hppa.c (pa_parse_space_stmt): If needed, call + obj_set_section_attributes to pass space attributes to the + BFD backend. + (create_new_space): Likewise. + (create_new_subspace): Likewise for subspace attributes using + obj_set_subsection_attributes. + (update_subspace): Likewise for subspace attributes using + obj_set_subsection_attributes. + + * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key + for $TEXT$ and $PRIVATE$ from the default space structure. + + * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION + as appropriate for the given type. + + * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling + SOM relocations. + + * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol + redefinition. + + * config/obj-som.[ch]: New files for SOM support. Note SOM + support is not yet complete in GAS or BFD. + + * config/ho-hppabsd.h: Delete IO* macros, they are defined in + stdio.h. Delete declaration of free. Include stdlib.h, unistd.h, + and string.h. + +Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Allow backends to override the section names used for embedded + stabs support. Needed for SOM. + * read.c (STAB_SECTION_NAME): Default the name of the stab section + to ".stab". + (STAB_STRING_SECTION_NAME): Likewise for the stab strings section. + (get_stab_string_offset): Is now passed the full name for the + stab string section rather than a name prefix. All references + changed. + (s_stab_generic): New argument for the stab string section name. + all references changed. + (s_xstab): Append "str" to the stab section name to get the + stab string section name. + * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str" + to stab section name to get the stab string section name. Pass + the full name of the stab string section to get_stab_string_offset. + * config/obj-elf.c (obj_elf_init_stab_section): Likewise. + + * config/tc-hppa.c (md_begin): Disable "-R" option to fold + textand data segments. Warn user "-R" is unsupported on the + PA. + +Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for + .align and .ALIGN directives. + + * config/tc-hppa.c (pa_space): Do not report an error for a .space + directive which does not define a "well-known" space and does + not include a space number as an argument. + + * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the + "defined", "loadable", "code_only" and "space_index" fields. + (pa_def_spaces): Correct initialization of the "spnum", "defined", + and "private" fields. + + * write.h (struct fix): Add new tc_fix_data field for the various + backends to attach machine dependent fixup information to. + * write.c (fix_new_internal): Initialize new tc_fix_data field. + * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and + fx_next fields. + (hppa_find_hppa_fix): Delete unnecessary function. Fix all + callers to get HPPA fixup information from the tc_fix_data field + in the GAS fixup. + (hppa_fix_root): Delete unnecessary variable. + (fix_new_hppa): Attach HPPA fixup data to the GAS fixup. + + * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted + function. Fix all callers. + (subspace_dictionary_chain): Delete unused ssd_start_sym field. + + * config/tc-hppa.c (hppa_fix_adjustable): New function to determine + if a particular fixup is adjustable. + * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to + perform the real work. + + * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out + of OBJ_XXX conditionals. + (MAX_RELOC_EXPANSION): Likewise. + + * config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all + callers. Now returns log2 (N) for positive N which are an exact + power of two or -1 for an error. + + * config/tc-hppa.c (pa_callinfo): Range check values provided for + ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before + inserting them into the unwind table. + + * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references. + (hppa_gen_reloc_type): New object format dependent macro. + (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF + conditional. The code can (and will) be shared between SOM & ELF + formats in the near future. + (cons_fix_new_hppa, md_apply_fix_1): Likewise. + (pa_build_unwind_subspace, process_exit, pa_exit): Likewise. + (tc_gen_reloc): Use hppa_gen_reloc rather than an object format + specific call. + + * config/tc-hppa.c (pa_comm): Set the segment for a common symbol + to bfd_und_section. + + * config/obj-elf.h (obj_elf_version): Add extern prototype. + + * configure.in (hppa-*-bsd*): New configuration. + BFD is always used for GAS generating SOM objects. + + * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an + adjustment is rejected by the target machine. + + * config/tc-hppa.c (pa_big_cons): Delete function and its + declaration. All callers changed to use pa_cons. + + * write.c (fixup_segment): Fix indention and open/close brace + problem. + + From Pete Hoogenboom: + * config/tc-hppa.c (md_atof): Return a NULL on success rather than + an empty string. + + * config/tc-hppa.c (pa_parse_space_stmt): Advance + input_line_poitner when an invalid argument is encountered. + +Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-a29k.c (md_begin): When opcodes are mashed together in + the table, require that the one without bit 0x1000000 set come + first. Require further that it be case 'b' or 'P'. The a29k + opcode table already meets these constraints. + (machine_ip): When handling case 'i' or 'A', make sure that the + appropriate opcode really exists by looking at the next entry in + the opcode table. + +Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative + fixups. Add 6 for long 7.3 case, 2 for short 7.2 case. + + * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number + after a .ent directive. + + * config/tc-mips.c (mips_ip): Handle '>' case (shift amount + between 32 and 63 for double shift instruction). Do & 0x1f rather + than % 32. + (printInsn): Handle '>'. + +Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol + number in the right place. Untested. Probably does not work for + cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney). + + * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses + an illegal offset of 0 or -1. + + * config/obj-elf.c (obj_elf_init_stab_section): Align .stab + section to a longword boundary. + +Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS. + + From Jeff Law: + * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND -> + HPPA_R_ADDEND. + +Mon Oct 25 14:06:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Fix up membar argument handling. + +Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * config/tc-sh.c (build_Mbytes): Write the relocs to the correct + address. (md_assemble): Make error handling a bit more graceful. + (md_apply_fix): Don't warn on non aligned displacement. + + * config/tc-z8k.c (get_specific, built_bytes): Understand all the + aspects of lda. + +Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * doc/Makefile.in (install-info): Use "$<*" so VPATH will find + as.info* even if they're in $(srcdir) (e.g., for FSF + distributions). + + * write.c (write_relocs): For relocs that are pc_relative and + pcrel_offset and not partial_inplace, adjust reloc->addend to + compensate for a bfd_perform_relocation bug. + + * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code. + * config/tc-sparc.c: Ditto. + (tc_gen_reloc): Include fx_offset for pcrel fixups. + +Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com) + + * tc-mips.c (md_pseudo_table): Add dword pseudo op. + +Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * messages.c: replaced all variables called Format with 'format', + for consistency throughout + + * configure.in: handle mips*- instead of mips, mips*el for little + endian configurations + +Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * input-scrub.c (physical_input_file, logical_input_file, + physical_input_line, logical_input_line): Made static. + (as_where): Return current file name and line number, don't print + them out. + * messages.c (as_show_where): New static function. Other + functions use it instead of as_where. + (as_bad_internal): New static function. + (as_bad): Use as_bad_internal. + (as_bad_where): New function, like as_bad but taking a file name + and line number. + * as.h (as_bad_where): Declare. + (as_where): Change prototype for new arguments. + * write.h (fixS): Added fields fx_file and fx_line. + * write.c (fix_new_internal): Save file and line number in fix. + (fixup_segment): Use as_bad_where, not as_bad. + * input-file.c (f_in, file_name): Made static. + * cond.c (struct file_line): Just use file and line fields. + (s_else): Use as_where and as_bad_where, not get_file_line and + set_file_line. + (get_file_line, set_file_line): Removed. + * listing.c (listing_newline): Use as_where. + * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where. + * config/obj-ecoff.c (add_file): Use as_where. + * config/obj-elf.c (obj_elf_init_stab_section): Use as_where. + * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where. + * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert. + +Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com) + + * config/tc-m68k.h: Don't define REGISTER_PREFIX or + OPTIONAL_REGISTER_PREFIX if either is already defined. + + * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0". + + * configure.in: Set bfd_gas for all sparc targets. Added facility + for keeping or rejecting configurations still under development; + default is to assume production environment, and reject configs + still being worked on. Mark Elf configurations (except sparc and + i386) as developmental. Deleted cases matching some generic names + in favor of more specific names. (E.g., when we get Alpha + support, we'll still only support VMS for Vax.) + + * config/tc-sparc.h (md_end): New macro. + * config/tc-sparc.c (md_end): Function deleted. + (BFD_RELOC_*): Delete macros that used to help keep the non-bfd + version compiling. All sparc targets will use bfd now. + * tc.h (md_end): Don't declare if it's defined as a macro. + + Changes from Jeff Law and Peter Hoogenboom: + + * read.c (next_char_of_string): Limit octal character constants to + three digits. + + * config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn + against placing additional object-file dependent code here. Warn + against contaminating all of GAS with the internals of tc-hppa.c + through inclusion of tc-hppa.h. Delete all forward declarations + for functions only used within tc-hppa.c, likewise for structures, + variables, and #defines. Try to group OBJ_ELF and OBJ_SOM + conditional code in a few small places. + + * config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group + structures, global variables, forward declarations together. + Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM + conditional code -- try to group conditional code together + into a few places. Make all functions and variables which + are only used within tc-hppa.c static. PARAMize all functions. + Add comments to functions. Delete unused functions, variables, + #defines, etc. Delete unused members within structures. Delete + ldil;ble hacks -- it is believed they were installed to work + around old gas bugs. Avoid using mixed case for local + functions, variables, and structures. Fix formatting problems + not found by GNU-indent. Add FIXME notices for things which + should be worked on the near future. Delete lots of old + useless (1.36 PA-SOM) code. + + * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type + field of the fixS structure. Needed to build unwind + descriptors correctly. + + * write.c: (fixup_segment): Allow expressions such as + sym1-sym2+const as long as sym2 is $global$. + + * write.c (adjust_reloc_syms): Provide a hook so that a target + cpu configuration can reject certain relocation reductions. + * tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations + which do not involve function symbols. + + * config/tc-hppa.h: Reindent with GNU-indent. Delete references + to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused + STAB_FIXUP macro. + * config/tc-hppa.c: Likewise. + + * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead + of elf32_symbol_type. + (pa_export_args): Likewise. + (elf_hppa_final_processing): Likewise. + (pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed + anymore?) + (hppa_tc_make_sections): Do not declare elf_get_symtab_map any + ore. + + * config/tc-hppa.c: (md_section_align): Align all sections to + a multiple of the section alignment rather than always a + multiple of 8. + + * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation + bits are zero (eg they specify no relocations), then do not even + bother adding their entries to thesymextn section. + +Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc + option, which is used by the SunOS make default .s.o rule. + +Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs + operating on upper 32 bits of immediate constants to lower-half + relocs with adjusted constants. + +Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable + m68k_aout_machtype. + * config/tc-m68k.c (omagic): Remove obsolete and unused variable. + (m68k_aout_machtype): New variable, if OBJ_AOUT. + (md_assemble): Initialize m68k_aout_machtype based on + current_architecture, if OBJ_AOUT. + (md_parse_option): Remove obsolete reference to omagic. + +Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op. + (s_option): Ignore .option O* and .option pic*. + (s_ent): Skip whitespace between symbol and optional digit. + (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx). + + * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape + characters in state 6. + * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are + hexidecimal digits. + + * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work + for ELF by hacking around bizarre bfd_perform_relocation behaviour + that I don't dare change. + +Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org) + + * config/tc-i386.c: (md_begin): Do not zero static arrays. Don't + call strchr for each character to see if it is a special char, + instead add a second loop over special_chars. Set alignment + of text, data and bss sections to 4. + (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be + used again. + (reloc): Don't return 8 and 16 bit non-PC relative relocations on + ELF, since the ELF object format does not have these type of + relocations. Change the abort into as as_bad and return + BFD_RELOC_NONE to silence compiler warnings. + (md_assemble): Keep track of the instruction size. Allow white + space between the $ and the constant for compatibility with older + gases and other assemblers. + (i386_operand): Skip spaces between $ and expression. + (tc_gen_reloc): Don't allow anything but 32 bit relocations on + ELF. Convert abort into an as_bad and assert into as_fatal. + +Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If + sub_symbolP is in the current segment, convert to a PC-relative + fixup and discard the symbol. + +Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol + for st_StaticProc just like st_Proc. + + * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT + so that OBJ_BOUT doesn't forget to adjust all the fragments in the + .bss section. + +Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c: If OBJ_ELF, include elf/mips.h. + (mips_regmask_frag): New static variable, if OBJ_ELF. + (md_begin): If OBJ_ELF, create .reginfo section and set + mips_regmask_frag to a frag. + (mips_elf_final_processing): New function, if OBJ_ELF. Set + mips_regmask_frag to register mask information. + * config/tc-mips.h (elf_tc_final_processing): New macro, defined + if OBJ_ELF. + +Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * messages.c (as_fatal): Use myname when printing messages. + + * config/tc-i960.c (md_begin): Use null pointer, not empty string, + as initial "return" value in case hashing isn't needed. + + * config/tc-a29k.c (md_atof): Return null, not empty string, on + success. + * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof), + config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof), + config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof), + config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto. + +Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + fix for pr 3571 + * config/tc-h8300.c (get_specific): Special action if 8 bit + address seen. (check_operand): Don't complain if truncating top + bits of an 8 bit address. (build_bytes): Allow an immediate and + an absolute in the same insn. + +Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * write.c (write_contents): Don't crash if seginfo is NULL. + + * config/obj-ecoff.c (ecoff_frob_file): Write out register masks + by modifying .reginfo section, not by directly modifying BFD + backend data. + +Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config/ho-sunos.h: remove extern time declaration + +Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * messages.c (as_fatal): Do mention that it's the assembler that + got the fatal error. + +Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to + hold register masks. + (md_begin): Initialize them to zero. + (append_insn): Update mips_gprmask and mips_cprmask. Also add + register variables pinfo and prev_pinfo. + * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare. + * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask + and cprmask from mips_gprmask and mips_cprmask. + + * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF. + * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF. + (various): Change all references to GP references to apply if + GPOPT, not if OBJ_ECOFF. + (s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata + instead of .rdata. If OBJ_ELF, set section flags for .rodata and + .sdata sections. + (s_frame, s_loc, s_mask): Comment out entire functions, rather + than just body. They're not used anyhow. + * configure.in: Set cpu_type to mips for mips*. Accept + mips-*-elfl* and mips-*-elf*. + +Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org) + + * config/obj-elf.c (obj_elf_common): Allow the alignment field to + not be specified. + +Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (cons_fix_new_mips): New function. Turn + BFD_RELOC_64 into BFD_RELOC_32. + * config/tc-mips.h (TC_CONS_FIX_NEW): Define. + (cons_fix_new_mips): Declare. + + Changes to let cons handle bignums like general expressions. + * expr.h (expressionS): New field X_unsigned. + * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for + unary minus case. + (expr) Fix typo resultP to right if missing operand. Set + X_unsigned to 1 when building new expression. + * read.c (potable): Make "octa" and "quad" call cons, not + big_cons. + (cons): Handle bignums. If given an O_constant (small integer) to + fill a big space, turn it into a bignum. + (parse_bitfield_cons): Set X_unsigned field. + (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons): + Removed. + * read.h (big_cons): Remove prototype. + * symbols.c (resolve_symbol_value): Don't give a warning if a + symbol in expr_section can not be resolved. + (S_SET_VALUE): Clear X_unsigned. + * write.c (write_object_file): If resolve_symbol_value failed on a + symbol we are writing out, give a warning. + * config/tc-h8500.c (parse_reglist): Set X_unsigned. + * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to + call pa_cons, not pa_big_cons. + (pa_big_cons): Remove. + * config/tc-hppa.h (pa_big_cons): Remove declaration. + * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons, + not big_cons. + +Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * doc/as.texinfo (Copying): new node, to handle the recent changes + in the texinfo/gpl.texinfo file + +Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * read.c (big_cons): Handle "0" correctly. + + * config/tc-mips.c (md_begin): Set target_big_endian correctly. + +Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should + have pc-relative fixup. + (md_parse_option): Move "-k" case down near "-pic" case. + + * configure.in: Alphabetize list of cpu type alternatives. Enable + OS values of "linux*elf*" and "linux*coff*" to select those + formats, with linux emulation. Don't bother checking for upper- + or mixed-case versions of "ose". + +Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * config/z8k.c (md_pseudo_table): add "unseg". + +Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes + found while extending the dissassembler. + +Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in: Split i386 LynxOS out from other coff targets, + add a specific Lynx emulation. + Add m68k LynxOS target. + * config/tc-i386.c: Define specific Lynx target format. + * config/tc-m68k.c: Define specific Lynx target format. + * config/te-lynx.h: New file. + + * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be + "coff-{i386,m68k}" if TARGET_FORMAT already defined. + (INIT_STAB_SECTION): Define. + * config/obj-coffbfd.c: Include . + (write_object_file): Look for .stab sections and call + adjust_stab_section. + (adjust_stab_section): New function, fills in the first symbol + of a stab section with number of symbols and string table size. + (obj_coff_init_stab_section): New function, creates the initial + symbol for a stab section. + +Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/atof-vax.c (md_atof): Return null on success instead of + empty string. + * config/atof-tahoe.c (md_atof): Ditto. + * read.c (float_cons): Expect a null pointer for success, not an + empty string. + + * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer + on success, instead of empty string. All callers changed. + + * config/tc-vax.c: Use PARAMS in declarations. + (vip_op): Use NULL instead of empty string for success in error + and warning fields. + +Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols + in different defined segments. + + * write.c (relax_segment): Localize "aim" variable. If + DIFF_EXPR_OK, don't impose checks on symbol segment types. + (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current + segment, convert to a PC-relative fixup and discard the symbol. + + * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored. + (md_parse_option) [TE_SUN3]: Set it for "-k". + (m68k_ip): Generate proper fixup for mode 7.3. + * config/tc-m68k.h (DIFF_EXPR_OK): Define. + +Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved + earlier in the file. + (insop, add_exp): Now defined as functions, for readability. + (insop): Now takes two arguments; callers changed. + +Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/tc-m88k.c (get_o6): new function. + (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg, + get_vec9, getval, get_pcr, calcop, match_name): make static and + prototype. + (s_file): remove extraneous forward decl. + (md_begin): add const to retval decl. + (calcop): cope with instructions without arguments. Handle 'o' + type argument, the o6 field of the prot insn. + (md_estimate_size_before_relax): return a dummy value. + + * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is + in bits 10 through 7. flt.[dxs]s requires an r register in the + second argument. New instruction lda.x. New instruction muls + (alias for mul). + +Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (distclean): Recurse like clean. + * doc/Makefile.in (distclean): New target. + + * config/tc-mips.c (md_begin): Set BFD architecture and machine + based on MIPS ISA level. + +Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * as.c (main): "exhausted", not "exhuasted". + + * struc-symbol.h (struct symbol): Add sy_used_in_reloc field. + * write.c (adjust_reloc_syms): Set sy_used_in_reloc. + (write_object_file): Never strip symbols with sy_used_in_reloc + set. + + * config/obj-elf.c (obj_elf_section): Rewrote to handle both + Solaris and SVR4 style .section pseudo-ops. + (obj_elf_ident): Set SEC_READONLY for .comment section. + * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're + generating a reloc, don't apply a fix. + +Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-coffbfd.c (relax_align): Now static. + +Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * read.c (get_stab_string_offset): Make non-static. Make + arguments const. Don't align strings to 4 byte boundaries. + * read.h: Declare get_stab_string_offset. + * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as + SEC_LOAD for progbits section. + (obj_elf_init_stab_section): New function. + (adjust_stab_sections): Add casts to avoid warnings. + * config/obj-elf.h (INIT_STAB_SECTION): Call + obj_elf_init_stab_section. + (OBJ_PROCESS_STAB): Removed definition. + +Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-elf.h (S_GET_SIZE): Define. + (obj_frob_forward_symbol): Define. + * config/tc-i386.c (line_comment_chars): Initialize in all cases. + +Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * tc.h: Declare tc_gen_reloc differently depending upon + RELOC_EXPANSION_POSSIBLE. + * config/obj-elf.c (obj_elf_section): Only set flags when first + creating the section. + +Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (append_insn): Don't swap a trap instruction + with a branch. + +Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions; + set previous_section and previous_subsection and then call s_data + and s_text, respectively. + (obj_pseudo_table): Add data and text. + (obj_elf_section): Add SEC_LOAD to default initialization of + flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as + SEC_ALLOC for "alloc" string. Don't bother trying to find the + section; just use subseg_new. + + * read.c (change_to_section): Removed. This is now done by + subseg_new. + (get_stab_string_offset): Rearranged somewhat. Create the section + using subseg_new. Store the string index in seg_info, rather than + in a static variable. Force the first string to be empty. Use + frag_more rather than FRAG_APPEND_1_CHAR. + (s_stab_generic): Rewrote. + * subsegs.h (segment_info_type): Added stabu union. + * subsegs.c (subseg_new): Initialize stab_string_size to 0. + * config/obj-aout.c: Don't include aout/stab_gnu.h. + (obj_aout_stab, obj_aout_desc): Removed. + (obj_pseudo_table): Removed desc and stabX entries. + * config/obj-bout.c: Same changes as config/obj-aout.c. + * config/obj-bout.h (S_SET_TYPE): Define. + (tc_bout_fix_to_chars): Declare. + * config/obj-coff.c (obj_coff_stab): Removed. + (obj_pseudo_table): Removed desc and stabX entries. + * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define. + * config/obj-coffbfd.c (current_stab_symbol): Removed. + * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type, + n_other, n_desc and n_value fields. + (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed. + (MAKE_STAB_SYMBOL): Removed. + * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab. + Changed arguments and removed parsing code. + (obj_pseudo_table): Removed stabX entries. + * config/obj-ecoff.h (ecoff_stab): Declare. + (OBJ_PROCESS_STAB): Define. + * config/obj-elf.c: Don't include aout/stab_gnu.h. + (obj_elf_stab, obj_elf_xstab, obj_elf_desc, + elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic): + Removed. + (obj_pseudo_table): Removed desc, stabX and xstabs entries. + (obj_elf_version): Use subseg_new, not bfd_make_section. Don't + set SEC_LOAD for .note section. + (adjust_stab_sections): Get frag pointer from seg_info, rather + than looking through frags. + * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed. + (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB): + Define. + * config/obj-vms.c (obj_aout_stab): Removed. + (obj_pseudo_table): Removed stabX entries. + * config/obj-vms.h (S_SET_TYPE): Define. + + * as.h: Declare listing. + * read.c: Don't declare listing. + (emit_expr): Cast fix_new_exp argument. + (parse_bitfield_cons): Correct printf format. + * symbols.c (symbol_new): Add cast to avoid warning. + * write.h: Declare text_last_frag and data_last_frag. + * config/obj-bout.c (obj_bout_line): Added dummy argument. + * config/obj-coffbfd.c: Add some casts to avoid warnings. + * config/tc-a29k.c: Likewise. + * config/tc-i960.c: Likewise. Also fully bracket structure + initializations, fix printf formats, and remove unused variables. + +Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * read.c (s_desc): Only compile and use if S_SET_DESC is defined. + * struc-symbol.h: Declare verify_symbol_chain and + verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS. + * symbols.c (verify_symbol_chain): Removed useless expression. + * write.c (headers, the_object_file): Only use if not + BFD_ASSEMBLER and not BFD. + (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or + not BFD. + (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and + not OBJ_AOUT). + * write.h: Declare relax_segment. + * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made + static. + (stack_top): Commented out, since it's not used. + Fixed up pseudo-op functions to take an ignored int argument. + (size_section): Added default BAD_CASE to switch. + Changed bzero calls to memset. + * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME + (s), not on s itself. + * config/tc-a29k.c (s_use): Take ignored int argument. Only + define if OBJ_COFF is not defined. + * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make + argument signed again. + * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int + argument. + (m68k_ip): Fully bracket initialization of archs. + Correct several formats for __LINE__ to be %d rather than %s. + (init_table): Fully bracket initialization. + Cast values larger than 0x7f assigned to fr_opcode to char. + + * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set. + 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. + +Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'. + +Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-elf.h (S_SET_SIZE): Actually set the size. + + Gcc lint. + * Added a number of casts to function calls. + * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant, + operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY, + read_a_source_file, s_align_bytes, demand_empty_rest_of_line, + ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore), + read.h (is_name_beginner, is_part_of_name), config/obj-elf.c + (obj_elf_section), config/tc-i386.c (parse_register), + config/tc-sparc.c (isoctal, s_proc): Cast char + array indices to unsigned char. + * app.c (process_escape): Make static. Add prototype. Change + argument from char to int. + * as.c: Include output-file.h for prototypes. Comment out unused + function got_sig. + * Makefile.in (as.o): Depend on output-file.h. + * as.h (BAD_CASE): Cast val argument to long, and use %ld. + (pseudo_typeS): Add prototype to poc_handler field. + (print_version_id): Add prototype. + (xmalloc, xrealloc): Change size arguments to unsigned long. + (do_scrub_next_char): Add prototypes for function arguments. + (had_errors, had_warnings, scrub_from_file): Remove duplicate + declarations. + * atof-generic.c (atof_generic): Make size variables unsigned. + * cond.c (ignore_input): Removed unused local variable ptr. + * expr.c (floating_constant, integer_constant): Make static. Add + prototypes. + * flonum-copy.c (flonum_copy): Make size variables unsigned. + * frags.h: Add prototype for frag_init. + * hash.h, hash.c: Change hash values from char * to PTR, make hash + strings const, make returned error strings const char *. Added + prototypes for functions. + * input-file.h, input-file.c (input_file_buffer_size): Return + unsigned int. + * input-scrub.c (buffer_length): Make unsigned. + (input_scrub_push, input_scrub_pop): Make static. + * listing.c (list_symbol_table): Cast sprintf argument to unsigned + long and use %lx. Print name of segment rather than address of + structure. + (listing_list, listing_title): Change argument to int. + (listing_eject, listing_flags, listing_psize): Add int argument. + * listing.h: Corresponding declaration changes. + * obj.h (obj_emit_symbols): Rename prototype argument to avoid + shadowing. + * read.h: Change get_absolute_expression prototype to return + offsetT. Add prototype for next_char_of_string. Various + prototype changes. + * read.c: Remove prototype for next_char_of_string. + (pobegin): Make errtxt const. Make new_length, tmp_len and num + unsigned. + (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill, + s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument. + Change all callers. + (s_comm): Change temp from valueT to offsetT. Cast to long when + printing and use %ld (only for error messages anyhow). + (s_long, s_int): Remove unused functions. + (cons): Change argument to int. + (emit_expr): Use %lx when printing longs. + (get_absolute_expression): Return offsetT, not long. + (get_stab_string_offset): Comment out unless + SEPARATE_STAB_SECTIONS. + (s_stab_generic): Remove unused offset. Define seg_is_new only + if SEPARATE_STAB_SECTIONS. Use toP only in local block. + * struc-symbol.h (verify_symbol_chain_2): Add prototype. + * symbols.c: Remove nested comment. + (symbol_new): Rename value to valu. + (colon): Use %ld and cast to long in error message. + * symbols.h: Remove duplicate verify_symbol_chain declaration. + * tc.h: Remove unused md_emit_relocations declaration. + (tc_gen_reloc): Add declaration. + * write.c (cvt_frag_to_fill): Change first argument name depending + on BFD_ASSEMBLER. + (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc + declarations. Make n unsigned. + (write_contents): Remove unused i, n, relocs, fixp. Rename frags + to f to avoid shadowing. + (write_object_file): Define fragP only if not BFD_ASSEMBLER or not + WORKING_DOT_WORD. Remove unused keep. Only declare punt and + punt_it if they will be used. Make i and n unsigned. + (fixup_segment): Cast to long and use %ld in error message. + * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned. + * config/obj-aout.h: Remove nested comment. Add prototype for + obj_aout_frob_symbol. + (obj_aout_line, obj_aout_desc): Add int argument. + * config/obj-ecoff.c: Changed build routines to use an unsigned + offset. + (add_string): Make len unsigned long. + (obj_ecoff_stab): Use %lu in error message. + * config/obj-elf.c (obj_elf_common): Comment out unused label + allocate_bss. + (obj_elf_frob_symbol): Return 0 (currently broken). + (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type, + obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common, + obj_elf_line, obj_elf_previous): Add int argument. + (obj_elf_write_symbol_p): Make static. + * config/obj-elf.h (obj_elf_write_symbol): Add prototype. + * config/tc-hppa.h: Remove declarations of functions declared in + read.h. + * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT. + (s_bss): Add int argument. + (fits_in_signed_byte, smallest_imm_type): Make argument unsigned. + (dummy): Remove unused function. + (md_assemble): Rename local o to op to avoid shadowing. + (tc_gen_reloc): Rename local reloc to rel to avoid shadowing. + * config/tc-m68k.c (s_data1, s_data2): Add int argument. + * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use + %ld in error messages. + * config/tc-sparc.c: Remove duplicate declarations. + (getExpression): Rewrite condition to avoid empty conditional + body. + (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int + argument. + +Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + Changes from Jeff Law: + + * config/tc-hppa.c (md_assemble): Fix typo. + (pa_ip): Delete unused variables and labels. Do not check for + unsigned values being < 0, it can't happen. + (is_same_frag): Return a value in recursive call case. + (pa_callinfo): Delete unused variables and labels. + (pa_comm): Likewise. + (pa_copyright): Likewise. + (pa_export): Likewise. + (pa_import): Likewise. + (pa_param): Likewise. + (pa_space): Likewise. + (pa_subspace): Likewise. + +Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * read.c (get_stab_string_offset, s_stab_generic): If + BFD_ASSEMBLER, call subseg_set rather than subseg_new. + +Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using + default flag values. + +Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * read.c: (change_to_section): Don't include body if not MANY_SECTIONS. + + * read.c: (s_stab, s_xstab, s_desc): New functions to parse + various stab-related directives. + * read.h: (s_stab, s_xstab, s_desc): New function prototypes. + * write.c: (merge_data_into_text): Fix ifdef tangle. + * config/obj-coffbfd.c (current_stab_symbol): Fake symbol + for stab reader to use. + * config/obj-coffbfdh.h (obj_symbol_type): Added fields for + stab reader, macros to access. + +Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-elf.h (elf_symbol): No longer special-cased on + sparcv9, since elf_symbol_type is now independent of size. + + * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type. + + * config/tc-hppa.h (struct default_subspace_dict, struct + default_space_dict): Field "sort" is now unsigned char. + + * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align + columns for easier reading. + (bcmp, index): Deleted USG-specific definitions. Should be dealt + with in ho-*.h, or in libiberty. Changed mention of index to + strchr. + (label_symbolP, label_symbol_defined, callinfo_found, + within_entry_exit, exit_processing_complete, within_procedure, + pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc, + label_symbols_rootP, pa_get_label, pa_label_is_defined, + pa_undefine_label): Now static. + (movers): Now const, in addition to pointing to const data. + * config/tc-hppa.h (label_symbolS_rootP, pa_get_label, + pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc): + Delete declarations. + + Merged more changes from Jeff Law and Pete Hoogenboom: + + * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove + entries for .stab and .stabstr. + + * config/obj-elf.c: (elf_stab_symbol_string): Set the + SEC_LOAD attribute for the .stabstr section. + (obj_elf_stab_generic): Set the SEC_LOAD attribute for the + .stab section. + (obj_elf_stab_generic): Change '#if 1' to '#if 0'. + (obj_elf_stab_generic): Incorrect byte count on call to + md_number_to_chars function. + + * config/tc-hppa.c (hppa_tc_symbol): Static functions need + argument relocation bits too. + + * config/tc-hppa.c (pa_stringer): Correctly handle escaping + characters which should appear unaltered in the output string (for + example an escaped double-quote). + + * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always + initialize name. + (pa_parse_neg_cmpsub_cmpltr): Likewise. + (pa_parse_nonneg_add_cmpltr): Likewise. + (pa_parse_neg_add_cmpltr): Likewise. + + * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype + for now. + (cons_fix_new_hppa): Likewise. + * config/tc-hppa.c (md_apply_fix): Fix type of valp to match + prototype. + + * config/tc-hppa.c: Include libhppa.h. + + * config/tc-hppa.h: Delete extern declarations of functions + found in libhppa.h. + + * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef + OBJ_ELF conditionals. + * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels + on the PA. + +Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (macro_build): Accept 'z', and ignore it. + (macro): Use "z,s,t" for div instructions to match corresponding + change in opcode table. + (mips_ip): Added 'z'--must be zero register. + +Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare + tc_gen_reloc correctly. + + * configure.in: Use "case" instead of "if" when possible. Rewrote + Makefile editing to reduce work done. Treat "hppa*" as "hppa". + +Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for + section type of data. 'd' seems to be used for m88k. + +Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons, + s_mips_space): Set insn_label to NULL to avoid changing it at the + next .align statement. + (append_insn): Don't swap jal with instruction that sets the + register that jal sets. + +Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * configure.in: recognize m88110. + +Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + Merged changes from Pete Hoogenboom and Jeff Law at Utah: + * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should + not be on for .hppa_unwind. + (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS. + (pa_param): New function to handle .PARAM directives. + (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr + functions. Handle '|' for movb; allow movb,n. + (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless + version. Handle cases where no completer exists for + comb,n or addb,n. + (pa_parse_neg_cmpsub_cmpltr): Handle cases where no + completer exists for comb,n or addb,n. Make logic + mirror that of pa_parse_nonneg_cmpsub_cmpltr. + (pa_parse_nonneg_add_cmpltr): Likewise. + (pa_parse_neg_add_cmpltr): Likewise. + * tc-hppa.h (pa_param): Declare. + +Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static. + Added forward declaration. + + Merged changes from Pete Hoogenboom and Jeff Law at Utah: + + * config/obj-elf.c (elf_frob_file): Arguments were incorrect on + call to elf_tc_make_sections. + (obj_elf_version): A .note section shouldn't have the SEC_ALLOC + attribute. + + * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to + handle symbol extension sections. + + * config/tc-hppa.c (pa_build_symextn_section): New function to + create a symbol extension section. + (pa_export_args): Make call to pa_build_symextn_section. + (hppa_tc_symbol, hppa_tc_make_sections, + hppa_tc_make_symextn_section): New functions. + * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections + macros. + + * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the + BFD_ASSEMBLER branch as well. + + * config/tc-hppa.h: If ELF is the target object format, define + some ELF- and hppa-specific types and constants. + + * config/tc-hppa.c (getExpression): Fix a typo. + + * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine + if a `=' is part of an instruction. + (read_a_source_file): Handle case where end-of-line markers are + also used within instructions. + * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define. + + * config/tc-hppa.c (md_apply_fix_1): Keep relocations for + out-of-range branches/'calls using "bl" or calls which may need + argument relocation stubs. Do not need/keep relocations for + conditional branches. + (elf_hppa_final_processing): Fix calculation of function size. + + * config/obj-elf.c (obj_elf_version): Mark .note section as + READONLY. + + * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the + address of exp, to expression. + (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on. + (md_apply_fix_1): Delete unwanted comments. + (process_exit): Symbols marking the end of a function are always + BSF_LOCAL. + + * config/tc-hppa.c: Include elf32-hppa.h from BFD tree. + (pa_space): Declare and initialize gdb_section. + + * config/obj-elf.c (elf_frob_file): Change + elf_tc_final_processing_hook to elf_tc_final_processing. + + * config/tc-hppa.c (fix_new_hppa): Fix argument list to match + argument type declarations. + (getExpression): Fix typo. + (pa_export_args): Change elf_symbol_type to elf32_symbol_type. + (elf_hppa_final_processing): Likewise. Name changed from + elf_hppa_final_processing_hook. + (start_symbol_root, start_symbol_last): Deleted. + + * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo. + + * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to + avoid changing include ordering. + + * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'. + +Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (set_at): Added unsignedp argument. Use + load_register. + (set_at_unsigned): Removed; changed callers to use set_at. + (load_register): Removed unused ip argument. Changed callers. + (append_insn): Don't swap branch and branch likely. + (macro_build): Handle 'u'. + (load_register): Handle 64 bit constants. + (macro): Added M_DABS, removed M_ABSU. Numerous changes to + support 64 bit constants. + (mips_ip): Use hex constants in range checks for clarity. + (md_number_to_chars): Support 8 byte values. + +Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/tc-m88k.h: updated copyrights. + (TC_CONS_RELOC): declare to be RELOC_32. + +Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_isa): New static variable. + (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity + check macros. Set text alignment and GP size here. + (md_assemble): Don't set text alignment and GP size here. + (append_insn): Don't insert NOPs for load delays if mips_isa >= 2. + Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add + a NOP after a branch likely. + (mips_emit_delays): Don't insert NOPS for load delays if mips_isa + >= 2. + (macro): Support r6000 and r4000 macros. + (mips_ip): Check insn ISA level against mips_isa before using it. + Added 'x' case for ignored register. + (md_parse_option): Handle -mipsN and -mcpu=XX. + +Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero". + +Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (s_local): Function moved and renamed... + * config/obj-elf.c (obj_elf_local): ...to here. + * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c + (obj_pseudo_table): Move handling of ".local". + + * tc.h (md_parse_option): Don't declare if defined as a macro. + + * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as + BFD_RELOC_NONE. + (md_parse_option): New macro, converted from function. + * config/tc-i386.c (md_parse_option): Function deleted. + (comment_chars) [OBJ_ELF]: Include "/". + (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/". + (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler + warning. + (md_assemble, md_estimate_size_before_relax, md_create_long_jump): + Call reloc for fix_new type, or use correct enumerator, instead of + always using NO_RELOC. + (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for + tests for valid section. + (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start + address. + (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with + symbol, compensate for location of reloc. + (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define + to return zero. + +Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h. + (obj_elf_weak): New function. + (obj_pseudo_table): Handle ".weak". + (obj_elf_section): If section directive includes a string, ignore + it for now. Accept "progbits" flag. + (obj_elf_type): Accept `@' before flag name. + + * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)' + condition. + (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather + than checking for bfd_com_section directly. + (fixup_segment): Simplify range check. + (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition + test. + + * symbols.h (S_SET_WEAK): Declare. + * symbols.c (S_SET_WEAK): New function. + (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT, + it's not a separate flag any more. Clear BSF_WEAK. + + * read.c (potable): Treat "string" like "asciz". + +Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (append_insn): Don't swap branch instructions + if .set nobopt or .set volatile. + (gp_reference): .lit8 and .lit4 are accessed via the GP register. + (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD. + (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point. + * config/obj-ecoff.c: Renamed some variables to avoid shadow + warnings. + +Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config/obj-coff.h (S_IS_COMMON): add missing backslash + + * configure.in (z8k-*-{coff,sim}): use coffbfd for this target + +Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): Suggested by + davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic + names for 'E' and 'G' argument types (coprocessor registers) and + don't warn if $1 is used on the coprocessor. + (macro): Handle M_{L,S}WC{0,2,3}_AB correctly. + +Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com) + + * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values. + * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle + BFD_RELOC_16. + * config/tc-sparc.h (WORKING_DOT_WORD): Define. + +Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is + defined or BFD is not. + (relax_and_size_all_segments): Declare local variable fragP. + +Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in + bytes with real values, not zeros. + +Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested) + targets, using ecoff and mips-big. + + * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David + Johnson): Added case for 'C' for coprocessor instruction codes. + +Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in + bytes with real values, not zeros. + (md_pseudo_table): Call cons for .uaxword. + + * config/obj-elf.c (obj_pseudo_table): Handle ".8byte". + + * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions. + + * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG + for verifying symbol chain. + (merge_data_into_text, relax_and_size_all_segments): New + functions, split out from write_object_file. + +Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If + debug section is new, allocate an extra 12 bytes at its start. If + ".stabs" type is N_SO, fill in filename symbol field of that first + entry. Return early if "goof", to simplify later code slightly. + (adjust_stab_sections): New function. + (elf_frob_file): Apply adjust_stab_sections to each section. + + * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer + static. + * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare. + * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection" + and "popsection", and call cons for "uaword" and "uahalf". + + * config/obj-elf.c (obj_elf_version): Use English in error + messages. + +Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the + swapping routines and external structure sizes via the + ecoff_backend information. No longer includes coff/mips.h. + +Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-ecoff.c (get_tag): Save tag name in permanent memory + and in hash_ptr->string. + + * app.c (do_scrub_next_char): Reset state to 0 after .appline if + file name is not seen. + +Mon Aug 2 11:51:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case, + parallel to BFD_RELOC_32. + (tc_gen_reloc): Accept BFD_RELOC_64. + +Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * write.c: Don't use short int in a prototype. + + * expr.c (operand): Make return value simply depend on contents of + returned expression. + +Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers + +Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config/ho-sunos.h: remove some old function decls that conflict + w/ ANSI, and which weren't needed anyway + +Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol, + and disabled since it breaks Ian's new symbol-value code. + + * expr.c (integer_constant): Accept more digits if BFD64. + +Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-m68k.c (m68k_ip): If we have a normal constant when we + expect a bignum, turn it into a bignum. Output extra zeroes + before a short bignum, rather than after. + +Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * symbols.c (symbol_new): Conditionalize verify_symbol_chain call + on DEBUG_SYMS, not DEBUG. + (symbol_remove): Likewise. + (symbol_insert): Likewise. + +Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-mips.c (mips_optimize): New static variable. + (append_insn): If mips_optimize == 0, always insert NOP + instructions. If mips_optimize < 2, don't swap branches. + (md_parse_option): If -Ox or -gx, set mips_optimize accordingly. + +Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (clean): if testsuite does not exist, then skip it. + +Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (prev_insn_unreordered, + prev_prev_insn_unreordered): New static variables. + (append_insn): Don't swap branch instruction if + prev_prev_insn_unreordered (see comment). + (mips_no_prev_insn): Clear the unreordered variables. + (s_mipsset): When turning on reordering, set the unreordered + variables. + +Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini" + are also magic, and have special default flag settings. + (obj_elf_frob_symbol): Since the return value from this function + isn't used, don't bother calling obj_elf_write_symbol_p, since it + doesn't accomplish anything else. + + * config/tc-sparc.c (md_section_align): Round up section size only + for a.out format. + + * symbols.c: Don't define DEBUG by default. + +Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com) + + * write.c (fix_new_exp): Handle a O_uminus expression. + + * expr.c (expr): Don't let absolute_section override + undefined_section for the return value. + + * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a + pseudo-op with a poc_handler field of NULL, ignore it and treat it + as an instruction instead. + * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL + poc_handler field. + + * config/tc-h8500.c (md_begin): Use a local variable when + initializing md_relax_table to avoid warnings about modifying a + supposedly const data structure. + +Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER + is defined. + +Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com) + + * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv. + * configure.in (case ${generic_target}): Add i[34]86-*-sysv4* + case to set obj_format=elf. Must go before i386-*-sysv* case that + sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and + *-*-solaris case, and move to before *-sysv* case that wants to + set obj_format to coff. + * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to + 'exp->X_op'. + * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for + BFD_ASSEMBLER case. + +Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-aout.c: Include aout/aout64.h. + (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor + symbol, so that BFD doesn't tamper with the type. + + * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look + up opcodes as pseudo-ops even if they don't start with '.'. + * config/tc-m88k.h (NO_PSEUDO_DOT): Define. + * config/tc-m88k.c (md_assemble): Removed special pseudo-op + handling. + (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc. + Output the low 16 bits for RELOC_HI16, not the high 16 bits. + * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the + r_offset field of the reloc to the fixup offset. + (fixup_segments): If TC_M88K, don't warn about fixup overflows. + * doc/as.texinfo: Minor updates. + +Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Extensive changes to permit symbols to contain any expression + type and to delay the computation of the expression until the + value is actually needed. This permits setting symbols to values + calculated based on object code size. Expressions were changed to + no longer be in a section, to stop the overloading of segment and + expression type that previously occurred. + + * as.c (big_section, pass1_section, diff_section, absent_section): + Removed. + (expr_section): Added (used for dummy symbols which hold + intermediate expression values). + (perform_an_assembly_pass): Create expr_section, do not create the + sections now removed. + * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and + SEG_DIFFERENCE. Added SEG_EXPR. + (SEG_NORMAL): Corresponding changes. + * subsegs.c (seg_name, subsegs_begin): Changed accordingly. + * write.c (write_object_file): Ditto. + * config/obj-aout.c (seg_N_TYPE): Ditto. + * config/obj-bout.c (seg_N_TYPE): Ditto. + * config/obj-coff.c (seg_N_TYPE): Ditto. + * config/obj-coffbfd.c (seg_N_TYPE): Ditto. + * config/obj-vms.c (seg_N_TYPE): Ditto. + + * expr.h (operatorT): Moved in from expr.c, added some values. + (expressionS): Added X_op field, removed X_seg field; renamed + X_subtract_symbol to X_op_symbol. + * expr.c: Extensive changes to assign expression types rather than + sections and to simplify the parsing. + * write.c (fix_new_internal): New static function. + (fix_new): Removed sub_symbol argument. + (fix_new_exp): New function, takes expression argument. + * write.h: Prototype changes for fix_new and fix_new_exp. + * cond.c (s_if): Changed accordingly. + * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons, + parse_repeat_cons, get_segmented_expression, + get_known_segmented_expression, get_absolute_expression): Ditto. + * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE): + Ditto. + * write.c (write_object_file): Ditto. + * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto. + * config/obj-coffbfd.c (obj_coff_def, obj_coff_val, + obj_coff_endef, yank_symbols): Ditto. + * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto. + * config/tc-a29k.c (md_assemble, parse_operand, machine_ip, + print_insn, md_operand): Ditto. + * config/tc-h8300.c (parse_exp, colonmod24, check_operand, + do_a_fix_imm, build_bytes): Ditto. + * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist, + get_specific, check, insert, md_convert_frag): Ditto. + * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa, + md_assemble, pa_ip, getExpression, getAbsoluteExpression, + evaluateAbsolute, pa_build_unwind_subspace, pa_entry, + process_exit): Ditto. + * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative, + is_complex): Ditto. + * config/tc-i386.c (pe, md_assemble, i386_operand, + md_estimate_size_before_relax, md_create_long_jump): Ditto. + * config/tc-i860.c (md_assemble, getExpression, print_insn): + Ditto. + * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag, + get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc, + i960_handle_align): Ditto. + * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op, + subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1, + md_estimate_size_before_relax, md_create_long_jump, get_num): + Ditto. + * config/tc-m88k.c (md_assemble, get_imm16, get_pcr, + md_create_short_jump, md_create_long_jump): Ditto. + * config/tc-mips.c (md_assemble, append_insn, gp_reference, + macro_build, macro, my_getExpression): Ditto. Also removed + get_optional_absolute_expression; just use get_absolute_expression + instead. + * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif, + fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto. + * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto. + * config/tc-sh.c (parse_exp, check, insert, md_convert_frag): + Ditto. + * config/tc-sparc.c (md_assemble, sparc_ip, getExpression, + print_insn): Ditto. + * config/tc-tahoe.c (struct top, md_estimate_size_before_relax, + tip_op, md_assemble): Ditto. + * config/tc-vax.c (seg_of_operand, md_assemble, + md_estimate_size_before_relax, md_create_long_jump): Ditto. + * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto. + +Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: i386-lynx is the same as i386-coff + +Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * config/obj-elf.c (obj_elf_previous): New function. + (previous_section, previous_subsection): New vars. + (obj_elf_section): Save current place in case DWARF code wants us + to pop back to it. Handle unquoted section name as well as quoted + section name. Don't crash on invalid strings. + (obj_pseudo_table): Handle new pseudos "previous", "2byte", and + "4byte". + + * config/obj-elf.h: Don't include struc-symbol.h. + (obj_elf_frob_symbol): Declare arg as struct symbol *. + + * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with + "L" or "_.L_". + + * write.c (write_relocs): New function, split off from + write_contents. Use memset instead of bzero. + (write_object_file): Apply write_relocs to each section before + applying write_contents. + + * read.c (read_begin): Call obstack_begin with values closer to 1K + multiples. + (read_a_source_file, big_cons, float_cons): Use memcpy instead of + bcopy. + +Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when + calculating opP->isiz; this permits the expression size to be + determined as well, later on. + + * expr.c (clean_up_expression): Don't cancel the subtraction of + undefined symbols. + + * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R, + switch to text section rather than data section. + +Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand + expression (to take the pc-rel instruction itself into account) + before using the expression, instead of after. + +Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com) + + * read.c (float_cons): Simplified parsing logic. If + REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count. + + * symbols.c (colon): Rather than a special case for TC_HPPA, + use new macro tc_frob_label. + * config/tc-hppa.h (tc_frob_label): Define. + + * config/tc-mips.c: Many changes to support simple assembler + optimization. + (insn_label, prev_insn, prev_prev_insn, dummy_opcode, + prev_insn_valid, prev_insn_frag, prev_insn_where, + prev_insn_fixp, prev_insn_is_delay_slot): New static + variables. + (insn_uses_reg, mips_no_prev_insn, mips_emit_delays, + mips_align, s_stringer, s_mips_space): New static functions. + (mips_define_label): New global function. + (md_pseudo_table): For "ascii", "asciz", "asciiz", call + s_stringer. Changed argument to float_cons from 0 or 1 to 'f' + or 'd'. For "space" call s_mips_space. + (md_begin): Call mips_no_prev_insn. + (append_insn): Only insert necessary NOP instructions. + (macro): Call mips_emit_delays before setting mips_noreorder. + Increment and decrement mips_noreorder rather than using + save_reorder_condition. Don't bother to use noreorder in + M_L_DOB and M_L_DAB, since append_insn will not insert a NOP. + (md_atof): Handle floating point numbers correctly for both + big and little endian targets. + (s_align, s_cons): Call mips_align rather than frag_align. + (s_change_seg, s_cons): Call mips_emit_delays. + (s_float_cons): Let float_cons do the work. + (s_mipsset): Call mips_emit_delays when setting noreorder. + * config/tc-mips.h (tc_frob_label): Define to be + mips_define_label. + + * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs, + ecoff_frob_files): Consistently use S_GET_VALUE rather than + bfd_asymbol_value. Warn if taking difference of symbols in + different segments. + +Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes, + with a warning. + + * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust + by md_pcrel_from if we are relocating against a symbol (we still + need md_pcrel_from for a PC relative relocation within the same + file). + * config/tc-m88k.c (md_pcrel_from): Corrected return value. + (omagic): Removed unused variable. + + * Preliminary support for m88k-coff. + * configure.in (m88k-*-coff*): New target. Use coffbfd and + m88kcoff. + * config/m88kcoff.mt: New file. + * read.c (lex_type): New macro LEX_AT to set lex type of '@'. + (pseudo_set): Handle difference of symbols in different fragments + by saving the entire expression as the value of the symbol. + * symbols.c (resolve_symbol_value): Resolve difference + expressions. + * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept + "sdef" as a synonym for "def". + * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set + TARGET_FORMAT. + (S_IS_LOCAL): Any symbol which includes \001 in the name is local. + * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring + m88k port up to date, and to add COFF support. + +Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Removed sy_forward and replaced it with an undefined expression + as the value of a symbol. + * struc-symbol.h (struct symbol): Removed sy_forward field. Added + sy_resolved and sy_resolving single bit fields. + * symbols.c (symbol_new): Don't initialize sy_forward field. + (resolve_symbol_value): New function to adjust symbol value by + fragment address, using recursion to resolve forward symbols. + * symbols.h: Added prototype for new function. + * read.c (pseudo_set): Set symbolP->sy_value to an undefined + expression rather than setting symbolP->sy_forward. + * write.c (write_object_file): Use resolve_symbol_value on + symbols, keeping the common case (the old behaviour) inline. + * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward + handling (subsumed by write.c change). + * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set + sy_value rather than sy_forward. + * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check + expression segment rather than sy_forward. + (yank_symbols): Use resolve_symbol_value. + (crawl_symbols): Removed extra pass over symbols. + * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c, + config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over + symbols which handled sy_forward; use resolve_symbol_value + instead. + * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol): + Define. + * config/obj-elf.c (obj_elf_stab_generic): Check expression + segment rather than sy_forward. + * config/obj-vms.c (VMS_Check_For_Main): Don't initialize + sy_forward; do initialize sy_resolved and sy_resolving. + * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward. + + * Changes to keep a full expression as the value of a symbol, not + 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. + +Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Make sparc64-*-aout* use bfd gas. + + * configure.in: Recognize h8300h. + +Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * config/tc-h8500.c (line_comment_chars): Add hash. + (parse_exp, skip_colonthing, build_bytes): Add support for + R_H8500_HIGH16 relocation type. + +Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an + attribute name. Handle `execinstr' attribute. + +Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if + there is another alternative for the instruction. + +Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/as.texinfo: updates for H8/300H + +Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com) + + * config/tc-i960.c (md_create_short_jump, md_create_long_jump, + md_number_to_chars, md_section_align): Adjusted to use valueT, + addressT, to match tc.h. + +Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (s_common): Revamp to handle both syntaxes, + independent of format. + +Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h. + +Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com) + + * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross + build; also recognize h8300-*-coff + +Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com) + + * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump + core just because somebody uses a label before it is defined. + + * config/mips-opcode.h: Moved to opcode/mips.h. + * config/tc-mips.c: Include opcode/mips.h rather than + mips-opcode.h. + (append_insn): An extra NOP is only needed after instructions + which set HI or LO, not after instructions which read it. + (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments. + (macro): cfc1 and ctc1 now take "t,G" rather than "t,d". + * config/tc-mips.h (struct mips_opcode): Don't define. + * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS): + Set to $(srcdir)/../include/opcode/mips.h. + + Get the MIPS assembler up to speed with other gas changes: + + * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol): + Removed; don't change the symbol value. + (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use + bfd_asymbol_value rather than S_GET_VALUE to include section + vma in symbol value. + (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF + doesn't output them. Set the vma of sections. + * config/obj-ecoff.h: Don't define obj_frob_symbol. + * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no + longer necessary. + (various): use valueT rather than long. + +Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.h (ENV64): Define for v9. + + * config/tc-sparc.c (s_xword): For numbers, call big_cons. + (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64 + relocation types. + (md_number_to_chars): Handle 8-byte value. + + * config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type. + + * as.h (valueT): Typedef moved here. + * struc-symbol.h (valueT): ...from here. + * write.c (write_object_file): Locals from_addr, to_addr, + table_addr are now addressT. Supply prototype for bfd_alloc for + now. + (fixup_segment): Local add_number is now valueT. Correct some + range-checking bugs. + (relax_align): Type `int' should be sufficient for the exponent. + (fix_new): Argument offset is type offsetT. Locals size and + newsize are type valueT. + * write.h (struct fix): Fields fx_offset and fx_addnumber are now + type valueT. + (fix_new): Fix prototype. + * symbols.c (symbol_new): Symbol value is type valueT. + (S_SET_VALUE, S_GET_VALUE): Likewise. + (S_IS_*): Specify int return type explicitly. + * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed + prototypes. + * read.c (s_comm): Values read are type valueT. + * expr.h (expressionS): Field X_add_number is an offsetT. + * tc.h (md_create_long_jump, md_create_short_jump, + md_section_align): Addresses are now type addressT. + (md_number_to_chars, md_apply_fix): Pass value as valueT. + * config/tc-i386.c (md_create_short_jump, md_create_long_jump, + md_number_to_chars, md_section_align): Adjusted. + * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make + gcc shut up. + (md_create_short_jump, md_create_long_jump, md_number_to_chars, + md_section_align): Adjusted. + + * config/tc-sparc.c (s_reserve): Permit use for other than a.out + format. + (s_common): Handle Solaris-2 version. + + * config/ho-generic.h (free): Returns void if __STDC__. + + * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file, + elf_file_symbol): Declare. + + * expr.c (floating_constant, integer_constant): Now return void. + +Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: Match on sparc*-fujitsu-none rather than + sparclite*-fujitsu-none. + +Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com) + + * read.c (cons): Conditionalize parsing of expression. Move + putting value into object file into separate function. Separate + out MRI and WANT_BITFIELDS cases into separate functions. + (emit_expr): New function to write data into object file. + Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on + processor types. + (parse_bitfield_cons): New function to parse bitfield expressions + as used by i960 assemblers. Only compiled if + BITFIELD_CONS_EXPRESSIONS is defined. + (parse_mri_cons): New function to parse MRI style strings. Only + compiled if MRI is defined. + (parse_repeat_cons): New function to parse repeat counts. Only + compiled if REPEAT_CONS_EXPRESSIONS is defined. + * read.h (emit_expr): Added declaration of new function. + * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32. + * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD. + * config/tc-hppa.c (parse_cons_expression_hppa): New function to + parse a HPPA expression, rather than special case in cons + function. + (cons_fix_new_hppa): New function to emit an HPPA fixup, rather + than special case in emit_expr function. + * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW): + Define to use new functions from tc-hppa.c. + * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define. + (WANT_BITFIELDS): Removed; now obsolete. + * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define. + * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an + NS32K fixup, rather than special case in emit_expr function. + * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be + cons_fix_new_ns32k. Also use PARAMS rather than checking + __STDC__. + * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32. + + * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents): + Don't core dump if gas has no information about a section. + +Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (md_begin): If sparcv9 is defined, reset + current_architecture to v9 automatically. + + * config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9. + + * config/tc-sparc64.h, config/tc-sparc64.c: New files. + * configure.in: Use sparc64 cpu files for v9, and default to elf + format. + + * write.c (relax_and_size_seg): Always fully process a section. + Section size is last frag's (vm)address plus its size. If no + relocations are present, force SEC_RELOC flag clear. + (dump_section_relocs): New debugging routine. + (adjust_reloc_syms): New routine, broken out from write_contents. + Don't adjust relocs that are already relative to section symbol. + Look for obj_fix_adjustable macro to know what else to skip, + instead of obj_write_symbol. Look for section symbol stored in + section information. + (write_object_file): Map adjust_reloc_syms over all sections. + (write_contents): Clear SEC_RELOC flag if no relocations are + found. + + * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to + keep it quiet. + + * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER. + +Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (all, dvi, info, install-info, clean-info): do not + echo recursion lines. + (install-info, clean-info): collapse into the dvi and info rule. + +Fri Jun 25 10:47:24 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs. + All fp regs are now specified as %f. + (priv_reg_table): fpq -> fq. + +Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * as.h (strstr): Disable declaration for now. + (fprint_value, sprint_value): Declare. + + * subsegs.c (subseg_new_rest): Use memset to clear new frag. + (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields. + + * expr.c (expr_part): Made sanity checks a.out-specific. + (expr): Disabled sanity checks. + + * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for + section symbol. + * subsegs.c (subseg_change): Initialize section symbol pointer + when setting up a new section. + + * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata + field back at gas symbol structure. + + * symbols.c (colon): Cast obstack_next_free value to char* before + doing arithmetic on it. + * subsegs.c (subseg_new_rest): Likewise. + * as.h (frag_now_fix): Likewise. + + * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of + calling bfd_make_section_old_way directly, and call subseg_set + instead of subseg_change. Now returns void. + (obj_elf_write_symbol): Only check local symbols for now. + (elf_stab_symbol): Now static and void, and disabled until it + works completely. + (obj_elf_size): For expression values, fail silently for now. + (obj_symbol_new_hook): Do nothing. + + * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22 + relocation. + (s_local) [OBJ_ELF]: New function. + (md_pseudo_table) [OBJ_ELF]: Call it for "local". + (s_common): Rearrange to handle Solaris .common pseudo, which may + sometimes use bss space instead of common. + * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field. + +Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: set host config to hpux for hppa*-hp-hpux + +Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * app.c (app_pop, app_push): Fix bug reported by Chris Arthur. + +Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * subsegs.c (subseg_new): Don't special-case a.out -R flag here. + * config/obj-aout.c (s_sect): Do it here. + + * as.h (BAD_CASE): Don't make some lame compilers think we want + substitution inside strings. + + * as.c (print_version_id): New function, split off from main. + (main): Call it. + * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id + for -V. Ignore -Q and -s options for now. + +Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: make installation & builds work again for crosses + +Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * listing.c (list_symbol_table): Rewrite to print wide (>32 bits) + symbol values correctly. + + * write.c (write_object_file): Deleted unused variables. + (fixup_segment): Use sprint_value. + + * messages.c (sprint_value, fprint_value): New routines. + + * config/obj-elf.c (elf_stab_symbol): Now returns void. + (obj_elf_stab_generic): Fix typo in logic. + + * Makefile.in (INCLUDES): Look in ../bfd for bfd.h. + + * as.h (addressT, offsetT): New types, using BFD types if + available. + (relax_addressT, struct frag): Use them. + * struc-symbol.h (valueT, struct broken_word): Likewise. + + * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const. + * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const. + +Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com) + + * Makefile.in: canonicalize install.sh; for use within + this directory (and subdirs) + +Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se) + + * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly + specified, should have both S1 and S2 fields identical + If only finding the problem was as fast as fixing the bug !!!! + +Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * write.c (write_contents): Do write out non-loadable sections. + Debug sections can fall in this category. + + * read.c (s_app_file): Call elf_file_symbol for ELF files. + * config/obj-elf.c (elf_file_symbol): New function. + + * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_..., + added argument to specify section base name. + (obj_elf_stab_generic): Renamed from ..._stab. New argument + specifies section base name. + (obj_elf_stab): New function, calls obj_elf_stab_generic with + ".stab" as section base name. + (obj_elf_xstab): New function, calls obj_elf_stab_generic. + (obj_elf_type): Handle "object". Use bitwise-or to merge in + symbol flags rather than simply replacing, so global/local flags + are preserved. + (obj_elf_ident): Rewrite. + +Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: remove parentdir support; use INSTALL_XFORM + +Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-i386.c (md_pseudo_table): .align uses a power of two + for any a.out target, not just Linux and 386BSD. + * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out + target. + +Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They + don't exist or duplicate other inclusions. + + * config/tc-vax.h (NO_RELOC): Define. + +Mon Jun 7 09:55:03 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Fix parsing of asi number. + Fix error message. + +Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se) + + * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions. + * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first + char to reg_prefix instead of to 'r'. + (calcop): Change calls to get_reg. + (calcop): Handle new case 'x' to set reg_prefix. + (calcop): Set reg_prefix to 'r' after each call to get_reg. + (cmpslot): Add 88110 conditions. + + * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency. + + * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer + before returning. + + * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics + adjacent; mov.s and mov.d swapped. + (m88k_opcodes): Fix typo `r2' -> `2'. + +Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * config/h8300.c: Support for H8/300-H opcodes. + + * config/obj-coffbfd.c (w_strings): String table length is 4 + bytes, no matter what the host int size is. + + * configure.in (alpha-*-osf*): New. + +Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (mips-*-ecoffl*): New target; use ecoff and + mips-lit. + (mips-*-ecoff*): Added trailing '*'. + + * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the + first FDR in a file to be zero. + +Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (VERSION): Jump to 2.1.4. + + * config/ho-hppabsd.h: New file, from Peter Hoogenboom. + + * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for + ECOFF format. + +Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a + separate '851 mmu. + + * config/obj-elf.c, config/obj-elf.h: Update for new type, macro, + and routine names. Assuming 32 bits for now. + + * config/obj-elf.c (elf_frob_file): Look for macro + elf_tc_final_processing_hook, instead of assuming a function + always exists. + * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from + tc_final_processing_hook. + * config/tc-hppa.h (elf_tc_final_processing_hook): Use it. + + * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros + moved here from obj-elf.h. + * config/obj-elf.h: Don't include CPU-specific header files. + +Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu) + + * configure.in: configurations should match on 'hppa*' not 'hppa'. + + * read.c: Add support for HPPA assembly language syntax (denoted + with '#ifdef TC_HPPA'). + + * symbols.c: Add support for HPPA assembly language syntax (denoted + with '#ifdef TC_HPPA'). + + * write.c (write_contents): Add support for HPPA-style + relocations. + + * config/obj-elf.c: Stab symbols weren't written properly. + (obj_elf_version): + (obj_elf_desc): + (obj_elf_write_symbol): + (obj_elf_write_symbol_p): + (obj_elf_frob_symbol): + (elf_stab_symbol): + (elf_frob_file): + + * config/tc-hppa.c: Support for HPPA symbol extension sections. + Remove some unused code. Support for HPPA assembly language + syntax. + + * app.c: + + * symbols.c: + + * config/obj-elf.h: + (obj_write_symbol): + (obj_frob_file): + (elf_tc_symbol): + (elf_tc_make_sections): + + * config/tc-hppa.h: + +Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume + hash_new will have succeeded if it returns. + * config/tc-a29k.c (md_begin): Likewise. + + * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is + const. + (mode_from_disp_size, opcode_suffic_to_type): Now inline under + gcc. + (fits_in_{signed,unsigned}_{byte,word}): Likewise. + + * expr.c: Delete register declarations; gcc ignores them anyways. + +Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hash.c (hash_new): Use xmalloc, since many callers don't check + for failure. + +Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * frags.c (zero_address_frag, bss_address_frag): These are + external. + + * tc.h (md_reloc_size): This is const. + * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c + (md_reloc_size): Now const. + + * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete + trailing commas. + * as.h (enum _segT): Ditto. + + * struc-symbol.h (N_TYPE_seg): This should be const. + +Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org) + + * config/obj-ecoff.c (add_file): Cast file_name to char * in + listing_source_file call. + + * config/obj-elf.c (elf_stab_symbol_string): Cast first argument + of subseg_new call to eliminate const attribute. + (obj_elf_stab): Ditto. + (obj_symbol_new_hook): Cast first argument of bzero call to char *. + + * read.c (s_align_bytes): Properly record alignment. + + * expr.c (__): Undefine __ macro before use, since OSF/1 uses it + for the prototype/no prototype macro. + + * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be + void. + + * as.h (relax_stateT enum): Delete trailing comma. + +Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com) + + * app.c (do_scrub_begin): Let line_comment_chars override + comment_chars. + (do_scrub_next_char): If a line comment character is not at the + start of a line, treat it as a comment character if it is one. + For a CPP line comment use pseudo-op .appline rather than .line. + * input-scrub.c (logical_input_line): Make int rather than + unsigned. + (input_scrub_push, input_scrub_begin): Initialize + logical_input_line to -1 rather than 0. + (bump_line_counters): Increment logical_input_line. + (new_logical_line): If line_number is -2, decrement + logical_input_line. + (as_where): Use logical_input_line even if it is 0. + * read.h (s_app_file prototype): Now takes an int argument. + * read.c (potable): Make .appfile call s_app_file with 1. New + .appline pseudo-op calls s_app_line. + (s_app_file): If .appfile, call new_logical_line with -2 to + account for newline inserted by do_scrub_next_char. If listing, + call listing_source_file. + (s_app_line): New function to handle fake pseudo-op .appline. + * config/obj-coff.c (obj_pseudo_table): Make .appline call + obj_coff_ln. + (obj_coff_ln): Added argument to indicate whether .appline. + * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call + obj_coff_ln. + (obj_coff_ln): Added argument to indicate whether .appline. + * config/tc-mips.c (s_file): Pass argument to s_app_file. + +Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast. + +Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-m68k.c (md_apply_fix_2): Straighten out check for + invalid values. + +Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * config/tc-h5000.c (build_bytes): Understand @rd mode and build + relocations correctly. + +Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because + it's wrong. + + * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn + if value is out of range. + + Patch from Minh Tran-Le: + * config/tc-i386.c (i386_operand): For in/out port register used + as base reg, include InOutPortReg in operand type. + (MATCH): Accept overlap value of InOutPortReg. + +Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab): + Add calls to listing routines to produce combined source/assembler + listings. + (obj_ecoff_stab): Create a file pointer if none used yet. + (ecoff_frob_file): Set symcount to correct value. + +Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * Makefile.in (VERSION): Bump to version 2.1, in preparation for + release. + + * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE): + Define in terms of constants, not C structure sizes. + + * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files. + +Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-aout.c (obj_header_append): Don't define if it's + defined as a macro. + * config/obj-hp300.h (obj_header_append): Define it as a macro. + * config/obj-hp300.c (hp300_header_append): New function. + + * Makefile.in (distclean): Don't bother cleaning up doc files; + they aren't going to be in this directory. + +Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute + symbols. + + * tc.h (TC_COFF_SIZEMACHDEP): Don't define here. + * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead. + +Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with + initialization. + + * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff. + +Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-mips.c (macro): Correct floating point double word + loads and stores for big endian target. + +Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_* + calls. Deleted some unused code. + * config/obj-coff.c: Likewise. + + ELF support, mostly contributed by Utah: + * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line, + obj_elf_type): Rewrite. + (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol, + obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size): + New functions. + (obj_elf_ident): Dummy. + * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol, + TARGET_SYMBOL_FIELDS): New macros. + (gdb_section): New variable decl. + + * config/tc-i386.c (md_atof): Return zero, not empty string, on + success. + + BFD_ASSEMBLER conditional changes: + * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header): + Don't define these. + (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions. + (fetch_coff_debug_section): Ditto. + (obj_coff_endef): Call fetch_coff_debug_section. + (struct line_no): New type. + (c_symbol_merge): New way for copying aux fields. + (c_dot_file_symbol): Put symbol in absolute section, and set flag + BSF_DEBUGGING. + (function_lineoff): New symbol. + (function_lineoff, text_lineno_number, our_lineno_number, + lineno_lastP): Don't define. + (c_line_new): Don't define. + (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh, + placeholders, until + line-number recording gets implemented. + (obj_new_symbol_hook): New code for handling aux fields. + (add_lineno, add_linesym): New functions. + (obj_coff_ln): Call add_lineno, not c_line_new. + (obj_coff_endef): New code for handling symbol names. New lineno + code. Look for section name "*DEBUG*" for debugging section. + (align, coff_check_file_symbols, obj_coff_section, + coff_frob_file): New functions. + * config/obj-coff.h: Reordered some includes. + (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg, + DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't + define these. + (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros. + (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing + aux entries. Most SA_* macros now use it unconditionally. + (S_*): Use `bsym' field, and access BFD private data. + (SF_*): Use `sy_flags' symbol field for most of these. + (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't + define. + (*_section_header): Don't define. + * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed + interface. + (tc_gen_reloc) [I386COFF]: New function. + (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define. + * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New + macros. + + * config/obj-coff.c (stack_init): Don't do assignments inside + conditions. + (obj_coff_def): Simplified handling of symbol name a bit. + (tag_insert): Name argument is now pointer to CONST. + (obj_crawl_symbol_chain): Commented out. + + * config/obj-coff.h: Use PARAMS macro in prototypes. + + * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect + through frchainP pointer if it is null. + + * configure.in: Warn if BFD mode is explicitly turned off but is + required by specified target. + (mips ecoff targets): Don't need to set bfd_gas here; it gets + taken care of later. + + * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward + field. + (yank_symbols): Merge symbols only if sy_forward is null. + + * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already + defined. + + * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not + pointer. + * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto. + + * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting + with "." is a local label. + + * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config + files. + + * config/te-linux.h, config/te-386bsd.h: New config files. + * configure.in (i386-*-linux, i386-*-bsd): Use them. + * config/tc-i386.h (TARGET_FORMAT): Select format based on target + environment. + (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux. + +Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems + to want it that way. + (ecoff_build_symbols): Turn local st_Proc symbols into + st_StaticProc symbols. Set index field of external st_Proc and + st_staticProc symbols correctly. + * config/tc-mips.h (NO_LISTING): Don't define. People might want + listings. + +Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New + files. + * configure.in (m68k-*-hpux): Use them. + + * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if + defined, otherwise zero. + + * config/aout_gnu.h (OMAGIC): Don't define if already defined. + +Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Allow any abs expression as an + address space number. + +Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all. + + * config/tc-a29k.c: Include ctype.h. + (define_some_regs): Added special-purpose registers for 29050. + + * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/". + + * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here. + (change_to_section): Set it here instead. + +Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com) + + * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one + hasn't been seen yet. + (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL. + +Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi + SH. + +Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * expr.c (operand): Fix unary plus operator (previously was the + same as '~' operator!). + +Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * write.c (cvt_frag_to_fill): Define even if BFD is defined. + (write_object_file): Do define if BFD_ASSEMBLER. Invoke + obj_check_file_symbols if defined. Call verify_symbol_chain_2 + instead of open-coding it. Fix some bugs in patching up symbol + chain. + (relax_segment): Make some code we "ought to be able to" use for + all targets no longer conditionalized on ns32k target; instead, do + it always, and if the appropriate conditions fail, abort. + + * symbols.c (DEBUG): Enabled. + (symbol_new): Make sure bfd_make_empty_symbol works. + (verify_symbol_chain_2): New function; takes one symbol as + argument, anywhere in the chain. + (dollar_label*): Use default initializers. + + * as.c (perform_an_assembly_pass): Call md_begin here... + (main): ...and not here. + + * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out. + (tc_frob_symbol): New macro: Get rid of symbols in reg_section. + + * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER. + (add_fix, add_frag): Now functions instead of macros. + (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num, + s_data1, s_data2, s_bss): Use new *_section names, for + compatibility with BFD_ASSEMBLER mode; rewrite switch statements + to handle non-integral segT. + (tc_coff_fix2rtype, tc_aout_fix_to_chars, + tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER. + (tc_gen_reloc): New routine for BFD_ASSEMBLER. + (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to + md_apply_fix_2; new md_apply_fix definition varies interface + depending on BFD_ASSEMBLER. + (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section + names. + + * config/obj-vms.c: Include config.h. + (version_string): Delete declaration. + (Write_VMS_MHD_Records): Use GAS_VERSION instead. + (vms_resolve_symbol_redef): New function, taken from VMS code in + symbols.c. + (_doprnt): Deleted. + (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct, + VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix, + VMS_Psect_Spec): Fixed to compile under traditional C. + * config/obj-vms.h: Use PARAMS macro. + (vms_resolve_symbol_redef): Declare. + (RESOLVE_SYMBOL_REDEFINITION): New macro. + * symbols.c (colon): Remove some VMS-specific code, look for + RESOLVE_SYMBOL_REDEFINITION macro instead. + + * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc + instructions. + + * config/tc-i386.c: Reordered some functions so inlining might + work. Use PARAMS in function declarations. + (reloc): New routine. + (md_assemble): Rearrange switch statements to work with + non-integral segT. + + * struc-symbol.h [BFD_ASSEMBLER]: Undefine + SYMBOLS_NEED_BACKPOINTERS before defining it. + + * subsegs.c (subseg_new_rest): Now static. + + * read.c (pseudo_set): Better error message for difference of + symbols in different frags. + + * Makefile.in (check): Pass down some new variables, indicating + pathname or program name for cc, nm, objdump. + + * as.h (OUTPUT_FLAVOR): New macro. + * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR. + + * configure.in: Initialize bfd_gas properly. Warn that ELF + support is incomplete. + +Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * read.c (float_cons): Accept null pointer return from md_atof. + * config/tc-m68k.c (md_atof): Return null for success. + * config/tc-sparc.c (md_atof): Ditto. + +Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/as.texinfo: formatting and comment cleanups; show SPARC + alternative options in same style as other machines; simplify some + conditional use; include GPL as separate file (from texinfo dir) + + * doc/Makefile.in: (as.info) include directory containing GPL in + makeinfo search path + + * doc/h8.texi: new file; conditional settings for GAS manual + on Hitachi chips + +Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/as.texinfo: mention SPARC architecture options. + +Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com) + + * configure.in: Rearranged whitespace in per-host/per-target + sections. Added hooks for dropping in HPPA support (not included + yet). Separate out overrides of variables based on target format + and bfd-gas selection from actual target-specific commands. Add + error message for recognized but unsupported format name. + +Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in + symbolic header match cline in FDR; the native linker seems to + want that. + +Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * doc/Makefile.in: as.texinfo is in $(srcdir). Use + $(srcdir)/as.texinfo explicitly in several places + +Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/Makefile.in: update dvi, clean targets for new source + file structure + +Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__, + rather than undefining know. + * configure.in: Match ultrix*, not just ultrix. + +Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/as.texinfo: converted conditional markup to use new + Texinfo facilities, avoiding m4. + + * doc/as-all.texinfo, all.m4, pretex.m4: deleted. + + * doc/Makefile.in: recast doc configuration to use a link to an + included texinfo file. + + * doc/all.texi: settings for generic form of documentation. + +Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com) + + * read.c (cons): Zero out frag when creating reloc. + +Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-mips.c (gp_reference): Certain magic symbols can never + be referenced off the GP register. + + * app.c (do_scrub_next_char): Handle states 9 and 10 correctly + when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST, + LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE. + + * config/te-irix.h: New file; irix needs a different LOCAL_LABEL + definition from other MIPS targets. + * configure.in (mips-*-irix): Use emulation irix. + +Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/tc-h8500.c: Get relax size of branch instructions right, + (get_operand): Parse @sp+ correctly. + +Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include + COFF section header field. + + * configure.in: Print error message if host or target is not + supported. + + * configure.in: If with-bfd-assembler, use obj-coff instead of + obj-coffbfd. + + * config/ho-generic.h: Include string.h. + +Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with + '$' as local, for any object file format. + + * config/tc-mips.c (macro): Optimizations to branching code and a + couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph + Campbell). + + * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT. + * configure.in (mips-sgi-irix*): Set gas_host to irix. + +Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com) + + * subsegs.c (subseg_new): Set output_section of new section. + * as.c (perform_an_assemly_pass): Don't set output_section here. + * expr.c (expr_part, expr): Turn off section assertions for ECOFF, + since it has additional sections. + * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss, + not bss_section. + * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added + ecoff_undefined field. + * config/obj-ecoff.c (obj_symbol_new_hook): Initialize + ecoff_undefined field. + (add_file): If using stabs, just output a stabs symbol rather than + creating a new fdr. + (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading + it with get_absolute_expression, rather than skipping it by hand. + (obj_ecoff_loc): If using stabs, just output a stabs symbol rather + than ECOFF line number information. + (obj_ecoff_stab): Accept non-zero values for stabs line number. + (ecoff_build_symbols): Set ifilesym correctly. Set storage class + to small, undefined and/or readonly sections if appropriate. + Don't output symbol names containing \001 characters. + (ecoff_frob_file): Make sure at least one fdr is output. + * config/tc-mips.h: Define TC_MIPS. + * config/tc-mips.c (g_switch_value): New static variable. + (md_assemble): Set gp size of output BFD. + (gp_reference): New function; returns 1 if expression can be + accesssed via gp. Always returns 0 if not using ECOFF. + (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if + possible. + (macro): Generate sequences using gp if possible. + (md_parse_option): Ignore -EL and -EB. Parse -G. + (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case. + (s_change_sec): Handle .rdata and .sdata for ECOFF. + (s_extern): Mark symbol as external. Set ecoff_undefined field. + +Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * output-file.c (output_file_create): Don't call as_perror for + filename rejected by application. + + * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink + the output file. + + * doc/as.texinfo: Don't use @value in node names for the moment; + references don't appear to work right. + + * as.h (const, volatile): Put these definitions back, and use + them. + + * doc/as.texinfo: First pass at using new texinfo features -- + variables, conditional tests. Far from complete. + +Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * read.c: Temporary hack to handle some 64-bit constants. This + should be redone later. + (target_big_endian): Declare. + (big_cons): If it's set, reverse order of bytes being copied. + * config/tc-sparc.c (md_begin): Set target_big_endian. + + * read.c (s_ignore): Delete declaration of is_end_of_line. + + * config/obj-coffbfd.c (yank_symbols): Build list of file symbol + forward pointers properly. + +Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs + wasn't being stored into scnhdr. + * config/obj-coffbfd.h: Add prototype of s_get_segment. + * read.c (TC_START_LABEL): Default definition. + (read_a_source_file): Use TC_START_LABEL macro to work out + if a label has been seen. + +Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not + the bottom (make expands variables in dependencies when the + dependencies are read, not when they are used). + + * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for + a29k .bss section; the mondfe program doesn't like it. + +Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of + const. + (current_architecture): Don't need initializer. + +Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * doc/none.m4: Define Z8000. + * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the + texinfo file before recreating it. + (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in + this directory. + (srcdir): Delete second, bogus definition. + (as.info): Look for as-*.texinfo in current directory rather than + in $(srcdir). + (as.dvi): Ditto. + (dvi): New rule. + * doc/configure.in: Create links to all as-*.texinfo files in the + source directory, if that's not the current directory. + + * configure.in (per-host): Accept MIPS host with BSD version + number. + (per-target): Classify i486 as i386. Use generic cpu_type instead + of target_cpu in selecting format etc. + + * app.c (do_scrub_next_char): Use .appfile, not .app-file. + * read.c (potable): Change .app-file to .appfile. + + * config/ho-decstatn.h: Renamed from ho-decstation.h. + * configure.in: Adjusted. + + * config/obj-bfd-sunos.*: Unused; deleted. + + * Makefile.in (version.c, vers-stamp): Deleted. + (config.h): Define GAS_VERSION. + * as.c (version_string): Deleted declaration. + (main): Look for GAS_VERSION instead. + + * doc/as.texinfo: Updated description of -a* (listing) options, + and describe how to pass them through from gcc. + + * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or + process relocs if there aren't any relocs to process. Avoids + malloc/free bug on SCO too. + + * as.h: Move local include files below system include files, to + avoid some redefinition complaints on some systems. + (const, volatile): Don't need these conditionally defined if we + use CONST and VOLATILE from ansidecl.h. + (seg_name): Use CONST, not const. + +Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-mips.c: Reindented to GNU standards. + +Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case. + (fixup_segment): Add a29k special case; the linker is not prepared + to see a segment offset here. + + * app.c (do_scrub_next_char): Added new state, 10, modifying state + 9 to only keep a space in between identifier characters. + +Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) + + * Makefile.in: add dvi target; as-$(config).texinfo might live in + srcdir, might be in objdir. + + * doc/Makefile.in: dvi depends on as.dvi + +Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: add installcheck target + +Mon Mar 22 16:25:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Add support for membar mask names. + Add missing colons in prefetch error messages. Add support for + ASI names. + +Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/tc-mips.c (macro): Use $AT for any floating point load. + +Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com) + + * config/tc-m68k.c (m68k_ip): For operand type 'M', reject + bignums, but don't emit error message. + +Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com) + + * Makefile.in (targ-cpu.o): Depend on config.h. + +Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * app.c (do_scrub_next_char): Added new state, 9, to avoid + dropping a space immediately following an identifier. + * expr.c, write.c: Rewrote assert expressions to not use multiple + lines; I don't think that can be done portably. + * config/tc-mips.c (macro): Use $AT if target register is zero in + load instruction, which it can be for a floating point load. + +Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * write.c (write_contents): Compute the relocs before writing out + the section contents. + * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get + symbol table and values right. + * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting + with $L is local. + * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend + by the section vma. + + * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is + z8k-opc.h, not z8k.h. + + * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf + symbol. + +Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognize sparc-sun-solaris2* instead of -solaris2 + +Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * expr.c, write.c: Ultrix native 4.2 cc requires assert condition + to be on a single line. + +Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (config.h): Create file, writing out definitions of + target cpu, alias, and canonical name. + (ALL_CFLAGS): No longer define TARGET_CPU. + + * Makefile.in (check): Print a message, instead of quitting + silently. + + * as.c (main): Don't catch any signals, for now. + + * version.c: Deleted. + * Makefile.in: Generate it, putting in only the version number + itself. + (VERSION): New variable. + * as.c: Include config.h. + (main): Reformatted version string. Include target alias. Don't + print if not requested (i.e., unknown -v argument). + + * as.c (stralloc): Deleted. + (main): Call strdup instead. + + * configure.in: Handle all 68300 series chips. + * config/tc-m68k.c: Include config.h. + (md_assemble): Assume TARGET_CPU is defined. Accept some 68300 + series cpus as defaults. + (md_parse_option): Accept some m68300 series CPUs as defaults. + +Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if + not already defined. + (main, got_sig): Use them. + * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default + values. + +Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF + support. + + * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs. + OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN. + (struct loc, struct proc, struct file): Moved to tc-mips.c within + #ifndef OBJ_ECOFF block, since ECOFF uses different versions. + * config/tc-mips.c: Rearranged for ECOFF support. Added + prototypes for all static functions. Moved existing minimal + debugging format support info #ifndef OBJ_ECOFF blocks. + (macro_build_lui): Eliminated sign_extend argument, because ECOFF + does not support a non sign extended high 16 bits reloc. Adjusted + all callers accordingly. + (tc_get_register): Renamed from get_register, and made non-static. + + * config/mips-big.mt, config/mips-lit.mt: New files. Define + TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN, + respectively. + * configure.in (mips-*-bsd*): Use gas_target mips-lit. + (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using + obj_format ecoff and gas_target mips-lit or mips-big. + +Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com) + + * version.c: Bump to version 2.0.1. + +Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * write.c (chain_frchains_together): Check that seg_info (section) + is not NULL. + (write_object_file): Call obj_frob_file after setting the symbols, + not before. + +Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com) + + * Version 2.0 released. + +Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only. + +Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com) + + * read.h: Define stringer here. + read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these + places. + +Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * read.c (s_space): Multiply repeat count by mult, not fill. + +Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com) + + * read.c: Include ctype.h. + +Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + Patches from Eric Youngdale: + * make-gas.com: Find obstack.obj if it's not in the current + directory. + * read.c (s_ignore): Don't declare is_end_of_line. It's + redundant, and triggers a VMS gcc compiler bug. + + * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes + current segment as an argument. (Ignored in all cases but VMS.) + All callers and definitions changed. + +Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com) + + * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING + case compile again. + +Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com) + + * config/tc-m68k.c (isbyte): Accept all values from -255 to +255, + so "~0x80" won't be rejected. + + * config/obj-elf.c: No longer include elf/reloc.h. + (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section. + (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out + routines. + (obj_elf_xstab): New routine. + (obj_elf_set_size): Call as_warn, not fprintf. Pass desired + argument to s_ignore. Put "#if 0" around unused code. + (obj_pseudo_table): Use s_ignore instead of do-nothing routines. + Call elf_xstabs for .stabs and .xstabs operators. + + * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc". + + * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are + present. + + * configure.in: mips-bsd configuration was missing format spec. + Should use aout. + + * Makefile.in (Makefile): Depends on configure.in. + + * config/tc-mips.c (append_insn): Don't check for alignment of + frag in memory; alignment of instructions in section is a separate + matter. + + * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI + C availability. + + * listing.h: Always provide function declarations, not macros, so + pcc won't lose. + +Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com) + + * CONTRIBUTORS: Update Gilmore entry. + +Mon Mar 1 12:03:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com) + + * config/tc-sparc.c (sparc_ip): Correctly assemble prefetch + instructions. Accept integer prefetch function numbers. + +Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (s_xword): Now call big_cons, so large + constants are accepted, but symbolic values are not. GCC will not + generate the latter currently. + + * frags.c (frag_init): New function. + (zero_address_frag, bss_address_frag): Now initialized at run + time. + * as.c (main): Call frag_init. + +Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com) + + * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case: + Don't unget ch2 if we didn't get it. + +Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * doc/Makefile.in (TEXIDIR): Updated for new layout. + + * config/tc-sparc.c (s_common): Add support for ELF version. + (tc_gen_reloc) [BFD_ASSEMBLER]: New function. + * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]: + New macros. + (md_convert_frag): New macro. + + * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a + symbol, fix the offset so "+2" isn't required. + + * config/tc-i960.c (line_comment_chars, line_separator_chars): + Define as common/bss. + (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C + initializers are sufficient. + + * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd. + (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out". + (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros. + (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro. + * config/obj-aout.c: Use PARAMS macro for declarations. Remove + "IGNORE_DEBUG" conditional, since both branches are identical. + Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly + referencing symbol structure members. + (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function. + + * as.h (struct frag): Reordered a couple of fields for better + packing. + + * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the + section info. + (write_contents) [BFD_ASSEMBLER]: New function. + (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call + fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call + obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined. + (fixup_segment): Make sure common-section symbols get treated the + same as undefined symbols. + (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type + bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from + section info. + * write.h (fix_new): Update prototype. + + * tc.h (md_operand, md_convert_frag, tc_headers_hook, + md_section_align, md_undefined_symbol): Don't provide prototypes + if these are defined as macros. + (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and + section passed. + + * symbols.c (symbol_new): Argument NAME is now pointer to const. + Simplified STRIP_UNDERSCORE code. Remove assumptions about null + pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new + BFD symbol. + (colon): Display other/desc fields of redefined symbol only if + S_GET_OTHER and S_GET_DESC are defined. + (symbol_make): Argument NAME is now pointer to const. + (symbol_find, symbol_find_base): Likewise. + (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions. + * symbols.h: Fix prototypes for new const arguments. Add + prototypes for BFD_ASSEMBLER S_* functions. + + * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code + for changing to an existing section. + (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new, + called by subseg_new and subseg_set. + (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section, + given section name and subseg number. + (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly + new section/subsection. + + * read.c: Don't include ctype.h. + (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32 + for now; should be machine-dependent. + + * configure.in: Accept *-*-elf and *-*-solaris* as ELF format + targets, forcing BFD use. + +Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c: Use PARAMS macro for static function + declarations. Use BFD_RELOC_ macros everywhere, with + compatibility macros declared for non-BFD mode. + (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type + instead of enum reloc_type. + (emit_sparc_reloc): Commented-out function deleted. + (md_convert_frag): Deleted. + (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER. + (md_apply_fix): Changed calling sequence (conditionally) for BFD + version. + * config/tc-sparc.h (md_convert_frag): New macro. + + * config/obj-aout.c (obj_aout_stab): Refer to undefined_section, + not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead + of referencing fields directly. + + * write.c (cvt_frag_to_fill): New function; extracted from + write_object_file. + (write_object_file) [! BFD_ASSEMBLER]: Call it. + (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section + and set its size and flags. + + * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some + fields with BFD equivalents. Turn on back-pointers, and add + target-specific fields at end. + +Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/obj-coffbfd.c (fill_section): Don't set vaddr here. + (write_object_file): Set it here instead, so that fixup_segment + can see the correct value. + +Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * write.c (write_object_file): Check for errors and warnings and + bail out before processing contents. + (chain_frchains_together_1): New function, does most of the work + of remove_subsegs. + (chain_frchains_together) [BFD_ASSEMBLER]: New function. + (remove_subsegs) [! BFD]: Call it. + (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD + structures and routines. + + * config/obj-elf.*: New files. + + * config/mips.mt, config/rs6000.mt: Deleted. + + * config/h8300.mt: Don't specify compiler here. + + * config/z8k.mt: The z8k code depends on the z8k opcode table, + not the h8300 one. + * config/tc-z8k.h: Comment fix. + + * write.c: Reordered some functions for better inlining. + (fixup_segment): Linkrelax code is no longer conditional on + TC_I960. + +Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c, + obj-coffbfd.h}: support for the H8/500 + +Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here. + * write.c (write_object_file): Not here. + (fix_new): Initialize fx_addnumber. + + * listing.c: Don't include target-cpu.h explicitly, since as.h + includes it. + +Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP, + *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP. + (struct fix): Reordered fields for compactness and efficiency. + Converted some logical fields to 1-bit fields. + + * config/obj-aout.h: Use PARAMS. + [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE, + N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE. + + * read.c: Don't include listing.h; as.h includes it. Removed + DONTDEF code. + [BFD_ASSEMBLER]: Include subsegs.h. + (old_buffer, new_broken_words): Default initialization is + sufficient. + + * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH + to 0, define stdoutput. + (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure. + Call bfd_set_arch_mach. + (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not + bfd_close_all_done. Call bfd_perror on failure. + (output_file_append) [BFD_ASSEMBLER]: Don't define. + + * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition. + + * subsegs.h (segment_info_type): Always define. Omit field scnhdr + if not MANY_SEGMENTS. Define new field bfd_section if + BFD_ASSEMBLER. + (seg_info): New macro. + + * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused + variables, and some irrelevant comments. + + * Makefile.in (ALL_CFLAGS): Include $(BFDDEF). + (LIBS): Include $(BFDLIB). Don't bother with $(CLIB). + * configure.in: Permit --with-bfd-assembler now, with a warning. + Variable need_bfd is now a boolean, as is new variable bfd_gas. + Set BFDDEF and BFDLIB in Makefile when appropriate. + + * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code. + (main): Refer to flag_always_generate_output instead of + flagseen['Z']. + + * as.c (main) [BFD_ASSEMBLER]: Open output bfd. + (*_section) [BFD_ASSEMBLER]: Define them. + (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and + set section flags when appropriate. + * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified + section is not absolute, undefined, or an assembler internal one. + (absolute_section, undefined_section): Always define. + * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break + switch statements into if-else trees. + * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of + SEG_BSS and SEG_DATA. + + * as.h (frag_now_fix): New macro. + * symbols.c (colon): Use it. + +Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com) + + * config/tc-mips.c: Added mips support for mips-dec-bsd. + * config/tc-mips.h: Added mips support for mips-dec-bsd. + * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd. + * config/mips-opcode.h: Added mips support for mips-dec-bsd. + * configure.in: Added mips support for mips-dec-bsd. + * atof-generic.c: Define TRUE and FALSE if not defined. + +Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * version.c: Bumped version number to 1.93.05. + +Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/obj-coff.c (obj_emit_relocations): Don't use #elif. + (obj_emit_lineno): Don't need return at end of void function. + (obj_symbol_new_hook): Ditto. + + * config/tc-m68k.c: Removed some unused code. + (tc_aout_fix_to_chars): Array nbytes_r_length is now const. + + * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only + offset field is set. + +Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not + ENV64, emit no reloc. + (md_pseudo_table): For ".xword", call s_xword. + (s_xword): New function. + + * config/tc-sparc.c (architecture_requested, warn_on_bump, + md_relax_table): Use default zero initialization. + (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the + latter, instead of selecting with preprocessor conditionals. + +Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognise all sparclite variants + +Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change -- + accidentally changed to use subseg_change where it should have + been subseg_new. + +Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * expr.c (operand): If character other than comma or newline is a + logical end-of-line character, use the newline case. + From Eric Youngdale: + (operand): Set X_add_number field for floating-point numbers. + (operand): Treat zero byte as end-of-operand. + + * configure.in (per-target): Look for with_bfd_assembler option. + For now, only accept "no", until the merge is done. + + Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil): + * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c, + config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS. + * read.c: Finish conversion to S_* macros in the VMS only + parts of the program. Add "const" modifier to hex_value. + * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to + "ifdef OBJ_VMS". + * expr.c: Add "const" modifier to hex_value. + * symbols.c: Finish conversion to S_* macros in the VMS only + parts of the program. Add "const" modifier to + md_[long,short]_jump_size. Remove declaration of const_flag + (which will be declared in obj-vms.h). + * write.c: Add "const" modifier to md_[long,short]_jump_size. + Fix arguments to VMS_write_object_file. + * config-gas.com: New file. Script for VMS systems to set up the + configuration to build gas for VMS, and create config.status. + * make-gas.com: Redone to work with new scheme. + * obj-vms.c: Patch to fix bug where we were not correctly parsing the + stabs directives. + * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which + will swap bytes if needed on a big endian system. Use throughout + as needed. + * obj-vms.c (obj_aout_stab): Add code to generate listing file. + * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain + types of malformed stabs. Change parsing algorithm so that we are + more certain of having all of the information that we need on hand. + * obj-vms.c (final_forward_reference): New function, used to help + resolve the data types of as many struct elements as possible + when some part of the struct is not fully defined by the compiler. + * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation + stabs directives. + * obj-vms.c (VMS_write_object_file): Define all vtable psects + as symbols as well in the object file. Look for external functions + that start with "__vt.", and turn them into variables, since the + g++ compiler is incapable of doing this. + * tc-vax.c: Add '1' option for backward compatibility with older GCC + versions. + * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes. + * input-scrub.c (as_where): Fix bug where as would crash if we did not + have the name of the source file yet. + * config/ho-vms.h: define HO_VMS, not HO_VAX. + +Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com) + + * read.c (s_data): Always use "data_section", since it'll map to + SEG_DATA or SEG_E1 if needed. + (s_lcomm): Likewise with bss_section. + (s_fill): Use memset, not bzero. + +Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * read.c: Deleted some code under "#ifdef DONTDEF" that was for + handling GDB symbol table data. + + * config/obj-aout.h (segment_name): Delete definition. + (seg_name): Delete declaration. + * config/obj-bout.h (segment_name, seg_name): Ditto. + * config/obj-vms.h (segment_name, seg_name): Ditto. + * config/obj-coff.h (segment_name): Ditto. + * config/obj-coffbfd.h (segment_name): Ditto. + + * Changes for BFD_ASSEMBLER: + * obj.h (obj_crawl_symbol_chain): Declare only if not + BFD_ASSEMBLER. + (obj_header_append, obj_pre_write_hook): Ditto. + * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER. + (segT) [BFD_ASSEMBLER]: New typedef for "asection *". + (segment_name) If BFD_ASSEMBLER, look up BFD section name; + otherwise, use seg_name array. + (seg_name): Declare only if not BFD_ASSEMBLER. + (section_alignment): Declare only if not BFD_ASSEMBLER. + (big_section, reg_section, pass1_section, diff_section, + absent_section, text_section, data_section, bss_section): If + BFD_ASSEMBLER, declare as variables; otherwise, declare as macros, + mapping to segT enum values. + (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors + if these are used or defined, if BFD_ASSEMBLER. + (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old + subseg_new split into two functions. + (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now. + + * as.h (volatile): Don't define if already defined. + (had_errors, had_warnings): Provide prototypes for ANSI C even if + NO_STDARG. + (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2, + declare with format attribute for -Wformat checking. + +Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com) + + * app.c, config/tc-*.c: Don't include read.h, since it is already + included by as.h. + + * These are based on patches from Minh Tran-le + . + * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use + obj_format coffbfd and gas_target i386coff for target. + (i[34]86-*-isc*): New host (uses sysv). + * config/i386aix.mt: Removed (no longer used). + * config/mh-i386aix (RANLIB): Use true rather than /bin/true. + (MINUS_G): Removed. + (LDFLAGS): Added, defined as -shlib. + * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine. + * config/te-sco386.h (LOCAL_LABEL): Don't define. + (DOT_LABEL_PREFIX): Define. + * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label + name rather than L0\001. + * read.c (s_lcomm): Make a frag in SEG_BSS rather than using + local_bss_counter. + * symbols.c, symbols.h (local_bss_counter): Removed. + * write.c (write_object_file): bss no longer uses + local_bss_counter. Pass correct data and bss size to + VMS_write_object_file. + * config/obj-vms.c (VMS_write_object_file): Accept bss size as + argument, rather than using local_bss_counter. + * config/tc-m88k.c (s_bss): Don't use local_bss_counter. + * config/tc-sparc.c (s_reserve): Don't use local_bss_counter. + * config/obj-coffbfd.c (had_lineno, had_reloc): Removed. + (size_section): Restored sanity check. + (do_relocs_for): Base section address on s_paddr rather than + computing it. Adjust a29k R_IHIHALF special case to account for + section paddr (used to require paddr to be zero). If there are no + reclos, set s_relptr to 0. Set relocation size in object_headers. + (fill_section): Always set s_vaddr here, removing + ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set + NOLOAD for i386 .bss, because it confuses the SVR3 native linker. + Set STYP_INFO for .comment. + (coff_header_append): Use object headers and H_{SET,GET}_* macros. + Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER. + (crawl_symbols): Handle 8 character section name correctly. Use + H_{SET,GET}_* macros. + (do_linenos_for): Set lineno size in object_headers. + (write_object_file): Use H_{SET,GET}_* macros. Don't bother to + set s_vaddr here. If string_byte_count remains 4, set it back to + 0, and only write strings out if there are some. Call + fill_section before do_relocs_for and do_linenos_for. + (obj_coff_section): Handle optional quoted second argument giving + section characteristics. + (obj_coff_bss): Added to handle .bss. + (obj_coff_ident): Added to handle .ident (puts string in .comment + section). + (obj_coff_lcomm): Put common symbols in .bss, not .data. + (fixup_mdeps): Change to segment. Call frag_wane after + md_convert_frag. + (fixup_segment): Explicitly check S_IS_COMMON before making 386 + adjustment (already happened only for common symbols, but this is + clearer). + * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define. + * config/tc-i386.c (s_bss): Don't use if I386COFF. + (md_pseudo_table): Ignore .optim and .noopt. + (tc_coff_sizemachdep): New function. + * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3 + compatibility. + (LOCAL_LABEL): Removed definition. + (DOT_LABEL_PREFIX): Defined. + +Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com) + + * app.c (app_push): Use memcpy, not bcopy. + (do_scrub_next_char): For \", return " not '. + (symbol_chars): Now const. + + * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f" + and "0b". If LOCAL_LABELS_DOLLAR, check for "0$". + + * config/obj-coff.h: Don't use #elif. + + * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't + have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.) + +Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com) + + * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is + already defined. + +Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * app.c (do_scrub_begin): allow single quote strings if so + configured. + + * config/*z8k*: checkpoint + +Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com) + + * read.c (read_a_source_file): avoid calling xmalloc (0). + +Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com) + + * listing.c: Call xmalloc, not malloc; don't declare malloc. + + * Changes to support SCO 3.2v4: + * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or + SEG_BSS, fill with NOP_OPCODE. + * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS. + * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not + using ZERO_BASED_SEGMENTS. + (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but + never set segment address for SEG_E2 (.bss) and don't write out + SEG_E2 contents. Set .init and .fini sections to STYP_TEXT. + (obj_coff_endef): Don't merge labels or symbols awaiting forward + definitions, and don't merge tags with non-tags. Check for .bf + rather than just checking whether the second character is b and + the third character is f. + (obj_coff_val): gcc can generate values which we don't handle + correctly; discard information for now, since it only affects the + debugging information. + (tag_find_or_name): Don't insert tags in the symbol table. + (yank_symbols): Don't merge labels. + (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is + already defined. Fill subsegments with NOP_OPCODE, not 0. Don't + set segment address if ZERO_BASED_SEGMENTS. + (obj_coff_section): Accept and ignore a trailing quoted string, as + used in AT&T i386 syntax. + (fixup_segment): Take segment as argument. On the i386, adjust PC + relative addends by the segment vaddr. + * tc-i386.h: Define SUB_SEGMENT_ALIGN. + * tc-a29k.h: Define ZERO_BASED_SEGMENTS. + * tc-i386.c: (i386_operand): If I386COFF, accept any segment type. + +Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com) + + * config/obj-coffbfd.c: Include libcoff.h. + + * version.c: Now version 1.93. + +Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com) + + * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do + power-of-two alignment for .align. + + * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial, + and leave everything else alone. + +Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (as.new): Don't bother saving as.old. + + * write.c: Conditionalize on OBJ_VMS, not VMS. + (magic_number_for_object_file): Don't define if OBJ_VMS. + + * config/obj-vms.c: Changes for traditional C. + +Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/ho-generic.h (malloc, realloc): Declare. + + * Lots of comment/whitespace changes. + + * write.h (struct fix): Some fields reordered, narrowed. + + * read.c (MASK_CHAR): Define using C types, not magic number. + + * as.c, input-file.c: Deleted some unused code. + + * app.c, as.h: Doc fix. + + * flonum-konst.c, flonum-mult.c: Include ansidecl.h. + + * as.h (xmalloc): Argument is long. + + * xmalloc.c (error): Remove declaration; as.h takes care of it. + + * doc/as.texinfo: Regrouped documentation of some command-line + options. Updated options documentation for m68k. Some minor + wording/punctuation changes. + +Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Accept target OS "vms". + + * symbols.c: Merged ANSI and non-ANSI function decls, using + PARAMS macro. + + * xmalloc.c: Just include as.h, don't bother trying to figure out + other header files. + + * strstr.c, strerror.c: Deleted. + * Makefile.in: Deleted references. + + * config/tc-ns32k.c: Don't include header file for string + declarations; leave that to ho-*.h. + +Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com) + + * config/coff_gnu.h [TC_I860]: Guesses for reloc type values, + imported from FSF sources. + + * messages.c (strerror): Declare unconditionally. + + * as.h: Delete alloca and register definitions. + + * config/atof-ieee.c (mask): Now const. + + * obstack.c, obstack.h: Deleted. + + * as.h (flag_readonly_data_in_text): New flag. + * as.c (main): Set it for -R. + + * as.h (flag_suppress_warnings): New flag. + * as.c (main): Set it for -W. + * messages.c (as_warn): Check it instead of flagseen['W']. + + * as.h (flag_always_generate_output): New flag. + * as.c (main): Set it for -Z. + + * config/tc-sparc.h: Define NEED_FX_R_TYPE. + * config/tc-a29k.h: Ditto. + * write.h (struct fix): Don't conditionalize fx_r_type field on TC + macros. + + * as.h: Merged ANSI and non-ANSI function decls, using PARAMS + macro. + * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h, + obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h, + write.h: Likewise. + * read.c: Likewise. + + * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in + xrealloc from xrealloc.c. + * xrealloc.c: Deleted. + * Makefile.in (REAL_SOURCES, OBJS): Adjusted. + + * configure.in: For host CPU a29k, rs6000, vax, consider using bsd + or vms ho- files. + + * config/ho-sysv.h (setbuffer, HO_USG): Deleted. + + * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer; + don't initialize it with NULL. + + * config/ho-vax.h (M_VAX): Deleted; was unused. + + * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h: + New files imported from FSF version, contributed by Eric Youngdale. + * README-vms-dbg, config/vms: Deleted. + + * ChangeLog, config/ChangeLog: Merged. + + * config/*tahoe*, configure.in: Tahoe support brought in from FSF + version. + + * input-file.c (input_file_open): Eliminate call to setvbuf. + [USG] (setbuffer): Deleted macro. + +Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com) + + * all files: Whitespace changes for GNU indentation style, done by + GNU `indent'. Some cleanup still needed, especially of comments. + + * configure.in: No te-386bsd.h file exists; don't try to use it. + + * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf. + + * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881; + could be doing emulation. + +Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + z8000 documentation + * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo: + all modified. + +Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h. + + * subsegs.h: add extern to segment_info declaration. + + * read.h: added extern declarations for comment_chars, + line_comment_chars, and line_separator_chars. + read.c, app.c: removed definitions of comment_chars, + line_comment_chars, and line_separator_chars. + + * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined, + still accept (but don't require) OPTIONAL_REGISTER_PREFIX before + the register name. + (insert_reg): put REGISTER_PREFIX before register names before + putting them in the symbol table. + * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not + M68KCOFF. + + * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss + section. + + * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS, + comment_chars, line_comment_chars and line_seperator_chars + consistently const, and always initialized them. Included read.h. + +Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * tc-sparc.c (sparc_ip): Add code to flag error if an absolute + constant will not fit in an immediate field. + (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow. + +Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com) + + * obj-coff.c (callj_table): Delete global variable. + (obj_emit_relocations): Define it locally here, and only if + TC_I960 is defined. + + * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name. + (m68k_ip): Don't warn about bignum used as float bit-pattern. + + * obj-coff.c: Replaced ANSI and non-ANSI function declarations + with a single set using PARAMS macro. + + * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length + of 2. + + * tc-i960.c: Missed a couple of 0->NO_RELOC conversions. + + * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values, + so widening works consistently. + +Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com) + + * version.c: Put conditional "const" before version_string, not + before dummy function for VMS. Now version 1.91.03. + + * app.c (do_scrub_next_char): Need double-\ before `000' to show + printed rep of null character. + +Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com) + + * obj-coffbfd.c (write_object_file): check return value of + bfd_close_all_done. + +Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com) + + * Support for i386-sysv. + obj-coffbfd.c (do_relocs_for, write_object_file): set segment + addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can + be used to set them all to zero as was done before. + (fill_section): segment addresses now set in write_object_file. + (fill_section): Don't set STYP_NOLOAD for .bss section. + (fixup_segment): 386 uses strange common symbol format. + tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for + compatibility with SVR3.2 linker. + * configure.in: i386-sysv and i386-sco use coffbfd. + + * app.c (do_scrub_next_char): discard whitespace after a label. + +Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4 + hosts, use the sysv configuration for solaris2 + +Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + fix i960+non-bfd coff bit rot. + * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line): + support for C source listings. (obj_coff_endef): look in the right + part of the symbol for the symbol name + + * tc-m68k.c (get_num): make it work for all segments, not just the + first three. + +Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) + + * configure.in: recognize i386-*-bsd emulation. + +Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: use the cpu-vendor-os triple for host and target + +Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * obj-coffbfd.c (write_object_file): don't fixup for the z8k + * tc-z8k.c: lots of bug fixes + +Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com) + + * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition + #elif, since it is not supported by old compilers. + ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a + couple of expressions in tc-m68k.c. + +Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * read.c (cons): If NO_RELOC is defined, use it. + + * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new. + +Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com) + + * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require + local labels to start with a .) and set REGISTER_PREFIX to %. + tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined. + +Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com) + + * messages.c: Comment changes. + +Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com) + + * as.h: Test if __STDC__ is defined only, don't test its value. + * messages.c: If __STDC__ is not defined, define NO_STDARG. + +Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com) + + * listing.c (debugging_pseudo): Add stabs and stabn as things to + ignore. + +Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com) + + * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all + sections starting from zero, rather than making them consecutive. + This makes subsequent reloc calculations easier, esp if the object + format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily) + allocate lcomm in .data rather than in .bss. It seems that some + tools can't cope with a non-zero sized bss before linkage. + +Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * tc-m68k.c: Replace "enum m68k_architecture" with "int" + throughout. That enum no longer means what we thought it meant. + + * tc-m68k.c (md_assemble, md_parse_option): Handle new + "-mno-688[58]1" options. + + * tc-m68k.c: Added CPU32 support. + +Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * tc-m68k.c (m68k_ip): An(disp) is not pc relative. + +Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES. + Change LIBDEPS dependence to LIBS. + +Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (install): if $(tooldir) exists, install as in + $(tooldir)/bin. + +Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com) + + * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any + .word is < -32768 or > 32767. The -J flag causes the error to be + ignored. This is to catch over-sized switches generated by gcc on + systems which don't support the broken .word hack. + as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD. + write.c (fixup_segment): check for signed .word overflow if + WARN_SIGNED_OVERFLOW_WORD. + + * write.c (fixup_segment): fixed missing parens in expression + checking for byte or word overflow. + + * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD. + obj-coffbfd.c (fixup_segment): check for signed .word overflow if + WARN_SIGNED_OVERFLOW_WORD. + + * obj-coffbfd.c (fixup_segment): fixed missing parens in + expression checking for byte or word overflow. + +Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Support for i386 coff + * obj-coffbfd.h : added stuff + * tc-i386.c (tc_coff_fix2rtype): new function + * tc-i386.h : new coff defines + +Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com) + + * input-scrub.c (input_scrub_push): call input_file_begin, not + input_scrub_begin. + messages.c (as_perror): print ": " between the passed in error and + the strerror, like perror does. + +Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: use gas_target instead of modifying target_cpu. + From Steve Chamberlain: + Makefile.in: Handle m68*-*-coff*. + read.c, read.h: add mult argument to s_space + + * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge + Motorola and MIT syntax; gas can now assemble either type of + file. + tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files. + From Steve Chamberlain: + m68kcoff.mt: for m68k COFF. + obj-coffbfd.c: (fixup_mdeps) added + (size_section) removed bad sanity check + (fill_section) added rs_machine_dependent case + (write_object_file) call fixup_mdeps + (fixup_segment) set fx_subsy to 0. + obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and + handle m68k. + tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala + pseudo ops. + +Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (LIBS): Include opcode library. + +Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com) + + * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers + including zero are accepted, pass +0.0. + +Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: map "as" through program_transform_name when + installing. + + * doc/Makefile.in: map "as" through program_transform_name when + installing. + +Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * Makefile.in (as.new): Depend on LOCAL_LOADLIBES. + +Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com) + + * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars), + tc-i960.c (md_ri_to_chars): Always output bout object file in + little endian byte order (used to use endianness of host). + +Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * config/tc-m68k.c (init_table): Now const. Always include 68851 + data, so that "bc" is available to 68040 cache instructions. + Added "tt0", "tt1", and 68ec030 variants. + (md_assemble): Complain if 68000 (only) and 68881 are specified. + (enum _register): Added TT0, TT1. + (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass + line number correctly in "internal error" messages. Don't print + architecture-mismatch message for operand errors. + + From Colin Smith (colin@wrs.com): + * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather + than install_operand. + +Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * listing.c (buffer_line): rewind to the start of include + files, they might be included twice. + + * z8k.c, z8k.h, z8k.mt: z8000 support stuff + +Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: defined TARGET_CPU for C code so that it can choose + one element of a family. + + * tc-m68k.c: use TARGET_CPU to choose default cpu type. + + * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB + so that we can assemble hand-written libgcc code. + +Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * messages.c (as_warn): Use fputs, not fprintf, with a buffer that + has already been formatted (but may still contain %-characters). + (as_bad): Likewise. + +Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com) + + * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be + written with indirection on the last two operands, which can be + either data or address registers. Added a new operand type 'r' + which accepts either register type. Added '(' to notend stuff in + tc-m68kmote.c to accept (a0):(a2) in cas2 instruction. + +Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com) + + * as.h (enum _relax_state): Start off at one, not zero, to better + catch uninitialized-variable errors. + (linkrelax): Declare new variable. + + * messages.c (warning_count, error_count): Default initializer is + sufficient. + + * write.c: Merged some declarations, using PARMS macro. + (text_frag_root, data_frag_root, bss_frag_root, text_last_frag, + data_last_frag): No longer static. + (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is + defined, call it. Change segments before calling fixup_segment. + (relax_align): If linkrelax, provide extra padding. + + * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite + their not having symbols associated. + + * tc-i960.c (norelax, instrument_branches): Default initializer is + sufficient. + (linkrelax): Delete variable definition. + (mem_fmt): Call fix_new with NO_RELOC. + (tc_bout_fix_to_chars): Handle alignment relocs. + (i960_handle_align): New function. + * tc-i960.h (linkrelax): Delete declaration. + (HANDLE_ALIGN): New macro; calls i960_handle_align. + (NEED_FX_R_TYPE, NO_RELOC): New macros. + +Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com) + + * config/sparc.mt: New file. Grab sparc opcode table from bfd + library. + +Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: always create installation directories. Removed + MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed + FLAGS_TO_PASS to recursive makes. + + * doc/Makefile.in: always create installation directories. + +Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was + being used with args swapped, causing occasional lossage when + refilling buffers after an include file. + +Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com) + + * messages.c (as_tsktsk): Use correct ANSI form for stdarg + version. Discard bogus DONTDEF version. + (as_warn, as_bad, as_fatal): Likewise. + +Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com) + + * config/tc-m68k.c (m68k_ip): If instruction is invalid for the + selected architecture, print a message saying so and listing what + processors support it, rather than saying "operands mismatch". + +Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com) + + * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks. + + * config/ho-rs6000.h (M_RS6000): Don't define it. + (free): Declare it. + (BROKEN_ASSERT): Define it if not __STDC__. + +Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com) + + * sparc.mt: New file. + +Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com) + + * tc-m68k.c: ".align N" means align to N-byte boundary *only* + if TN_SUN3; otherwise align to 2**N-byte bounary. + +Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * read.c (s_fill): make the .fill size clamped error a warn and + fix bug where 0's were always placed. + + * config/tc-h8300.c: if a :8 is seen after an operand, fill top + two bytes of any constant with 0xff: + +Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/tc-m68k.c (md_pseudo_table): fix the .align thing + the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo. + +Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com) + + * tc-m68k.c (try_index): Error if index scaling specified and + assembling for an older CPU than a 68020. + +Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com) + + * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take + fx_offset into account. + +Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com) + + * configure.in (mips host): Accept "ultrix" with version number. + + * expr.c (floating_constant): Separate "=-" to avoid confusing + ancient or broken compilers. + + * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate + processor/opcode mismatch, so reword the error message. + (md_assemble): If no CPU has been set (even if FPU/PMMU + characteristics have been), default to 68020. Don't need extra + quotes around error string. + +Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * read.c (potable): Revert sac's incorrect change made Jul 13. + Align really is supposed to be ptwo not nbytes. + +Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * Makefile.in: _Do_ include libiberty. (from sef) + +Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com) + + * expr.c (integer_constant): Handle "0f" and "0b" label references + properly. + +Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * write.c (fixup_segment): if relaxing, don't do anything. + * config/obj-bout.[ch] : maintain the a_relaxable file header info + * config/tc-i960.c: new option -linkrelax + +Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * expr.c (expr): allow SEG_BSS in expressions + * read.c (potable): align should be nbytes, not ptwo! + * write.c (write_object_file): extra glue for new bss attributes + (relax_segment): SEG_BSS is ok now + * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes + +Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com) + + * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT + +Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com) + + * configure.in: recognize m680x0 as having sun3 emulation mode for + vxworks environment. + + +Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * Makefile.in: Add program_suffix (parallel to program_prefix) + +Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * app.c (process_escape): new function to handle escapes the right + way, (do_scrub_next_char): use new function + * cond.c (s_ifdef): do ifdef/ifndef right + * read.c (s_fill): make the , expressions optional like the doc + says + * config/tc-h8300.[ch]: better warnings + +Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * subsegs.c (subsegs_begin): create bss0_frchainP in the same was + as data0_frchainP + + * write.c (write_object_file): various changes to handle data in + the BSS segment in much the same was as stuff in the DATA segment. + + * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do + pcrel data stuff. (md_estimate_size_before_relax): when relaxing a + 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into + the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put + it into SEG_BSS + +Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * expr.c(expr): allow SEG_REGISTER in expressions. + * read.c(pseudo_set): register expressions can be the source of a + set. + * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to + goto SEG_TEXT (if a.out) + * write.c (write_object_file): If a.out don't use the old way for + -R. + * config/obj-a.out (s_sect): complain if the user tries to use a + subsegment with a value which might interfere with out -R hackery. + * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table + rather than use ugly if tree. (init_regtable): insert register + names into symbol table. + +Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com) + + * write.c (write_object_file): keep the fix_tail clean, which + fixes a bug in -R where relocations were being lost. + +Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com) + + * configure.in: recognize m680x0 as having sun3 emulation mode for + vxworks environment. + +Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com) + + * configure.in: recognize m680x0 as an m68k + +Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * configure.in: Recognize sparclite as a sparc variant. + + * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new + -Asparclite flag. + +Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/tc-a29k.c: lint + * listing.c, expr.c: patches from Andrew Smith + +Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * doc/Makefile.in: use m4 rather than gm4. + +Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * obj-coffbfd.c: use is a synonym for section, (do_relocs_for): + calc the base of relocs correctly. + * tc-a29k.c (parse_operand): allow expressions to be in any section. + +Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com) + + * as.c, write.c: use -K rather than -k for the broken word warning + option. + +Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: do not print recursion lines. + +Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: the tooldir copy of gas goes directly in tooldir. + +Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * write.c (write_object_file): For b.out format, round up section + start addresses to match required alignment. + +Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * Makefile.in (install): Install into $(tooldir)/bin, since that's + where gcc looks for it. + +Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com) + + * Makefile.in: Changed some lines to be less confusing for some + makes. + + * input-file.c: Conditionalize on _IOFBF, not VMS. + + * read.c, write.c: Change a series of ifdef/elif to + ifdef/else/ifdef etc. + +Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com) + + * symbols.c (fb_label_init): fix sizeof to memset. + +Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: install the man page. + + * Makefile.in: pass down MAKEINFO explicitly on info. + + * doc/Makefile.in: use $(MAKEINFO) not makeinfo. + +Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * flonum-const.c: renamed flonum-konst.c to stop dos name + conflict. + +Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com) + + * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from + tc-m68k.h to te-sun3.h. + +Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com) + + * configure.in: vxworks68 gets te-sun3.h. + + * expr.c: remove limitation that local_labels_dollar or + local_labels_fb must be < 10. + + * symbols.c: remove local_labels_dollar, replace with a function + interface for a sparse array. All users adjusted. + + * te-sun3.h: add LOCAL_LABELS_DOLLAR. + +Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * doc/Makefile.in: commented out line for building as-all.texinfo. + This is temporary. + + * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks. + +Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added check target. + +Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: added tooldir and program_prefix. + +Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com) + + * write.{c,h} (fix_new): Make these declarations consistent. + +Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com) + + * Makefile.in (strerror.o): Add rule so that broken Sun make can + work in subdirs. + +Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com) + + * read.c, obj-coffbfd.c : fix h8300 specific bit rot + + * expr.c (operand): if can't work out what sort of operand it is, + then look through FLT_CHARS for a hint. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + + * doc/Makefile.in, doc/configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * expr.c: If an expression is single comma, then return with + SEG_ABSENT rather than an error - since the sparc front end does + really strange things with things like fbge,a + + * as.h: include bfd.h if using many sections + * expr.c: LOCAL_LABELS_FB had been changed to lower case - so + local labels didn't work. + * listing.c (list_symbol_table): don't core dump when there's no + symbol there. + * write.c, write.h: call fix_new with the right number of args on + the H8. + * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make + errors nices + +Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * app.c: MRI compatibility - allow single quote to start a string. + * 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- 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. + +Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: put header files before C source for TAGS; remove + references to non-existent syscalls.h. + + * read.c, write.c subsegs.c: back out the .bss changes. + + * obj-aout.c: do not include stab.gnu.h if NO_LISTING. + + * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place. + + * a.out.h: removed. + +Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM) + + * symbols.c (local_label_name): symbols now start with ^A. + + * read.c, subsegs.c, write.c obj-coff.c: added handling of + `.bss` pseudo op for unitialized data. The new gcc (1.37.9x) + generate these sections. .align: will use NOP_OPCODE or 0 + for padding. This is just for being nice to the + disassembler. + + * expr.c (operand): changed to generate local label "\001L0" + starting with a ^A so that it is recognized as a local label. + + * as.c (perform_an_assembly_pass): zero bss_fix_root, too. + + * tc-i386.c: tc-i386.c: added handling of the following opcodes: + i/o opcodes - inb, inw, outb and outw. string manipulation with + att syntax - scmp, slod, smov, ssca, ssto. + + * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss + to just after .file . + + In obj_crawl_symbol_chain() where it tries to put the external + symbols apart, with the condition: + (!S_IS_DEFINED(symbolP) && + !S_IS_DEBUG(symbolP) && + !SF_GET_STATICS(symbolP)) + it was moving too many symbols out. So I switch it back to the + condition: + (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP)) + + In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO + so that we don't use the F_RELFLG which make the linker complain + that somebody has stripped the relocation info. + + Also, the AIX ld program require that the relocation table + is sorted by r_vaddr like the standard ATT assembler does. + + [he also changed the sizeof(struct ...)'s into the coff + style FOOSZ macros. I'm not sure this is right, but I can't + remember why. xoxorich.] + +Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in, doc: use the doc. Build it, install + it, clean it, etc. + +Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com) + + * read.c: white space and comments only. + + * configure.in: use the new atof-ns32.c for ns32k. + + * write.c: comment change only. + + * tc-m88k.[hc]: pulled in from hack's unfinished work. These + aren't yet integrated. + + * tc-i860.[hc]: blew off the dust. Something must still be done + about conflicting relocation types. + + * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the + real thing. + + * tc-i960.c, tc-sparc.c: white space and comments only. + + * tc-a29k.h: delete duplicate macro definition. + + * new file atof-ns32k.c copied from hack's last unreleased gas. + +Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com) + + * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work + rather than abort. + + * nearly everything. flush ChangeLog, package as gas-1.92.1. + ChangeLog's prior to this are sketchy at best. I have logs. + They just aren't ChangeLogs.