Commit Graph

443 Commits

Author SHA1 Message Date
Peter Wemm
044b7805a9 Argh!.. Spot the deliberate mistake that was probably causing the
leftover files in /tmp..  (this commit brought to you by 'cvs update -j')
1998-04-11 16:12:07 +00:00
John Birrell
2161ed1f46 Document the FreeBSD specific options from LIB_SPEC. 1998-04-10 09:19:11 +00:00
Bruce Evans
8c4461a8ff Removed yacc output files so that it is impossible to mix them with
new ones that we generate.
1998-03-27 11:14:12 +00:00
Bruce Evans
eab034e45d Removed yacc output files so that it is impossible to mix them with
new ones that we generate.  We used to always mix the old header with
the new .cc file.  This worked because Cygnus's yacc is surprisingly
compatible with our yacc.
1998-03-27 11:13:47 +00:00
Peter Wemm
6314ca637f Some tweaks to get this to compile for the userland tools. 1998-03-21 13:39:11 +00:00
Peter Wemm
d2e0bd41f7 This commit was generated by cvs2svn to compensate for changes in r34739,
which included commits to RCS files with non-trunk default branches.
1998-03-21 10:04:55 +00:00
Peter Wemm
f4b66beedb Import ipfilter 3.2.3 1998-03-21 10:04:55 +00:00
John Birrell
6db4691d19 Ouch, my local cvs walloped the version I thought I was committing.
Here is what I intended.
1998-03-14 03:02:19 +00:00
John Birrell
1de944af88 On i386, freebsd.h and freebsd-elf.h have been merged to combine
aout and elf support. freebsd-elf.h died as a result, so the BINFORMAT
test for elf in src/gnu/usr.bin/cc/cc_tool/Makefile will need to
use freebsd.h, not freebsd-elf.h. That means that alpha will have to
go the same way. The new alpha/freebsd.h has the alpha/freebsd-elf.h
definitions merged in.
1998-03-13 21:12:12 +00:00
John Birrell
0f471b05f9 Nuke crti.o from the STARTFILE_SPEC again. No asm code is needed on alpha.
Add the define that lets gas know how to ".set" and enable pragmas
so that #pragma weak will work.
1998-03-11 20:56:24 +00:00
Peter Wemm
ab10ac1949 Tweak from the cvs sources just after the 1.9.26 release:
1998-03-07  Tim Pierce  <twp@skepsis.com>
    * rcs.c (RCS_checkout): Negation bug when checking out symlinks:
    existence_error should be !existence_error.

This shouldn't cause any major merge problems later.
1998-03-11 09:30:51 +00:00
James Raynard
3e77698b86 Remove test sub-directory. 1998-03-10 19:28:47 +00:00
Peter Wemm
bde4819bd2 Merge changes from vendor branch into mainline 1998-03-10 13:58:02 +00:00
Peter Wemm
f380a4f2e1 This commit was generated by cvs2svn to compensate for changes in r34461,
which included commits to RCS files with non-trunk default branches.
1998-03-10 13:40:57 +00:00
Peter Wemm
4b06c89291 Import cvs-1.9.26 onto vendor branch 1998-03-10 13:40:57 +00:00
John Birrell
37aebf7ed2 Change the LINK_SPEC to specify the same runtime loader as used on
i386-elf because that is what will be used for FreeBSD/Alpha.

Change the STARTFILE_SPEC to match the non-aout version of i386 so
that the csu files can be built in exactly the same way as i386-elf.
This means that FreeBSD/Alpha departs from NetBSD/Alpha which uses
crt0 and crtbegin/crtend. Since i386-aout uses crt0, I guess it was
decided that i386-elf should use crt1. i386-elf also references
crti and with this change, so does FreeBAS/Alpha.

I think it is important for FreeBSD to have a consistent implementation
across architectures and since ELF is quite compatible (ignoring
differences in 32 and 64 bits), gcc might as well be configured the
same.

Another change is that the entry symbol is _start, not __start as
in NetBSD.
1998-03-10 06:47:14 +00:00
Peter Wemm
42fcd1ffa9 Both our a.out (hacked) gas and the binutils gas support .weak
Prompted by: bde
1998-03-09 04:47:58 +00:00
Peter Wemm
df320ec9d3 Only do a.out/elf switching on i386 family 1998-03-09 04:13:31 +00:00
John Birrell
c76572aa7a This commit was generated by cvs2svn to compensate for changes in r34351,
which included commits to RCS files with non-trunk default branches.
1998-03-09 03:38:19 +00:00
John Birrell
11ab2a9095 Import an extra source file from binutils 2.8.1 that is included on
alpha.
1998-03-09 03:38:19 +00:00
John Birrell
45e0d510b8 Add a FreeBSD entry for alpha-elf. 1998-03-09 03:34:53 +00:00
Peter Wemm
3f39463468 Don't disable the use of $ in assembler labels.. It changes libstdc++
and libg++ so that they won't work with existing binaries (including
netscape!!).
1998-03-09 03:26:57 +00:00
John Birrell
27dd36da49 Our default rules tend to shove asm code through cpp, so comments
starting with hashes have a sub-optimal impact. This change adds
/* */ around the block comment in the header of each file to make
them friendly to cpp. Also added an Id keyword cause I like to
see revision numbers in source.
1998-03-08 21:09:04 +00:00
Peter Wemm
b51cdb1e8b Spell -Bshareable correctly... :-] 1998-03-08 16:09:57 +00:00
Peter Wemm
a2034fc036 svr4.h defines ASM_IDENTIFY_GCC, but neglects to define
ASM_IDENTIFY_LANGUAGE.  Use the osfrose.h method, because gdb assumes
'C' by default, so there's no need to further clutter the symbol table.
1998-03-08 13:26:15 +00:00
Peter Wemm
9ed6fc5562 Cosmetic cleanup for a.out asm generation.. Don't put the end-of-file
markers that the stabs-in-elf system uses.
1998-03-08 12:47:45 +00:00
Peter Wemm
178576c62f Put the function stabs in traditional order on a.out, or gdb doesn't see
function local variables.
1998-03-08 11:54:04 +00:00
Peter Wemm
ebdff85b87 Add hooks for John Birrell's kernel thread support library.
Submitted by: John Birrell <jb@cimlogic.com.au>
1998-03-08 05:33:24 +00:00
Peter Wemm
9cb13c2344 First round of changes to support generation of assembler for the old
a.out gas and the binutils gas (elf or a.out) with a single compiler.

This uses other infrastructure not yet committed, in order to support
both a.out and elf it needs to be able to get to both a.out and elf
gas, ld, libs, crt* etc.  So for now, the support is pretty much dormant.

The new freebsd.h file is based on the old freebsd-elf.h file (which has a
long lineage, right back through linux and svr4 files).  The change is
pretty dramatic from a gcc internals standpoint as it overrides a lot of
definitions in order to generate different output based on target mode.
There is potential for screw-ups, so please be on the lookout - gcc's
configuration mechanism wasn't really meant for this kind of thing.
It's believed to compile world etc just fine under both a.out and elf, can
handle global constructors and destructors, handles the differences in
a.out and elf stabs, and what sections things like exceptions go in.

The initial idea came from i386/osfrose.h which is a dual rose/elf format
target.  These two are not as diverse as a.out and elf it would seem.

The cc front-end uses external configuration to determine default object
format (still being thrashed out, so read the source if you want to see
it so far), and has a '-aout' and '-elf' override command line switch.
There are some other internal switches that can be accessed, namely -maout,
-mno-aout, -munderscores and -mnounderscores.  The underscore and local
symbol prefixing rules are controllable seperately to the output format.
(ie: it's possible to generate a.out without the _ prefixes on symbols and
also to generate elf with the _ prefixes.  This isn't quite optimal, but
does seem to work pretty well, except the linkers don't always recognise
the local symbols without their normal names)

The default format is a.out (still), nobody should see any major changes.

With both elf and a.out tools and libraries installed:

[1:26pm]/tmp-223> cc -elf -o hello hello.c
peter@beast[1:27pm]/tmp-224> file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped
[1:27pm]/tmp-225> ./hello
hello world!

[1:27pm]/tmp-226> cc -aout -o hello hello.c
[1:27pm]/tmp-227> file hello
hello: FreeBSD/i386 compact demand paged dynamically linked executable not stripped
1:27pm]/tmp-228> ./hello
hello world!

Since my co-conspirators put a lot of effort into this too, I'll add them
so they can share the blame^H^H^H^H^Hglory. :-)

Reviewed by: sos, jdp
1998-03-08 05:29:49 +00:00
John Birrell
051b1b1a74 This commit was generated by cvs2svn to compensate for changes in r34204,
which included commits to RCS files with non-trunk default branches.
1998-03-07 21:27:49 +00:00
John Birrell
f2b7551c39 Import of the mpn asm source files for alpha from V2.0.2 which
appears to match the other libgmp files in the repository.
1998-03-07 21:27:49 +00:00
cvs2svn
d3609998d8 This commit was manufactured by cvs2svn to create branch
'VENDOR-binutils'.
1998-03-01 23:26:33 +00:00
John Polstra
12df71b07c Configuration changes to support FreeBSD. The linker only works for
ELF, not a.out.  But all the other tools support both.  I'm not so
sure about the assembler -- it might need more work.
1998-03-01 23:26:32 +00:00
John Polstra
ff8f730683 Don't use "/" as a comment starter. In some FreeBSD sources, "/"
means divide (duh).
1998-03-01 23:22:00 +00:00
John Polstra
d228076248 Fix the output format of "nm" so that it works properly for FreeBSD's
"lorder" command.

GNU rejected this change because they felt it would be an unacceptable
incompatibility to change the output format at this point -- even
though it was wrong to begin with.
1998-03-01 23:20:03 +00:00
John Polstra
ff0c247c3c Fix a bug which incorrectly caused files to be labeled as having
text relocations in certain situations.
1998-03-01 23:17:03 +00:00
John Polstra
4f24af7764 Add automatic branding of FreeBSD ELF files. 1998-03-01 23:15:09 +00:00
John Polstra
6a248bab85 Add upgrade instructions and helper file. 1998-03-01 23:13:26 +00:00
John Polstra
52cb49752a Initial import of GNU binutils version 2.8.1. Believe it or not,
this is heavily stripped down.
1998-03-01 22:58:51 +00:00
John Polstra
d1e127f135 This commit was generated by cvs2svn to compensate for changes in r33965,
which included commits to RCS files with non-trunk default branches.
1998-03-01 22:58:51 +00:00
John Birrell
309df62fd9 Add #include <string.h> to get prototypes. 1998-02-20 07:48:36 +00:00
Peter Wemm
950fca26ed A hack to work around the sleep prior to calling the built-in diff. This
affects speed of doing 'cvs diff' (in all modes) and 'cvs update' over the
network.

1: don't pause at all unless running in server protocol mode.
2: if running in server protocol mode, do a kludge that intercepts the
   stdout and stderr write functions and diverts them to cvs_output() and
   cvs_outerr().  Yes, this might be done with fwopen() etc, but that also
   requires copying "FILE" structs since you can't freopen stdout etc and
   specify functions at the same time.

This HACK will go away once the cvs folks have done their changes to the
library version of gnu diff to use the callbacks as mentioned in the
comments.
1998-02-14 09:47:14 +00:00
Peter Wemm
8f3f2b2e9d Reduce the sleep(1) inbetween each diff, as suggested by bde some time
ago.  The real fix is rather large.
1998-02-08 06:48:37 +00:00
Chris Timmons
19aa4407da Painless merge... 1998-02-02 05:42:16 +00:00
Chris Timmons
20a037099e This commit was generated by cvs2svn to compensate for changes in r33011,
which included commits to RCS files with non-trunk default branches.
1998-02-02 05:38:11 +00:00
Chris Timmons
0823b5bf08 Global v2.24 1998-02-02 05:38:11 +00:00
Peter Wemm
178f53ff27 Cosmetic cleanups for the local tag support. Since rcs isn't called
anymore, don't do all the putenv's for it's benefit.
1998-01-31 01:39:40 +00:00
Peter Wemm
b1408ba741 Merge vendor changes to files that we've touched onto mainline.
(If only all import/merges were this trivial :-)
1998-01-30 15:35:26 +00:00
Peter Wemm
7b9d411405 Import cvs-1.9.24 since it came quite soon after the snapshot that was
imported a few days ago.  There is very little difference, except that
the remote protocol apparently supports wrappers and -k options better.
1998-01-30 15:31:47 +00:00
Peter Wemm
a0c60322a8 This commit was generated by cvs2svn to compensate for changes in r32896,
which included commits to RCS files with non-trunk default branches.
1998-01-30 15:31:47 +00:00