1636 Commits

Author SHA1 Message Date
jb
c83138a04c Define the target type for alpha. 1998-03-12 08:00:03 +00:00
jb
50a0cca4ea 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
jb
63bcfddd22 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
jb
d6c56448df 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
jb
dd10d9a1f7 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
jb
54a813ea3c 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
jdp
864bd8ab6e Replace empty install targets with definitions of INTERNALLIB and
INTERNALSTATICLIB to suppress installation of internal libraries.
1998-03-12 05:14:19 +00:00
jb
97b7e0762f 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
jdp
0ba671bfd1 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
ff3d055846 mktemp -> mkstemp as pointed out on bugtraq
Obtained from: Theo de Raadt
1998-03-10 19:43:27 +00:00
peter
02240a39a9 indicate ability to support the PerservePermissions stuff 1998-03-10 14:12:09 +00:00
peter
739fe19eee add new file (hardlink.c) into sources 1998-03-10 14:00:59 +00:00
jkh
5565285884 Eliminate duplicated lines.
PR:		5956
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.j>
1998-03-09 11:13:17 +00:00
jb
2d7cccd9cf 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
jb
54b75d875f This commit was generated by cvs2svn to compensate for changes in r34336,
which included commits to RCS files with non-trunk default branches.
1998-03-09 00:33:28 +00:00
jb
78ec3b77f6 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
84b7fbfa29 Use cc -E rather than cpp when looking for __ELF__ 1998-03-08 17:25:10 +00:00
obrien
28359c5db0 add CC' as a link to c++' for compatablity with SGI. 1998-03-08 12:27:04 +00:00
peter
5c52714e90 Set LIB_PATH explicitly otherwise genscripts makes (incorrect) references
all over the place.
1998-03-08 08:08:39 +00:00
peter
c39aed21a8 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
wosch
bc665bbb6c Delete cc(1) debug option, typo from last commit.
Pointed out by: Søren Schmidt
1998-03-07 16:13:57 +00:00
bde
adad8e3b30 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
bde
6682846885 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
7322781b50 Open temporary files with O_EXCL.
Obtained from:bugtraq
1998-03-06 19:00:26 +00:00
bde
aa4b45b15e 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
bde
2f4e4d8c6f 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
jdp
9fa81114e9 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
jdp
45fccb8325 This commit was generated by cvs2svn to compensate for changes in r33975,
which included commits to RCS files with non-trunk default branches.
1998-03-01 23:41:17 +00:00
jdp
8222bc81a2 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
bde
c6e6ad163c Don't add streambuf.cc to SRCS twice. 1998-02-25 01:23:28 +00:00
steve
8049881931 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
jkh
fba9e5d663 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
bde
3912a8fcc1 Don't create an unused obj directory. 1998-02-20 11:18:57 +00:00
jb
7d1df0f942 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
jb
728d7b8b1a Just one of these libs left to port to alpha. 1998-02-19 07:30:06 +00:00
steve
4b339db2da 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
bde
7fdb812e6b 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
alex
7ad6c0f9ab catman(1) is now invoked by /etc/periodic/weekly/330.catman. 1998-02-07 05:17:47 +00:00
jdp
d5b09c81ec Implement dladdr. 1998-02-06 16:46:46 +00:00
danny
db4c5c65ab Submitted by: Alex Nash
Style nit - extraneous space.
1998-02-04 07:04:44 +00:00
steve
fc4ac04352 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
a1c4205142 comment that pvcs_to_rcs is left out since it needs perl5 1998-01-26 04:33:03 +00:00
peter
8520bf47b3 Add libdiff 1998-01-26 04:21:52 +00:00
peter
32b0e7a8bd Build the internal libified diff 1998-01-26 04:14:21 +00:00
peter
0c99e26aab Update options.h as per configure generated version 1998-01-26 04:02:05 +00:00
peter
5386f45a6a Update config.h 1998-01-26 03:59:21 +00:00
jb
014c10f649 Make machine dependent asm code machine dependent. 8-) 1998-01-25 09:52:32 +00:00
jb
b1946a8320 Change MACHINE -> MACHINE_ARCH so that the design make sense on those
machines where the processor chip determines the compiler, and where
multiple machines use the same architecture.
1998-01-25 09:49:00 +00:00
jb
109ee64102 Modify for MACHINE_ARCH support instead of assuming just x86.
Added alpha and m68k stuff.
1998-01-25 09:45:00 +00:00
ache
2d8b453009 Add PATCH_INDEX_FIRST environment variable to do the same as -I option 1998-01-22 07:44:04 +00:00