| Sat Dec 30 23:42:51 1995 Jeffrey A Law (law@cygnus.com) |
| |
| * ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset |
| addresses for static variables. |
| |
| Thu Dec 21 12:54:32 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
| |
| * config/tc-ppc.c (mapping): Make @got give a real GOT relocation, |
| and xgot give the old toc16 relocation. |
| (md_apply_fix3): Support all GOT relocations. |
| |
| Wed Dec 20 14:57:17 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-mips.c (load_address): Correctly handle a constant in |
| SVR4_PIC case. From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>. |
| |
| Fri Dec 15 14:25:07 1995 J.T. Conklin <jtc@rtl.cygnus.com> |
| |
| * config/tc-sh.c (parse_reg): Recognize SH3 registers. |
| (get_specific): Handle A_SSR, A_SPC and A_REG_B. |
| (build_Mbytes): Handle REG_B. |
| |
| Fri Dec 15 16:07:25 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro. |
| |
| Fri Dec 15 12:11:48 1995 Raymond Jou <rjou@mexican.cygnus.com> |
| |
| * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS. |
| |
| Thu Dec 14 15:09:52 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/obj-coff.c (write_object_file): Set the s_align field to |
| the number of bytes, rather than to the power of 2. |
| |
| Tue Dec 12 12:19:37 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * Makefile.in (DISTCLEAN_HERE): New variable. |
| (distclean): Use it. |
| (maintainer-clean): Depend upon clean-here rather than clean, |
| distclean, and clean-info. Run make maintainer-clean in doc. |
| Remove files listed in DISTCLEAN_HERE. |
| * doc/Makefile.in (maintainer-clean realclean): Split out from |
| distclean. Depend upon clean-info and distclean. |
| |
| Mon Dec 11 16:23:51 1995 Stan Shebs <shebs@andros.cygnus.com> |
| |
| * mac-as.r: Fix copyright and version strings. |
| (cfrg): Use PROG_NAME instead of literal name. |
| |
| Mon Dec 11 14:14:08 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * read.c (read_a_source_file): If tc_unrecognized_line is defined, |
| call it. |
| * config/tc-a29k.h (tc_unrecognized_line): Define. |
| * config/tc-a29k.c (a29k_unrecognized_line): New function. |
| (md_operand): Handle a29k style local dollar labels. |
| |
| Wed Dec 6 17:52:52 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE. |
| |
| Tue Dec 5 13:26:34 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * read.c (s_fill): If md_flush_pending_output is defined, call |
| it. |
| |
| Mon Dec 4 15:10:53 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * config/obj-coff.c (size_section, fill_section, fixup_mdeps): |
| Treat rs_align_code like rs_align. |
| |
| Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk) |
| |
| * config/tc-arm.c (cp_address_required_here): Set pre_inc when |
| converting an absolute address into a PC-relative one. |
| |
| Fri Dec 1 11:57:56 1995 Stan Shebs <shebs@andros.cygnus.com> |
| |
| * mpw-config.in: Don't always use te-generic.h for emulation. |
| (powerpc-apple-macos): Use emulation te-macos.h. |
| * mpw-make.sed (install, install-only): Edit in Mac-specific |
| install procedure. |
| |
| Fri Dec 1 10:59:25 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * configure.in: Improve message about unsupported ELF targets. |
| * configure: Rebuild. |
| |
| * config/tc-m88k.c (m88k_do_align): Correct check for whether fill |
| pattern is zero. From Manfred Hollstein. |
| |
| Thu Nov 30 13:25:49 1995 Kim Knuttila <krk@cygnus.com> |
| |
| * config/tc-ppc.c (ppc_pe_section): To get the alignment right for |
| the various idata sections, we check the name on the .section pseudo. |
| |
| Thu Nov 30 11:23:42 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> |
| |
| * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not |
| add section's paddr to add_number; compatibility to native as and |
| ld forbids. |
| |
| Wed Nov 29 23:14:27 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3. |
| |
| * hash.c (struct hash_entry): Moved here... |
| * hash.h (struct hash_entry): ...from here. |
| |
| * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj |
| if it's already known to be null. |
| |
| Wed Nov 29 13:00:20 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
| |
| * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32 |
| bit relocs converted to PC relative relocs. This turned out to |
| add the offset from the beginning of .text twice. |
| |
| Tue Nov 28 10:42:36 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * stabs.c (s_stab_generic): In 's' case, free string from |
| obstack. |
| |
| * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field |
| sy_name_offset. |
| * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]: |
| Ditto. |
| |
| * subsegs.h (segment_info_type): Make bitfields unsigned. |
| |
| * expr.h (struct expressionS): Make X_op and X_unsigned bitfields, |
| and move them together. On most systems this will reduce the |
| structure size by one word. |
| (operatorT): Define O_max. |
| * expr.c (expr_begin): Verify that X_op is wide enough to hold |
| O_max. |
| |
| * read.c (pop_insert): Print error returned by hash table |
| insertion code. |
| |
| * as.c (dump_statistics): Split out from main; dump some hash |
| table stats and target-specific stats. |
| (start_time): No longer automatic to main. |
| (main): Set file-level start_time and call dump_statistics at |
| exit. Exit by calling xexit. |
| (show_usage): Make --statistics description less specific. |
| * subsegs.c (subsegs_print_statistics): New function. |
| * write.c (write_print_statistics): New function. |
| (n_fixups): New static variable. |
| (fix_new_internal): Increment it. |
| * read.c (read_print_statistics): New function. |
| * read.h (read_print_statistics): Declare. |
| * symbols.c (symbol_print_statistics): New function. |
| * symbols.h (symbol_print_statistics): Declare. |
| * hash.c (hash_print_statistics): New function. |
| * hash.h (hash_print_statistics): Declare. |
| * config/tc-i386.c (i386_print_statistics): New function. |
| * config/tc-i386.h (i386_print_statistics): Declare. |
| (tc_print_statistics): New macro. |
| * messages.c (as_fatal, as_assert, as_abort): Use xexit, not |
| exit. |
| |
| * hash.c (DELETED): Rewrite to use a valid but unique address. |
| (START_POWER): Reduce to 10. |
| (enum stat_enum): New enumerator, replacing STAT_* index macros. |
| Add new values for counting strcmp calls. |
| (GROW_FACTOR): New macro. |
| (hash_grow): Use GROW_FACTOR. Rewrite for quick returns instead |
| of nesting blocks. |
| (FULL_VALUE): New macro. Use 1/4 of table size instead of 1/2. |
| (hash_new): Use FULL_VALUE. |
| (struct hash_control): Definition moved here. |
| (hash_code): Don't mask to low bits. |
| (hash_ask): Mask returned hash code here. Check hash value before |
| calling strcmp; count strcmp calls. |
| * hash.h (struct hash_control): Declare, don't define, here. |
| (HASH_STATLENGTH): Deleted. |
| (struct hash_entry): Add field for hash code. |
| (hash_say, hash_apply): Don't declare. |
| |
| * hash.c (destroy): Return void. |
| (applicatee): Ditto. |
| (main): Fix declarations. |
| (hash_apply): Return void. Argument `function' returns void. Put |
| inside "#ifdef TEST". |
| (hash_say): Define only if TEST is defined. |
| * hash.h (hash_apply, hash_say): Declarations deleted. |
| |
| Mon Nov 27 13:18:25 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * configure: Rebuild with autoconf 2.7. |
| |
| Tue Nov 21 18:39:01 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * aclocal.m4 (AC_PROG_CC): Remove local definition. |
| * configure: Rebuild with autoconf 2.6. |
| |
| Mon Nov 20 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-ppc.c (ppc_debug_name_section_size): Remove. |
| (ppc_stabx): Don't increment ppc_debug_name_section_size. |
| (ppc_bc): Likewise. |
| (ppc_frob_file): Remove. |
| * config/tc-ppc.h (tc_frob_file): Don't define. |
| (ppc_frob_file): Don't declare. |
| |
| Mon Nov 20 13:37:05 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h. |
| * config/alpha-opcode.h: Include one-operand variants of jmp and |
| jsr. |
| |
| * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict |
| with te-delta.h in 8.3 file systems. |
| * configure.in: Adjusted. |
| |
| Thu Nov 16 12:49:38 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-mips.c (s_err): Remove; just use the one in read.c. |
| |
| * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal |
| number. |
| * expr.c (operand): Handle MRI suffixes after unadorned 0. |
| |
| Thu Nov 16 00:21:44 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| Version 2.6 released. |
| * Makefile.in (VERSION): Updated to 2.6. |
| |
| * config/obj-coff.c (write_object_file): Change use of md_do_align |
| to pass a pointer rather than a fill value, to match other uses. |
| |
| Wed Nov 15 03:52:00 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon. |
| |
| * as.c (main): Move md_end call to just after call to |
| perform_an_assembly_pass. Delete cpu-specific code here. |
| * config/tc-i960.h (md_end): New macro, calls brtab_emit. |
| * config/tc-arm.c (md_end): Unused function deleted. |
| * config/tc-ns32k.c (md_end): Ditto. |
| |
| * config/tc-i386.c (i386_align_code): New function, moved here |
| from HANDLE_ALIGN macro. |
| * config/tc-i386.h (HANDLE_ALIGN): Call it. |
| |
| Mon Jul 31 14:53:19 1995 Alan Modra <alan@spri.levels.unisa.edu.au> |
| |
| * config/tc-i386.h (md_do_align): cast fill and 0x90 to char |
| before comparing |
| |
| Mon May 1 10:91:49 1995 Alan Modra <alan@spri.levels.unisa.edu.au> |
| |
| * config/tc-i386.h (md_do_align): Make ".align n,0x90" generate |
| multi-byte nops to avoid changing gcc. The necessary gcc change |
| might break old assemblers. |
| |
| Sat Apr 22 20:53:05 1995 Alan Modra <alan@spri.levels.unisa.edu.au> |
| |
| * config/tc-i386.h (md_do_align, HANDLE_ALIGN): Add macros to |
| generate optimal multi-byte nop instructions for ".align n" |
| ".align n,0x90", and aligns requiring more than 15 bytes of |
| padding still generate multiple 0x90's as before. |
| |
| Mon Nov 13 17:40:21 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-m68k.c (s_mri_until): Call pop_mri_control. |
| |
| Mon Nov 13 20:39:06 1995 Stan Shebs <shebs@andros.cygnus.com> |
| |
| * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations. |
| * configure: Update. |
| * mpw-make.sed: Reorder commands to make sed happier. |
| * config/te-macos.h: New file. |
| * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac. |
| |
| Sun Nov 12 21:14:56 1995 Jeffrey A Law (law@cygnus.com) |
| |
| * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for |
| conditional branches. |
| (md_apply_fix): Likewise. |
| |
| Thu Nov 9 16:14:01 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to |
| generate a reloc which the linker will not handle correctly. Fix |
| overflow checking--R_IREL is 18 bits, not 17. |
| |
| Wed Nov 8 19:59:36 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from |
| from a PC relative reloc if TC_A29K. |
| |
| * config/tc-a29k.c (line_separator_chars): Restore '@'. Existing |
| code depends upon it. |
| |
| * config/tc-a29k.c (md_operand): Handle $float, $double, and |
| $extend. Based on code from Eric Freudenthal |
| <freudenthal@nyu.edu>. |
| * config/tc-a29k.h (LEX_DOLLAR): Define. |
| * read.c (LEX_DOLLAR): Define if not defined. |
| (lex_type): Use LEX_DOLLAR. |
| |
| Wed Nov 8 16:38:14 1995 Eric Freudenthal <freudenthal@nyu.edu> |
| |
| * configure.in (a29k-nyu-sym1): New target, just like other a29k |
| targets. |
| |
| Wed Nov 8 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return. |
| |
| Tue Nov 7 09:14:35 1995 Kim Knuttila <krk@cygnus.com> |
| |
| * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently |
| used only by "dlltool.c". |
| |
| Mon Nov 6 18:51:26 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-alpha.c: Undefine inline if not __GNUC__. |
| (md_pseudo_table): Don't define "extern". |
| |
| Sat Nov 4 00:51:21 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-ppc.c (ppc_biei): Force symbol into text_section. |
| |
| * config/tc-ppc.c (md_show_usage): Put backslash at end of line. |
| |
| Fri Nov 3 13:02:59 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * macro.c (macro_expand_body): Don't warn about == with a |
| nonexistent parameter, in case it is in a comment field. |
| |
| * as.c (main): On TC_A29K, call macro_init with macro_alternate |
| set to 1. |
| * macro.c (get_any_string): Don't keep quotes if macro_strip_at is |
| set, even if macro_alternate is set. |
| (get_apost_token): If macro_strip_at, only skip kind if it is '@'. |
| (sub_actual): If macro_strip_at, and kind is '@', don't look up |
| the token unless it ended in '@'. |
| * config/tc-a29k.c (line_separator_chars): Remove '@'. |
| * doc/c-a29k.texi: Document macro usage on A29K. |
| |
| Thu Nov 2 23:07:57 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a |
| signed word. |
| (install_operand): Likewise. |
| |
| * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern". |
| |
| Wed Nov 1 15:17:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> |
| |
| * configure.in (m88k-motorola-sysv*): New target. |
| * configure: Rebuild. |
| * config/te-delta88.h: New file. |
| * config/obj-coff.c (write_object_file): Use md_do_align if it is |
| defined. |
| * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define. |
| (md_do_align): Define. |
| * config/tc-m88k.c: Include "subsegs.h". |
| (m88k_do_align): New function. |
| |
| * config/te-delta.h (STRIP_UNDERSCORE): Don't define. |
| (COFF_NOLOAD_PROBLEM): Define. |
| (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define. |
| |
| Wed Nov 1 16:07:43 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * config/tc-i386.c (md_assemble): For a jump instruction with |
| non-constant target, require 7 available bytes in the current |
| frag, not 6. |
| |
| Tue Oct 31 15:37:16 1995 Fred Fish <fnf@rtl.cygnus.com> |
| |
| * config/obj-elf.h: Include bfd/elf-bfd.h rather than |
| bfd/libelf.h. |
| |
| Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com> |
| |
| * configure.in (alpha-*-linux*): Use ecoff. |
| * configure: Rebuild. |
| * ecoff.c (ecoff_directive_extern): New function. |
| (ecoff_directive_weakext): New function. |
| (ecoff_build_symbols): Handle weak symbols. |
| (ecoff_setup_ext): Likewise. |
| (ecoff_frob_symbol): Warn about weak common symbols. |
| * ecoff.h (ecoff_directive_extern): Declare. |
| (ecoff_directive_weakext): Declare. |
| * symbols.c (S_IS_WEAK): New function. |
| * symbols.h (S_IS_WEAK): Declare. |
| * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and |
| "weakext". |
| * config/tc-mips.c (mips_pseudo_table): Remove "extern". |
| (s_extern): Remove. |
| |
| Tue Oct 31 13:29:08 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-ppc.c (ppc_lglobl): Do the right thing. |
| |
| * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS. |
| (ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN. |
| (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT. |
| * config/obj-coff.c (coff_frob_symbol): Don't call |
| SA_SET_SYM_ENDNDX with the current symbol; call it with the next |
| one. If OBJ_XCOFF, try to figure out whether the symbol is going |
| to be dropped. |
| |
| * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec". |
| (ppc_stab_symbol): New static variable. |
| (ppc_change_csect): Check that ppc_toc_csect is not NULL. |
| (ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set |
| sy_tc.real_name to the stab string. |
| (ppc_bc, ppc_ec): New static functions. |
| (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't |
| do anything. |
| (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a |
| suffix. |
| (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux |
| entries. |
| |
| * input-scrub.c (input_scrub_push): Reset sb_index. |
| |
| Mon Oct 30 17:52:46 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * listing.c (listing_newline): Don't create a frag in the absolute |
| section. |
| |
| Sat Oct 28 01:02:05 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-ppc.c (md_pseudo_table): Add "data" and "text". |
| (ppc_csect): Move most of the code to ppc_change_csect, and call |
| it. |
| (ppc_change_csect): New static function, taken from ppc_csect. |
| (ppc_section): New static function. |
| (ppc_saw_abs): New static varable. |
| (ppc_frob_symbol): Create aux entry for absolute symbols. Warn if |
| a symbol has no csect. |
| (ppc_adjust_symtab): New function. |
| * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF. |
| (ppc_adjust_symtab): Declare if OBJ_XCOFF. |
| |
| * write.c (write_object_file): If tc_adjust_symtab is defined, |
| call it just before the call to obj_adjust_symtab. |
| |
| * symbols.c (symbol_find_or_make): Change name to be const. |
| * symbols.h (symbol_find_or_make): Update declaration. |
| |
| Thu Oct 26 19:18:27 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * doc/as.texinfo (Align): Mention SH. |
| * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not |
| .align value. |
| * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo. |
| (Z8000 Directives, even): Don't give numeric align value, instead |
| explain behavior. |
| |
| Thu Oct 26 11:45:03 1995 Richard Earnshaw (rearnsha@armltd.co.uk) |
| |
| * config/tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a |
| pre-increment instruction. |
| |
| Wed Oct 25 11:59:24 1995 Per Bothner <bothner@kalessin.cygnus.com> |
| |
| * Makefile.in (diststuff): Also make info. |
| (maintainer-clean realclean): Also make clean-info. |
| |
| Tue Oct 24 15:21:33 1995 Jeffrey A Law (law@cygnus.com) |
| |
| * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode. |
| (pa_subspace): For ".nsubspa", always create a new subspace |
| with the given attributes, even if one already exists with the |
| same name. |
| |
| Tue Oct 24 14:50:38 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
| |
| * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from |
| TC_FORCE_RELOCATION, taking an additional section argument. If |
| the section of the target symbol is not the same as the current |
| section, always force the relocation to be used. |
| (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section. |
| |
| * config/tc-ppc.c (md_pcrel_from_section): Rename from the |
| md_pcrel_from function, taking an additional section argument. |
| Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION. |
| |
| * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the |
| older TC_FORCE_RELOCATION if not defined. |
| (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from. |
| (fixup_segment): Use MD_PCREL_FROM_SECTION instead of |
| md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of |
| TC_FORCE_RELOCATION. |
| |
| Mon Oct 23 16:20:04 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * input-scrub.c (as_where): Set name to null pointer if we don't |
| have a file name. |
| * messages.c (identify): Only print filename if non-null. |
| (as_show_where): Ditto, for line number too. |
| (as_warn_internal, as_bad_internal): Ditto. |
| |
| * input-file.c (input_file_open): If the input file can't be |
| opened, consider it an error. |
| |
| Mon Oct 23 11:15:44 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> |
| |
| * config/tc-mips.c: Added mips_4100 control, and support for |
| accepting the 4100 as a MIPS architecture variant (md_begin, |
| macro_build, mips_ip, md_parse_option). Adding suitable |
| command-line OPTIONs, and updating the help text (md_show_usage). |
| |
| Wed Oct 18 13:20:32 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when |
| BFD_ASSEMBLER is defined. |
| |
| * Use one active frag and one obstack per frag chain: |
| * frags.c (frags): Variable deleted. |
| (frag_alloc): New function. |
| (frag_grow, frag_more, frag_variant, frag_now_fix, |
| frag_append_1_char): Refer to frchain_now->frch_obstack instead of |
| frags variable. |
| (frag_new): Ditto. Verify that frch_last and frag_now match on |
| entry and exit, and that old frag_now has non-zero type. Replace |
| "know" uses with "assert". Use frag_alloc instead of mucking with |
| obstack alignment. |
| * frags.h (frags): Declaration deleted. |
| * subsegs.h (struct frchain): Add new field frch_frag_now. |
| * subsegs.c (frchains, dummy_frag, absolute_frchain): New static |
| variables. |
| (subsegs_begin): Initialize frchains obstack. Under gcc, don't |
| give it any stricter alignment than frchainS structures need. Do |
| not initialize frags obstack. Set frag_now to point to |
| dummy_obstack. Initialize absolute_frchain. |
| (subseg_set_rest): Save and restore frag_now in frch_frag_now |
| field of frchainS. Don't create new frags on section switch, and |
| use frag_alloc when creating a new frag chain. For absolute |
| section, set frchain_now to absolute_frchain. Verify that |
| frch_last and frag_now match on entry and exit. Initialize |
| per-chain obstack, and under gcc, set required alignment to that |
| needed by fragS structure. |
| |
| * write.c (chain_frchains_together_1): Verify fr_type is nonzero. |
| |
| * stabs.c (get_stab_string_offset): Only copy input string if a |
| fresh copy is needed, not if the section already exists. |
| (s_stab_generic): Cache stab section name to bypass lookups, since |
| usually it will match. Could be made faster still by changing the |
| memory allocation rules. |
| (s_xstab): Cache section name to bypass repeated string |
| allocation. |
| |
| * frags.c (frag_new): Deleted register declarations. |
| |
| * listing.c (frag_now): Don't declare. |
| |
| * as.c (chunksize): New variable. |
| (debug_memory): New variable. |
| (main): If debug_memory is set, reduce chunksize and |
| _bfd_chunksize. |
| * as.h (chunksize): Declare it. |
| * read.c (read_begin): Use it. |
| |
| * config/tc-alpha.c (md_shortopts): Include 'g'. |
| (md_parse_option): Ignore it. |
| |
| * Makefile.in (distclean): Remove Makefile and config.status from |
| testsuite directory. |
| (clean-here): Don't delete testsuite. Instead, delete only the |
| files within it that would be generated by running tests. |
| |
| * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call |
| frag_now_fix instead of accessing obstack info directly. |
| * config/tc-arm.c (s_ltorg): Ditto. |
| (md_assemble): Ditto. |
| |
| * config/tc-i386.c (md_assemble): Call frag_grow instead of |
| obstack_room. |
| |
| Wed Oct 18 12:22:59 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * stabs.c (aout_process_stab): Insert debug symbol into symbol |
| chain after parsing value expression, if any, to avoid separating |
| continued .stabs lines. |
| |
| Mon Oct 16 10:56:41 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-mips.c (mips_elf_pseudo_table): Remove. |
| (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table. |
| |
| Mon Oct 16 07:07:37 1995 Michael Meissner <meissner@wogglebug.tiac.net> |
| |
| * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for |
| -mcom support and PPC_OPCODE_ANY for -many. |
| (md_parse_option): Ditto. |
| (ppc_arch): Ditto. |
| (md_begin): For duplicate instructions, print all duplicates |
| before aborting. |
| |
| Sun Oct 15 22:06:14 1995 Michael Meissner <meissner@cygnus.com> |
| |
| * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on |
| common mode operation. |
| (md_show_usage): Add -mcom to usage message. |
| |
| Fri Oct 13 13:32:45 1995 steve chamberlain <sac@slash.cygnus.com> |
| |
| * expr.c (op_rank): Add O_symbol_rva. |
| * expr.h (operatorT): Add O_symbol_rva. |
| * read.c (cons_worker): Set O_symbol_rva when necessary. |
| * write.c (fix_new_exp): Understand O_symbol_rva. |
| |
| Tue Oct 10 11:34:14 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-mips.c: Correct s_cons arguments. From Michael |
| Joosten <joost@ori.cadlab.de>. |
| |
| Mon Oct 9 19:59:53 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-ppc.c (ppc_macro): Make count unsigned. |
| (ppc_biei): Set segment to now_seg and value to coff_n_line_nos. |
| (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting |
| the fix_line field. |
| * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and |
| make non-static. Change all users. |
| * config/obj-coff.h (coff_n_line_nos): Declare. |
| |
| Fri Oct 6 16:24:27 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
| |
| * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message. |
| |
| * config/obj-elf.c (obj_elf_common): Convert specified byte |
| alignment to power of two. Set size of local bss symbol. |
| |
| * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name. |
| |
| Fri Oct 6 15:22:25 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * sb.c, macro.c: Decide whether to include <string.h> or |
| <strings.h> just as as.h does. |
| |
| Fri Oct 6 09:55:33 1995 Doug Evans <dje@canuck.cygnus.com> |
| |
| * Makefile.in (site.exp): Fix setting of $srcdir. |
| |
| * config/tc-arm.c (md_atof): Fix little-endian output. |
| * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for |
| all coff targets. |
| |
| Thu Oct 5 20:17:30 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * doc/as.texinfo: Split out the NS32k family documentation, |
| despite its being commented out for now. |
| * doc/c-ns32k.texi: New file. |
| |
| * sb.c, macro.c: Include string.h. |
| |
| * Makefile.in (comparison): Only check *.o; we don't care if |
| timestamps inserted by the native linker differ. |
| |
| * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern |
| if alignment stricter than 4 bytes is requested; in that case, |
| align to a 4-byte boundary first. |
| |
| Thu Sep 28 19:35:27 1995 Pat Rankin <rankin@eql.caltech.edu> |
| |
| * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used |
| uninitialized" warning for `Max_Source_Offset'. |
| |
| Wed Oct 4 16:17:02 1995 Kim Knuttila <krk@cygnus.com> |
| |
| * config/tc-ppc.c (parse_toc_entry): New function to parse [toc] |
| qualifiers and detect errors if present. |
| (md_assemble): Add call to parse_toc_entry. Also added some support |
| for the [tocv] qualifier. |
| (ppc_pe_tocd): New function to support data in the toc section. |
| |
| Wed Oct 4 14:03:39 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for |
| an absolute symbol. |
| |
| Tue Oct 3 12:18:19 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-m68k.c (isword): Accept all values from -65536 to |
| +65535, so ~VAL will not be rejected. |
| |
| * cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode, |
| skip characters after the pseudo-op. |
| (s_else): Likewise. |
| * read.c (get_line_sb): Don't look past buffer_limit. |
| (s_include): In MRI mode, skip characters after the file name. |
| |
| Mon Oct 2 16:15:27 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| 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 <shebs@andros.cygnus.com> |
| |
| * 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 <krk@nellie> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <dje@deneb.cygnus.com> |
| |
| * config/tc-arm.h (TARGET_FORMAT): Define for arm-coff. |
| |
| Wed Sep 27 12:53:58 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <krk@nellie> |
| |
| * 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 - <previous, pdata, ydata, reldata, rdata, ualong, znop, |
| section, comm, function> 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <arnej@pvv.unit.no> |
| |
| * configure.in (mips-dec-netbsd*): New target. |
| * configure: Rebuild. |
| |
| Sun Sep 17 22:17:43 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * configure.in: Set endian to little for mips-*-ultrix*. |
| * configure: Rebuild. |
| |
| Fri Sep 15 13:16:55 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| Tue Sep 12 17:08:23 1995 Pat Rankin <rankin@eql.caltech.edu> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <stdlib.h> if it exists. |
| |
| Fri Sep 8 00:27:46 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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. |
| |
| Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com> |
| |
| * config/tc-sh.c (get_operands): Read third arg if it exists. |
| Otherwise, clear it. |
| (get_specific, case F_FR0): Add. |
| |
| Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com> |
| |
| * 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 <shebs@andros.cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <sac@slash.cygnus.com> |
| |
| * write.c (fixup_segment): Get TC_FORCE_RELOCATION up the |
| right way! |
| |
| Fri Sep 1 08:20:19 1995 James G. Smith <jsmith@beauty.cygnus.com> |
| |
| * 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 <sac@slash.cygnus.com> |
| |
| * 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 <schwab@issan.informatik.uni-dortmund.de> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * config/tc-arm.c (tc_gen_reloc): Delete duplicated code. |
| |
| Wed Aug 30 23:51:57 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * config/tc-sparc.c (membar_masks): Deleted. |
| (sparc_ip): Clean up ASI and membar support. |
| |
| Tue Aug 29 13:20:27 1995 steve chamberlain <sac@slash.cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <raeburn@kr-laptop.cygnus.com> |
| |
| Sat Aug 19 18:08:16 1995 Pat Rankin <rankin@eql.caltech.edu> |
| |
| * 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 <rankin@eql.caltech.edu> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * config/tc-ppc.c (md_assemble): Allow @HA, @L, and @H suffixes on |
| constant expressions. |
| |
| Sun Aug 20 15:54:37 1995 Jim Wilson <wilson@cygnus.com> |
| |
| * config/tc-arm.c (md_reloc_size): Add const to declaration. |
| |
| Fri Aug 18 10:58:09 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <raeburn@kr-laptop.cygnus.com> |
| |
| * as.h (alloca): Use void* declaration on HP/UX. |
| |
| Wed Aug 16 12:49:17 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <raeburn@kr-laptop.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <raeburn@kr-laptop.cygnus.com> |
| |
| * Makefile.in (TE_OBJS): Add empty definition. |
| |
| Fri Aug 11 19:16:08 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <alan@spri.levels.unisa.edu.au> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <rankin@eql.caltech.edu> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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. |
| |
| 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. |
| |
| Fri Aug 4 12:29:21 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <sac@slash.cygnus.com> |
| |
| * config/tc-sh.c (md_convert_frag): Make some error messages |
| more explicit. |
| |
| Mon Jul 31 21:40:47 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| Sat Jul 29 18:55:23 1995 Pat Rankin <rankin@eql.caltech.edu> |
| |
| * 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 <sac@slash.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define. From Niclas |
| Andersson <nican@ida.liu.se>. |
| |
| Thu Jul 27 20:47:12 1995 Ken Raeburn <raeburn@cygnus.com> |
| |
| * 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 <rankin@eql.caltech.edu> |
| |
| * 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 <rankin@eql.caltech.edu> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <rankin@eql.caltech.edu> |
| |
| 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 <ian@cygnus.com> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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-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-w65.h (TC_RELOC_MANGLE): Likewise. |
| * config/tc-z8k.h (TC_RELOC_MANGLE): Likewise. |
| |
| Mon Jul 17 15:02:54 1995 Pat Rankin <rankin@eql.caltech.edu> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| 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. |
| |
| 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 <ian@cygnus.com> |
| |
| * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3. |
| |
| Wed Jul 12 01:12:12 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * doc/c-mips.texi: Document -m4010 and -mno-4010. |
| |
| Tue Jul 11 14:28:55 1995 Jeff Spiegel <jeffs@lsil.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| Based on patches from H.J. Lu <hjl@nynexst.com>: |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * All files: Updated FSF address. |
| |
| Thu Jul 6 16:30:34 1995 Jim Wilson <wilson@chestnut.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| Patches from Jerry Blakely <gerry_blakley@wellfleet.com>: |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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. |
| * config/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 <sac@slash.cygnus.com> |
| |
| * configure[.in] (i386-*-win32): New host and target. |
| |
| Thu Jun 29 17:25:43 1995 Steve Chamberlain <sac@slash.cygnus.com> |
| |
| 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 <sac@slash.cygnus.com> |
| |
| * 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 <raeburn@cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu> |
| |
| * configure.in: Added i386-*-moss* target. |
| |
| Thu Jun 22 14:41:23 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>: |
| * 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 <sac@slash.cygnus.com> |
| |
| * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive |
| string compares. |
| |
| Tue Jun 20 14:55:02 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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 <shebs@andros.cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * 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. |
| |
| Tue Jun 6 13:53:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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 <lsydef.h> and <envdef.h>). |
| * 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 <sac@slash.cygnus.com> |
| |
| * config/tc-arm.h (LOCAL_LABELS_FB): Define. |
| |
| Mon Jun 5 02:17:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <jtc@rtl.cygnus.com> |
| |
| * config/te-dpx2.h: Include obj-format.h. |
| (COFF_MAGIC): Renamed from FILE_HEADER_MAGIC. |
| |
| Wed May 24 13:45:32 1995 Steve Chamberlain <sac@slash.cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| |
| 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 <raeburn@kr-laptop.cygnus.com> |
| |
| 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 <raeburn@kr-laptop.cygnus.com> |
| |
| 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <cagney@highland.com.au> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <sac@slash.cygnus.com> |
| |
| 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| * 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. |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| |
| Thu Apr 27 20:07:33 1995 Doug Evans <dje@canuck.cygnus.com> |
| |
| * Makefile.in (RUNTEST): Use one in srcdir if present. |
| (RUNTESTFLAGS): Define. |
| |
| Wed Apr 26 15:54:10 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| Support for more portable alignment handling in assembly code, |
| based on patches from Bryan Ford <baford@schirf.cs.utah.edu>: |
| * 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 <rob@thepub.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@kr-laptop.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <tege@adder.cygnus.com> |
| |
| * config/tc-m68k.c (m68k_init_after_args): Test for m68360. |
| (md_parse_option): Likewise. |
| (md_show_usage): Mention m68360. |
| * config/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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <shebs@andros.cygnus.com> |
| |
| * 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. |
| |
| Tue Apr 11 01:42:36 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| |
| 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 <tege@adder.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650. |
| |
| Fri Mar 17 16:47:13 1995 Stan Shebs <shebs@andros.cygnus.com> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <dje@canuck.cygnus.com> |
| |
| Delete this patch, it breaks the h8300 assembler. |
| Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| |
| Tue Mar 7 16:07:10 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans |
| <dje@cygnus.com>. |
| |
| 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0. |
| |
| Tue Feb 28 18:29:27 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| * 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 <ian@cygnus.com> |
| |
| * 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 <kung@mexican.cygnus.com> |
| |
| * configure.in: add a29k-*-vxworks configuration. |
| |
| Fri Feb 24 14:41:15 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * 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 <dje@cygnus.com> |
| |
| * expr.c (operand): Move md_operand handling to default case |
| (so it works). |
| |
| Wed Feb 15 16:08:47 1995 Jason Molenda <crash@cygnus.com> |
| |
| * config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored |
| parameter, to match prototype. |
| |
| Wed Feb 15 15:07:00 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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. |
| |
| Fri Feb 10 14:04:04 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN |
| rather than !S_IS_LOCAL. |
| |
| Thu Feb 9 18:16:34 1995 Ian Lance Taylor <ian@cygnus.com> |
| |
| * 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 <robr@cmu.edu>. |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <unistd.h>; create a |
| rudimentary one if necessary. |
| |
| Tue Feb 7 13:34:46 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| Changes from Bryan Ford <baford@schirf.cs.utah.edu> 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <meissner@tiktok.cygnus.com> |
| |
| * config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are |
| using ELF. |
| |
| Thu Jan 26 19:03:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 <meissner@cygnus.com> |
| |
| * 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 <wilson@chestnut.cygnus.com> |
| |
| * config/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 <edelsohn@mhpcc.edu> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * configure: Regenerated. |
| |
| * config/tc-mips.c: Include libiberty.h. |
| |
| Mon Jan 23 14:07:58 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> |
| |
| * 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 <ian@tweedledumb.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * hash.c (hash_code): Undo last change. |
| |
| Thu Jan 19 14:49:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <ian@sanguine.cygnus.com> |
| |
| * 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. |
| * config/tc-h8300.h (tc_reloc_mangle): Declare. |
| |
| Tue Jan 17 10:58:06 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> |
| |
| * 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 <sac@jonny> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <ian@tweedledumb.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * subsegs.h: Include obstack.h. |
| |
| Tue Dec 27 18:16:04 1994 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * as.h (struct frag): Enable align* components now. |
| |
| Tue Dec 20 14:56:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| |
| * 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 <ian@sanguine.cygnus.com> |
| |
| * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h. |
| |
| Mon Dec 19 16:53:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> |
| |
| * 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. |
| |
| Mon Dec 19 13:49:07 1994 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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 <shebs@andros.cygnus.com> |
| |
| * 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 <ian@tweedledumb.cygnus.com> |
| |
| * 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 <wilson@chestnut.cygnus.com> |
| |
| * 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 <ian@sanguine.cygnus.com> |
| |
| * 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 <ian@cygnus.com> |
| |
| * 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 legal expression difference to |
| correspond to changes in pseudo_set in read.c. |
| |
| Fri Dec 9 21:04:17 1994 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| * 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 <raeburn@cujo.cygnus.com> |
| |
| * 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. |
| |
| Tue Nov 29 13:58:10 1994 Ken Raeburn <raeburn@cujo.cygnus.com> |
| |
| 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. |
| |
| Mon Nov 28 11:37:35 1994 Doug Evans <dje@canuck.cygnus.com> |
| |
| * 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
|