mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
85825401dc
* app.c, config/tc-*.c: Don't include read.h, since it is already included by as.h. * These are based on patches from Minh Tran-le <mtranle@paris.intellicorp.com>. * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use obj_format coffbfd and gas_target i386coff for target. (i[34]86-*-isc*): New host (uses sysv). * config/i386aix.mt: Removed (no longer used). * config/mh-i386aix (RANLIB): Use true rather than /bin/true. (MINUS_G): Removed. (LDFLAGS): Added, defined as -shlib. * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine. * config/te-sco386.h (LOCAL_LABEL): Don't define. (DOT_LABEL_PREFIX): Define. * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label name rather than L0\001. * read.c (s_lcomm): Make a frag in SEG_BSS rather than using local_bss_counter. * symbols.c, symbols.h (local_bss_counter): Removed. * write.c (write_object_file): bss no longer uses local_bss_counter. Pass correct data and bss size to VMS_write_object_file. * config/obj-vms.c (VMS_write_object_file): Accept bss size as argument, rather than using local_bss_counter. * config/tc-m88k.c (s_bss): Don't use local_bss_counter. * config/tc-sparc.c (s_reserve): Don't use local_bss_counter. * config/obj-coffbfd.c (had_lineno, had_reloc): Removed. (size_section): Restored sanity check. (do_relocs_for): Base section address on s_paddr rather than computing it. Adjust a29k R_IHIHALF special case to account for section paddr (used to require paddr to be zero). If there are no reclos, set s_relptr to 0. Set relocation size in object_headers. (fill_section): Always set s_vaddr here, removing ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set NOLOAD for i386 .bss, because it confuses the SVR3 native linker. Set STYP_INFO for .comment. (coff_header_append): Use object headers and H_{SET,GET}_* macros. Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER. (crawl_symbols): Handle 8 character section name correctly. Use H_{SET,GET}_* macros. (do_linenos_for): Set lineno size in object_headers. (write_object_file): Use H_{SET,GET}_* macros. Don't bother to set s_vaddr here. If string_byte_count remains 4, set it back to 0, and only write strings out if there are some. Call fill_section before do_relocs_for and do_linenos_for. (obj_coff_section): Handle optional quoted second argument giving section characteristics. (obj_coff_bss): Added to handle .bss. (obj_coff_ident): Added to handle .ident (puts string in .comment section). (obj_coff_lcomm): Put common symbols in .bss, not .data. (fixup_mdeps): Change to segment. Call frag_wane after md_convert_frag. (fixup_segment): Explicitly check S_IS_COMMON before making 386 adjustment (already happened only for common symbols, but this is clearer). * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define. * config/tc-i386.c (s_bss): Don't use if I386COFF. (md_pseudo_table): Ignore .optim and .noopt. (tc_coff_sizemachdep): New function. * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3 compatibility. (LOCAL_LABEL): Removed definition. (DOT_LABEL_PREFIX): Defined. |
||
---|---|---|
.. | ||
config | ||
doc | ||
testscripts | ||
.gdbinit | ||
.Sanitize | ||
app.c | ||
as.c | ||
as.h | ||
atof-generic.c | ||
bignum-copy.c | ||
bignum.h | ||
bit_fix.h | ||
ChangeLog | ||
cond.c | ||
configure.bat | ||
configure.in | ||
COPYING | ||
debug.c | ||
expr.c | ||
expr.h | ||
flonum-copy.c | ||
flonum-konst.c | ||
flonum-mult.c | ||
flonum.h | ||
frags.c | ||
frags.h | ||
hash.c | ||
hash.h | ||
hex-value.c | ||
input-file.c | ||
input-file.h | ||
input-scrub.c | ||
link.cmd | ||
listing.c | ||
listing.h | ||
make-gas.com | ||
Makefile.dos | ||
Makefile.in | ||
messages.c | ||
NOTES | ||
NOTES.config | ||
obj.h | ||
output-file.c | ||
output-file.h | ||
read.c | ||
read.h | ||
README | ||
README-quirks | ||
README-vms | ||
README.coff | ||
README.rich | ||
struc-symbol.h | ||
subsegs.c | ||
subsegs.h | ||
symbols.c | ||
symbols.h | ||
tc.h | ||
version.c | ||
write.c | ||
write.h | ||
xmalloc.c |
This is the beta-test version of the GNU assembler. (Probably around Version 1.38, but check version.c which gets updated more often than this readme.) These files are currently set up to allow you to compile all of the versions of the assembler on the same machine. 'make all' compiles all of them. The resulting executable names are: 68020 a68 Vax avax NS 32xxx a32k Intel 80386 a386 SPARC asparc AMD 29000 asm29k The Makefile contains instructions on how to make one of the assemblers compile as the default. Before you can compile the 68020 version of the assembler, you must make m68k.h be a link to m-sun3.h , m-hpux.h or m-generic.h . If you are on a SUN-3 (or other machine that uses a magic number of (2 << 16) | OMAGIC type 'ln -s m-sun3.h m68k.h' else if you are on a machine running HP-UX, type 'ln m-hpux.h m689k.h' else type 'ln -s m-generic.h m68k.h' If your machine does not support symbolic links, omit the '-s'. See the instructions in the Makefile for compiling gas for the Sequent Symmetry (dynix 3.0.12 + others?) or for the HP 9000/300 If your machine does not have both varargs.h and vfprintf(), but does have _doprnt() add -DNO_VARARGS to the CFLAGS line in the makefile. If your machine has neither vfprintf() or _doprnt(), you will have to change messages.c in order to get readable error messages from the assembler. The assembler has been modified to support a feature that is potentially useful when assembling compiler output, but which may confuse assembly language programmers. If assembler encounters a .word pseudo-op of the form symbol1-symbol2 (the difference of two symbols), and the difference of those two symbols will not fit in 16 bits, the assembler will create a branch around a long jump to symbol1, and insert this into the output directly before the next label: The .word will (instead of containing garbage, or giving an error message) contain (the address of the long jump)-symbol2. This allows the assembler to assemble jump tables that jump to locations very far away into code that works properly. If the next label is more than 32K away from the .word, you lose (silently); RMS claims this will never happen. If the -k option is given, you will get a warning message when this happens. REPORTING BUGS IN GAS Bugs in gas should be reported to bug-gnu-utils@prep.ai.mit.edu If you can't get through to prep, try hack@gnu.ai.mit.edu or hack@media-lab.media.mit.edu If you report a bug in GAS, please remember to include: A description of exactly what went wrong. The type of machine GAS was running on (VAX, 68020, etc), The Operating System GAS was running under. The options given to GAS. The actual input file that caused the problem. It is silly to report a bug in GAS without including an input file for GAS. Don't ask us to generate the file just because you made it from files you think we have access to. 1. You might be mistaken. 2. It might take us a lot of time to install things to regenerate that file. 3. We might get a different file from the one you got, and might not see any bug. To save us these delays and uncertainties, always send the input file for the program that failed. If the input file is very large, and you are on the internet, you may want to make it avaliable for anonymous FTP instead of mailing it. If you do, include instructions for FTP'ing it in your bug report. ------------------------------ README.APOLLO --------------------------------- The changes required to get the GNU C compiler running on Apollo 68K platforms are available via anonymous ftp from labrea.stanford.edu (36.8.0.47) in the form of a compressed tar file named "/pub/gnu/apollo-gcc-1.37.tar.Z". The size of the file is 84145 bytes. To build GCC for the Apollo you'll need the virgin FSF distributions of bison-1.03, gas-1.34, and gcc-1.37. They are also on labrea.stanford.edu as well as prep.ai.mit.edu. My changes are to enable gas to produce Apollo COFF object files and allow gcc to parse some of the syntax extensions which appear in Apollo C header files. Note that the COFF encapsulation technique cannot be used on the Apollo. The tar file should be unpacked in the directory containing the gas-1.34 and gcc-1.37 directories; a few files will be overlaid, and an APOLLO-GCC-README file will appear in the top directory. This file contains detailed instructions on how to proceed. These changes will only work for SR10.1 or later systems, using the 6.6 or later version of the Apollo C compiler. If you do not have ftp access, I can mail you the changes in the form of diffs; they are approximately 40K in length. If you request them, be sure to give me a voice phone number so I can contact you in case I can't send you mail; I've had several requests in the past from people I can't contact. By the way, I'm working on getting the GNU C++ compiler running; there are a couple problems to solve. I hope to be able to announce the Apollo version shortly after the 1.37 version is released. John Vasta Hewlett-Packard Apollo Systems Division vasta@apollo.hp.com M.S. CHA-01-LT (508) 256-6600 x6362 300 Apollo Drive, Chelmsford, MA 01824 UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta ------------------------------------ You might refer others who are interested in a similar thing. Kevin Buchs buchs@mayo.edu ------------------------------ README.COFF ----------------------------------- If you have a COFF system, you may wish to aquire UUCP: osu-cis!~/gnu/coff/gnu-coff.tar.Z or FTP: tut.cis.ohio-state.edu:/pub/gnu/coff/gnu-coff.tar.Z These contain patches for gas that will make it produce COFF output. I have never seen these patches, so I don't know how well they work.