Commit Graph

1594 Commits

Author SHA1 Message Date
John Birrell eb61a18ee7 Add binutils if BINFORMAT is elf. This is needed for alpha, and it
works on i386, but is still disabled until you set BINFORMAT.
1998-03-13 19:34:40 +00:00
Bruce Evans c9cbce0fdb Put sources in SRCS and don't depend on them in beforedepend. IIRC,
this is to fix `make -j50' where `make -j18' worked.  The race may
just have been more likely to be lost for -j50.
1998-03-12 13:03:06 +00:00
John Birrell db7662af72 Configure alpha to disassemble both alpha and i386 opcodes. 1998-03-12 13:02:46 +00:00
Bruce Evans 3ac62e921a Fixed `make -jN depend' (N >= 2) by removing the beforedepend
target.  .ORDER doesn't work right, but is used for things related
to the depend target.  It "works" for the depend target by skipping
the build of .depend when N >= 2 and there is a non-default
beforedepend target with no rules.  Recent fixes made almost all
the beforedepend targets in the tree a no-op except for this bug.

Removed vestiges of elf and aout targets.
1998-03-12 12:52:24 +00:00
John Birrell 38bc294e8d Configure bfd for elf64, elf32, and aout. Yes alpha can handle i386
formats. No i386 can't handle alpha formats. 8-)
1998-03-12 12:29:20 +00:00
John Birrell ab9475bf88 Define the target type for alpha. 1998-03-12 08:00:03 +00:00
John Birrell 9fa2607935 Add the alpha makefile.
Move tc-i386.c from Makefile to Makefile.i386 'cause alpha doesn't
like trying to swallow it. Indigestion, I think.
1998-03-12 06:51:48 +00:00
John Birrell ec14ed6ee5 Change the include path for bfd.h to libbfd/${MACHINE_ARCH} since
I moved the location of that architecture specific file.
1998-03-12 05:59:22 +00:00
John Birrell 06e95425f7 This file was generated on i386, so it has been moved to the i386
sub-directory. It differs from the alpha version.
1998-03-12 05:31:34 +00:00
John Birrell 823093fcc3 This file was generated on i386 by the update.sh script in
src/gnu/usr.bin/binutils.
1998-03-12 05:29:44 +00:00
John Birrell 8e6a3bf016 These files were generated on alpha by the update.sh script in
src/gnu/usr.bin/binutils.
1998-03-12 05:26:30 +00:00
John Polstra f07eaee2fc Replace empty install targets with definitions of INTERNALLIB and
INTERNALSTATICLIB to suppress installation of internal libraries.
1998-03-12 05:14:19 +00:00
John Birrell e6956da5e0 Change script to get the machine type from `uname -m' and make
the binutils headers for (machine)-unknown-freebsdelf.

Also copy the bfd.h header to an architecture specific directory
because there are two fundamental lines that differ (32-bit vs 64-bit)
between i386 and alpha.

The config.h for libbinutils generates the same on alpha as i386,
so I didn't change that (though I was tempted!).
1998-03-12 04:54:42 +00:00
John Polstra ab5ad3a4b5 Restructure the binutils hierarchy somewhat in order to better
support building it for variant architectures.  It was already
becoming clear that the former structure was too rigid and didn't
scale well.

The usual sort of makefile magic arranges to .include an architecture
specific makefile "Makefile.${MACHINE_ARCH}" in each directory
where it exists.  Also, sources will be found in each subdirectory
"${MACHINE_ARCH}" that exists.  This is all taken care of automatically
by the top level "Makefile.inc0".

This all seems to work right for the i386 now.  I have also converted
those alpha pieces already present to the new schema as best I
could.

Also: change the BINDIR on the i386 to /usr/libexec/elf for "ar"
and "ranlib".  They are not object format independent enough to
put into /usr/bin.
1998-03-12 02:55:43 +00:00
Guido van Rooij 8cdf602055 mktemp -> mkstemp as pointed out on bugtraq
Obtained from: Theo de Raadt
1998-03-10 19:43:27 +00:00
Peter Wemm 0016b0f705 indicate ability to support the PerservePermissions stuff 1998-03-10 14:12:09 +00:00
Peter Wemm 7c4194d8b5 add new file (hardlink.c) into sources 1998-03-10 14:00:59 +00:00
Jordan K. Hubbard c944287a6e Eliminate duplicated lines.
PR:		5956
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.j>
1998-03-09 11:13:17 +00:00
John Birrell 49ee5e93ce We want ld in /usr/bin, not some weird and wonderful hiding place
that might be inspired by some creation from Intel. Doh.
1998-03-09 06:07:27 +00:00
John Birrell 25c5530515 Import of alpha specific bits to configure binutils for FreeBSD/Alpha.
Other changes that affect the i386-elf work are on hold to avoid
stuffing up other work in progress.
1998-03-09 00:33:28 +00:00
Peter Wemm aac18d035f Use cc -E rather than cpp when looking for __ELF__ 1998-03-08 17:25:10 +00:00
David E. O'Brien e36ad15261 add CC' as a link to c++' for compatablity with SGI. 1998-03-08 12:27:04 +00:00
Peter Wemm a4f46b7116 Set LIB_PATH explicitly otherwise genscripts makes (incorrect) references
all over the place.
1998-03-08 08:08:39 +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
Wolfram Schneider 32dcb97f3e Delete cc(1) debug option, typo from last commit.
Pointed out by: Søren Schmidt
1998-03-07 16:13:57 +00:00
Bruce Evans 15d0bb0b98 Use foo/bar.a' instead of -Lfoo -lbar' for linking to static internal
libraries so that `ld -f' in can create correct dependencies for
yet-to-be-built libraries.

Get the default BINDIR correctly (by including ../Makefile.inc recursively.
1998-03-07 09:46:17 +00:00
Bruce Evans 6dd8984675 Use foo/bar.a' instead of -Lfoo -lbar' for linking to static internal
libraries, so that `ld -f' in can create correct dependencies for
yet-to-be-built libraries.
1998-03-07 08:55:00 +00:00
Guido van Rooij 52ed3a5d65 Open temporary files with O_EXCL.
Obtained from:bugtraq
1998-03-06 19:00:26 +00:00
Bruce Evans 6acbf22513 Fixed `make -jN' for large N. The usual method of pretending that all
objects depend on all generated headers doesn't work because it gives
cyclic dependencies.  Give enough dependencies explicitly.  We no
longer need to use .SINGLESHELL for `make depend'.  .SINGLESHELL was
more of a bottleneck than usual because `make depend' makes everything.

Fixed some spelling and English errors.
1998-03-06 13:34:36 +00:00
Bruce Evans dab4b2f347 Fixed `make -jN' for large N. Just put the generated headers in
${SRCS} instead of giving inadequate explicit dependencies.  There
is still a problem after `make depend; make clean'.  Then `make'
barely works, and `make -jN' is confused by absolute paths in
.depend.
1998-03-06 13:13:15 +00:00
John Polstra b6e7a280a9 Fix the broken installation of strip. It tried to use the installed
strip program (via "install") to strip itself.  But the program
wasn't executable because "install" hadn't made it so yet.  I
borrowed the method used for the old strip to get around this.
1998-03-06 00:28:04 +00:00
John Polstra 2e280533a1 Add bmakefiles for building binutils from the contrib tree.
This finishes up the binutils import.  But I am leaving it disabled
in "src/gnu/usr.bin/Makefile" for now.  It is not used by anything
yet, so I'll take this opportunity to run one more round of tests
before enabling it.
1998-03-01 23:41:17 +00:00
Bruce Evans 3b95f72be4 Don't add streambuf.cc to SRCS twice. 1998-02-25 01:23:28 +00:00
Steve Price ad42b1082d Build perl header files for machine/* too.
PR:		672
Submitted by:	Jun Kuriyama <kuriyama@opt.phys.waseda.ac.jp>
1998-02-21 04:06:24 +00:00
Jordan K. Hubbard fd8d085898 Correct spammage from MACHINE_ARCH commit - you don't want to
*replace* the SUBDIR list in that case, you want to augment it.
Also move a stray .endif to its proper location.  Heh, no wonder my
release builds were falling over! ;)
1998-02-20 16:14:37 +00:00
Bruce Evans e5eb0d8db1 Don't create an unused obj directory. 1998-02-20 11:18:57 +00:00
John Birrell d975ec253b No binutils yet 8-(, and a few programs that need porting to alpha.
Make them i386 specific for now.
1998-02-19 09:34:59 +00:00
John Birrell c9fc383199 Just one of these libs left to port to alpha. 1998-02-19 07:30:06 +00:00
Steve Price 98add50f23 The ' character is treated differently as the first character of a line.
PR:		5754
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1998-02-15 17:03:58 +00:00
Bruce Evans 5983a0d1cf Fixed printing of %fs and %gs for live kernels.
Only print the current pcb on startup.  Printing it every time a utility
routine was called messed up the register dump for live kernels.
1998-02-13 02:45:26 +00:00
Alexander Langer 0ce28c3a85 catman(1) is now invoked by /etc/periodic/weekly/330.catman. 1998-02-07 05:17:47 +00:00
John Polstra 663690b388 Implement dladdr. 1998-02-06 16:46:46 +00:00
Daniel O'Callaghan ed158e7e93 Submitted by: Alex Nash
Style nit - extraneous space.
1998-02-04 07:04:44 +00:00
Steve Price f4308c9940 setpwent and endpwent have a return type of void, so change this
to work like newer versions of perl.

Reviewed by:	Bruce Evans
1998-02-01 22:04:49 +00:00
Peter Wemm 60271a1905 comment that pvcs_to_rcs is left out since it needs perl5 1998-01-26 04:33:03 +00:00
Peter Wemm 73b41018e1 Add libdiff 1998-01-26 04:21:52 +00:00
Peter Wemm d92c069870 Build the internal libified diff 1998-01-26 04:14:21 +00:00
Peter Wemm 8be324b9b3 Update options.h as per configure generated version 1998-01-26 04:02:05 +00:00
Peter Wemm 6eccce856f Update config.h 1998-01-26 03:59:21 +00:00
John Birrell 44626f8fec Make machine dependent asm code machine dependent. 8-) 1998-01-25 09:52:32 +00:00