Commit Graph

1316 Commits

Author SHA1 Message Date
John Polstra
98ad0dae72 Give up on a.out support in binutils. It has too many problems to
be worth much effort.  Install all i386 binutils programs in
"/usr/libexec/elf".  Disable a.out support in libbfd.  It's too
dangerous to leave it in.  Some of the utilities think they can
handle a.out, but they generate bad object files.
1998-03-30 02:21:27 +00:00
John Polstra
dc84a8ccd6 Add c++filt. 1998-03-30 02:19:09 +00:00
John Polstra
c1e07c867e Add support for the AT&T style "fildll" and "fistpll" mnemonics.
These are equivalent to "fildq" and "fistpq" respectively.  This
fixes the bad floating point object code that resulted after recent
changes in the compiler.

Test driven by:	"Mike Burgett" <mburgett@awen.com>,
		Amancio Hasty <hasty@rah.star-gate.com>
1998-03-29 01:38:39 +00:00
Eivind Eklund
77b1218492 Activate CVS regression test. 1998-03-28 19:06:21 +00:00
Dima Ruban
0fcadac763 Don't build sperl if you don't want to. 1998-03-26 06:06:22 +00:00
Bruce Evans
5317c2da24 Support building of libgcc.a without building all of gcc. This is
useful for bootstrapping.  Compatible versions of gcc and cc1 should
should be installed before using this feature.
1998-03-23 12:23:13 +00:00
Bruce Evans
c5badc84cd Honour -static in LDLAGS. ld without -Bstatic is happy to choose
static libraries if there are no shared libraries in the search path,
but gcc without -static blindly attempts to link crt0.o.
1998-03-23 11:50:38 +00:00
Bruce Evans
71d8a2d21a Generate files at build time, not at install time. This should be the
last fix of this type.  Installing from a read-only object tree should
work now.

Install files using a single install command where this is easy; don't
use shell loops.

Don't use MANDEPEND to complicate things.
1998-03-21 12:12:55 +00:00
Bruce Evans
267af6a411 Don't use beforedepend to complicate and break things. Just put
generated source files in SRCS.
1998-03-20 12:13:10 +00:00
Bruce Evans
e52ff61466 Put generated source files in SRCS. This fixes races generating
the source files.  E.g., the stale version of locate.cc in the
source directory was sometimes used.  We didn't even use beforedepend.

Added temporary files to CLEANFILES.

Fixed some style bugs.
1998-03-20 12:05:50 +00:00
Bruce Evans
71ab679790 Don't use beforedepend to complicate and break things. Just put
generated source files in SRCS.

Don't use MANDEPEND to complicate things.  Just put the generated
man page in CLEANFILES.

Partly fixed yacc header brokenness, as in ../eqn/Makefile.

Added temporary files to CLEANFILES.

Fixed some style bugs.
1998-03-20 12:04:59 +00:00
Bruce Evans
33c198cc5f Don't use beforedepend to complicate and break things. Just put
generated source files in SRCS.

Don't use MANDEPEND to complicate things.  Just set MAN1 and put
generated man pages in CLEANFILES.

Added temporary files to CLEANFILES.

Partly fixed a potentially fatal bug involving the yacc header.
We generate eqn.cc (even if there is a version of it in the source
directory older than eqn.y) and a matching eqn.tab.h, but only use
the possibly-non-matching eqn.tab.h in the source directory.  This
works because Cygnus's yacc happened to generate a y.tab.h identical
to the current generated one.  The correct version will be used
when the wrong version is deleted from the source tree.  Kludge to
get the header generated early enough.  Yacc headers are mishandled
everywhere they are renamed (and used).

Generate neqn at build time, not at install time.

Fixed some style bugs.
1998-03-20 12:03:53 +00:00
Bruce Evans
c0a15f333f Removed bogus -I path. The correct path is in all subdir Makefiles
where it matters.
1998-03-20 11:08:52 +00:00
Bruce Evans
3f9af06bf9 Removed vestiges of use of beforedepend target. 1998-03-19 15:21:19 +00:00
David E. O'Brien
c868efd590 I goofed on the `LINKS' syntax.
Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1998-03-18 12:28:09 +00:00
John Polstra
09ce8fd795 Make the binutils strip ELF-only for now. It isn't quite right for a.out. 1998-03-15 02:08:04 +00:00
John Polstra
66f259f3f5 Disable support for the a.out-i386-bsd target. Everything it can do
seems to be supported in the a.out-i386-freebsd target.  When both
are present, there are sometimes complaints of "ambiguous file
format."
1998-03-14 01:40:31 +00:00
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
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
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
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
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
John Birrell
3b306d567c 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
Andrey A. Chernov
2aee32e1f8 Add PATCH_INDEX_FIRST environment variable to do the same as -I option 1998-01-22 07:44:04 +00:00
Andrey A. Chernov
0b00e7b2c0 Update usage line with new option 1998-01-21 15:15:39 +00:00
Andrey A. Chernov
8bf2e8c7e2 Add -I or --index-first option to take Index: precedence over context diff,
as it was in hacked FreeBSD version
1998-01-21 15:10:14 +00:00
Andrey A. Chernov
249a716c6c Resurrect patch 2.1 without FreeBSD Index: hack 1998-01-21 14:37:27 +00:00
Bruce Evans
9bb4a86cf0 Fixed accesses to addresses between VM_MAXUSER_ADDRESS (normally
0xefbfe000) and kernel_start (normally 0xf0100000).

Things are unnecessarily (?) difficult because procfs is used to
access user addresses in the live-kernel case although we must have
access to /dev/mem to work at all, and whatever works for the
dead-kernel case should work in all cases (modulo volatility of
live kernel variables).  We used the wrong range [0, kernel_start)
for user addresses.  Procfs should only work up to VM_MAXUSER_ADDRESS,
but it bogusly works for reads up to the address 2 pages higher
(the user area, including the kernel stack, is mapped to where the
user area used to be (WTUAUTB)).  Procfs can not work at all for
addresses between WTUAUTB and kernel_start.

Now we use procfs only to access addresses up to VM_MAXUSER_ADDRESS.
Higher addresses are translated normally using kvtophys(), so the
user ptd is used for addresses below the real kernel start (0xf0000000;
see INKERNEL()) and nothing is found WTUAUTB.

Strange accesses that cross the user-kernel boundary are now handled,
but such ranges are currently always errors because they necessarily
overlap the hole WTUAUTB.

Short reads are still not handled.
1998-01-19 15:27:56 +00:00
Bruce Evans
04822660a1 Removed `kstack' and associated mistranslations in kvtophys().
Correct translations would have been null.  However, kstack was
the top of the kernel stack instead of the base of the kernel stack
like it was when the kernel exported it, so the area above the
kernel stack was mistranslated and the kernel stack was not
translated.  This bug was depended on to compensate for the wrong
value of kstack - to read the pcb, instead of just using the address
of the pcb, we used the mistranslated address of kstack, which
happened to be the same (curpcb = kstack - 0x2000).

This area is simpler than it used to be now that the kernel stack
address is per-process.  The code still seems to be more complicated
than necessary - the `found_pcb == 0' case seems to be unused.
1998-01-19 14:27:41 +00:00
Bruce Evans
8c2c0a1d2f Fixed endless loop for `p/x *(int *)0xf0000000'. kvm_uread() in
gdb was cloned from the buggy version of kvm_uread() in libkvm and
had the same bugs.  It looped endlessly on EOF and checked errno
without setting it in the lseek() error check.  The first bug caused
gdb to loop endlessly for reads from addresses between the end of
the user area and the start of the kernel text.  kvm_uread() should
not be used for addresses beyond the end of the user area, but is
due to bugs elsewhere.
1998-01-18 13:18:55 +00:00
Bruce Evans
941b2747b6 Don't override FRAME_CHAIN(). If the current frame is valid, then
the previous frame is in the usual place even for traps, interrupts
and syscalls in the kernel, because the assembly language stubs
don't change the frame pointer.  The previous frame is just not for
the calling function.  We may as well depend on this as on magic to
determine the trap frame address.  The magic is in FRAME_SAVED_PC()
which elides the correct number of stubs (1) to go back to a pc that
matches the previous frame.

Removing fbsd_kern_frame_chain() fixes bugs in it.  Xsyscall was
misspelled as _Xsyscall (gdb removes one leading underscore), so
the tf_syscall frame type was never found.  This was harmless
because tf_normal works in all cases in fbsd_kern_frame_chain()
and Xsyscall is spelled correctly in fbsd_kern_frame_saved_pc()
where it matters.  There were style bugs on almost every line,
starting with a primary indent of 7.
1998-01-18 12:35:48 +00:00
Bruce Evans
82f143c642 Fixed sloppy definitions of SIGTRAMP_START and SIGTRAMP_END. The old
range was a little too large.
1998-01-18 11:51:48 +00:00
Bruce Evans
d76f78c43c Pass the system name to dmesg. Rev.1.7 only works when the symbols in
/kernel aren't too different form those in the kernel being debugged.
1998-01-17 17:07:53 +00:00
John Birrell
a3f1de88b2 More i386 -> ${MACHINE} changes to make this Makefile machine
independent. It makes it look like you can get aout on alpha, but
that's just your imagination. The makefile above gives you no choice.
1998-01-11 04:13:25 +00:00
John Birrell
df13e7f694 Replace i386 references with ${MACHINE} to make this makefile almost
machine independent, with the only dependency being the binary format
to build. We only expect to build ELF on alpha although we'll need
ECOFF compatibility with Digital Unix.
1998-01-11 04:10:26 +00:00
John Polstra
6d7a71ba59 Make the ".set" directive copy the aux field when the expression
reduces to a relocatable symbol plus an offset.  This preserves
the symbol type information (function vs. object).  It is important
for SVR4-style weak symbols, e.g., "#pragma weak foo=bar".  Without
this change, the linker complains that the jmpslot entry is not a
function.
1998-01-10 05:36:35 +00:00
Daniel O'Callaghan
09a3feaf70 PR: gnu/4385
Submitted by:	Robert Eckardt <roberte@MEP.Ruhr-Uni-Bochum.de>
Sundry man page fixes; handle Central European Summer Time (CEST);
usage fixes in line with man page fixes.
1998-01-05 11:32:39 +00:00
Andrey A. Chernov
78dd9df206 Upgrade to 2.5 (contrib version) 1998-01-04 21:41:46 +00:00
Andrey A. Chernov
1f374e009f Back out Index over +++/--- precedence.
It maybe right, if patch was FreeBSD-own program, but it break compatibility
with pre-existent patches in other systems.
The example is big ncurses patch which don't apply on FreeBSD
due to "fixed" precedence.
1998-01-03 23:42:56 +00:00
Alexander Langer
1295abe226 Removed /etc/ld.so.conf reference from FILES section (people get
confused when they can't find it), but leave the reference to it
as being a standard filename (which doesn't imply that it exists).

Discussed with:	jkh
1998-01-01 02:31:47 +00:00
Daniel O'Callaghan
52ebfb9d0f Submitted by: Peter Hawkins <peter@clari.net.au>
Actually implement --norecurse as documented in the man page.
1997-12-30 10:23:09 +00:00
Wolfram Schneider
6043106601 Check argument filename length before copying.
$ gzip `perl -e 'for(1..10240){ print "a"}'`
1997-12-27 03:38:39 +00:00
Wolfram Schneider
9c8ac6c742 Workaround to avoid a strange core dump.
gzip < /dev/null | perl -npe 's/\003\003/\003\225/' | gzip -d
1997-12-26 21:12:26 +00:00
Wolfram Schneider
1132c08dd8 Do not install the z*grep man pages if grep was linked with -lz. 1997-12-26 01:53:58 +00:00
Tim Vanderhoek
dfb9495b2a Use consistent spelling,
writeable -> writable (recall prior debate over this? :-)
	initialise -> initialize
	recognise -> recognize

Merry Christmas! :)
1997-12-25 09:36:42 +00:00
Wolfram Schneider
15ec2a04f8 When called as `zgrep', the -Z argument is assumed. Make a
link from zgrep to grep.

Pointed out by: Tim Vanderhoek <hoek@hwcn.org> and
                Mike Smith <mike@smith.net.au>
1997-12-21 19:15:12 +00:00
Wolfram Schneider
00caa62588 Added zgrep.libz. This version of zgrep(1) depend on a
grep(1) linked with libz.
1997-12-20 19:20:33 +00:00
Wolfram Schneider
50cb810d2e Added a sparc category to the list. 1997-12-20 18:54:22 +00:00
Wolfram Schneider
a6f4e3c4dc Added builtin decompression using zlib library, option -Z.
Enabled this new feature with the makefile variable GREP_LIBZ. If
you don't like it, compile with `make GREP_LIBZ='.

grep + zlib has several advantages:

- the shell script zgrep(1) will be basically a one line
  exec grep -Z "$@"

- no shell script, no bugs. The current zgrep implementations
  have many bugs and some grep options are no supported.

- no shell script, no security risks.

- it is a magnitude faster than a shell script

Also fixed:
0 -> STDIN_FILENO
Close a file descriptor only if the open call was successfully. It does
not hurt for the open(2) function, but the gzclose(3) function
died in free() to free up (not) allocated memory.
1997-12-20 18:46:09 +00:00
Bruce Evans
a821e7134b Exec dmesg and awk to print everything in the message buffer
following "panic:" or "Fatal trap".  `panicstr' is still printed,
although it is redundant if there is a valid message buffer and
incomplete if it contains `%'s.  I think the awk command belongs
here and not in a script since a standard format with complete
messages is good for bug reports.
1997-12-19 21:37:18 +00:00
Bruce Evans
c26f14e2b9 Fixed missing dependency on version.c.
Fixed some style bugs ($@ is not recommended ...).
1997-12-18 15:22:12 +00:00
Bruce Evans
c0e045a84d <bsd.prog.mk> has always included ../Makefile.inc, and there are no
complications involving .PATH or dependencies, so don't include it here.
1997-12-17 20:22:34 +00:00
Bruce Evans
cee45d9aa8 <bsd.prog.mk> has included ../Makefile.inc for a long time, and there
are no complications involving .PATH or dependencies, so don't include
it here.
1997-12-17 19:57:35 +00:00
Bruce Evans
f34b67af93 Don't use LDDESTDIR. Just put the -L arg in LDADD. 1997-12-17 15:11:43 +00:00
Bruce Evans
45c9cb5439 Use BINOWN, etc. instead of bin, etc. so that (this part of)
`BINOWN=... make world' can be run by users other than root.
1997-12-17 12:04:53 +00:00
Wolfram Schneider
8873fd5457 Use getopts instead getopt(1). This should fix the problem
with whitespaces in pattern.
PR:	5211
1997-12-07 01:00:56 +00:00
John Polstra
6210388a93 Make emacs work again. This is a workaround for the fact that the
emacs a.out file, self-generated by emacs's "unexec" function in
"unexsunos4.c", is invalid.  In particular, its "_end" symbol has
the wrong value.  The dynamic linker was using the value of that
symbol to initialize its sbrk break level.

The workaround is to peek at the executable's a.out header in
memory, and calculate what "_end" should be based on the segment
sizes.

I will work out a fix for emacs and send it to the FSF.  This
dynamic linker workaround is still worthwhile, if only to avoid
forcing all emacs users to build a new version.

Note: xemacs gives a bogus warning at startup, for related reasons.
The warning is harmless and can safely be ignored.  I will send a
patch to the xemacs maintainers to get rid of it, and meanwhile
add a patch file to our port.
1997-12-05 02:06:37 +00:00
Steve Price
edec52ad1a Remove manpath.[ch] here and use the ones in ../manpath instead. 1997-11-30 20:08:27 +00:00
Steve Price
580e97a9d8 Resurrect manpath.c here. 1997-11-30 19:55:16 +00:00
Steve Price
609e31cc38 Remove this copy of manpath.c and add the .PATH directive to get to
the same file in ${.CURDIR}/../man.

Suggested by:	Bruce Evans
1997-11-30 17:17:29 +00:00
Steve Price
bab06090f9 Always call gripe_reading_mp_config with the required arguments.
PR:		3894
Submitted by:	Stephen Clawson <sclawson@marker.cs.utah.edu>
1997-11-30 01:01:47 +00:00
John Polstra
08bdd3d27d Get rid of the dynamic linker's internal malloc package, and arrange
things so that it uses the same malloc as is used by the program
being executed.  This has several advantages, the big one being
that you can now debug core dumps from dynamically linked programs
and get useful information out of them.  Until now, that didn't
work.  The internal malloc package placed the tables describing
the loaded shared libraries in a mapped region of high memory that
was not written to core files.  Thus the debugger had no way of
determining what was loaded where in memory.  Now that the dynamic
linker uses the application's malloc package (normally, but not
necessarily, the system malloc), its tables end up in the regular
heap area where they will be included in core dumps.  The debugger
now works very well indeed, thank you very much.

Also ...

Bring the program a little closer to conformance with style(9).
There is still a long way to go.

Add minimal const correctness changes to get rid of compiler warnings
caused by the recent const changes in <dlfcn.h> and <link.h>.

Improve performance by eliminating redundant calculations of symbols'
hash values.
1997-11-29 03:32:48 +00:00
John Polstra
873954b327 In the "ldd -v" output, display the N_AUX information for each
symbol.  It indicates whether the symbol refers to a function or a
data object.
1997-11-28 19:34:27 +00:00
Bruce Evans
a964cd4bba Implemented "info float" for core files.
Implemented reading of %fs and %gs from core files.

Print weird floating point values better.  We have to convert long
doubles to doubles here because of limitations and bugs in printf()
and floatformat_to_double() (long doubles aren't really supported
and naive converion to double causes exceptions).  Conversion loses
information about weird formats (everything becomes a quiet NaN),
and printf() doesn't know about different types of NaNs anyway.
1997-11-23 09:18:18 +00:00
John Polstra
14b94d0464 Add missing argument detected by "-Wformat". 1997-11-18 03:37:45 +00:00
Andrey A. Chernov
5a77e9d43b Define PR_PROGRAM properly 1997-10-29 17:35:54 +00:00
Andrey A. Chernov
53d4d0e441 Switch to contrib version 1997-10-29 16:58:20 +00:00
Andrey A. Chernov
e4b6c3604e Switch to contrib version 1997-10-29 16:50:42 +00:00
Andrey A. Chernov
cd56389a5d Switch to contrib version 1997-10-29 16:36:57 +00:00
James Raynard
be4ad1aa3f Remove yet another superfluous file. 1997-10-26 12:53:16 +00:00
Andrey A. Chernov
a1838c23b7 Add -funsigned-char to CFLAGS (for ctype macros) 1997-10-26 12:20:45 +00:00
Andrey A. Chernov
5a90c8dbf2 Add (unsigned char) cast to ctype macros 1997-10-23 02:44:23 +00:00
Andrey A. Chernov
93bb056022 Add (unsigned char) cast to ctype macros 1997-10-23 02:22:51 +00:00
Andrey A. Chernov
62fe88f9af Add unsigned char cast to ctype macros 1997-10-23 02:08:16 +00:00
Andrey A. Chernov
8b50620f9a Add (unsigned char) casts to ctype macros 1997-10-23 01:43:00 +00:00
Andrey A. Chernov
d4efecb283 Do not use gawk random, we have better one in libc 1997-10-15 14:01:31 +00:00
James Raynard
4475598f18 Makefile for contributed version of awk. 1997-10-14 18:32:38 +00:00
James Raynard
60e8807fae Remove old version of awk. 1997-10-14 18:29:32 +00:00
Peter Wemm
5c97f357a9 #include <machine/tss.h> explicitly 1997-10-10 12:53:27 +00:00
Peter Wemm
67b76a559b If kerberos is installed and enabled in make.conf, activate cvs's kserver
hooks.  This is a lot safer than 'cvs pserver'.
1997-10-10 04:03:17 +00:00
Jordan K. Hubbard
97fe7f477f Changes to support full make parallelism (-j<n>) in the world
target.
Reviewed by:	<many different folks>
Submitted by:	Nickolay N. Dudorov" <nnd@nnd.itfs.nsk.su>
1997-10-05 09:40:24 +00:00
Joerg Wunsch
b71ec8cc29 Nevermind... Wolfram already did it, but added the file (IMHO wrong)
to the contrib area so i didn't see it.
NB: RELENG_2_2 is still missing it (what's why i didn't see it in the
first place).
1997-09-29 14:27:55 +00:00
Joerg Wunsch
5b9dc35332 Add a stub man page for psroff(1). 1997-09-29 14:24:35 +00:00
Poul-Henning Kamp
d030d2d2ae Many places in the code NULL is used in integer context, where
plain 0 should be used.  This happens to work because we #define
NULL to 0, but is stylistically wrong and can cause problems
for people trying to port bits of code to other environments.

PR:		2752
Submitted by:	Arne Henrik Juul <arnej@imf.unit.no>
1997-09-18 14:08:40 +00:00
Joerg Wunsch
c6850a7698 Sigh, there's always one more buffer overflow. :-(
This one hinted to by the recently posted exploit (although not exploited by
it).
1997-09-16 08:33:52 +00:00
Wolfram Schneider
753da33042 Add a genclass.1 manpage. 1997-09-15 19:18:59 +00:00
Wolfram Schneider
11210c4ed5 Add a simple manpage. 1997-09-15 16:08:56 +00:00
Andrey A. Chernov
40d7476321 Fix neqn building:
1) Move it after Makefile.inc included since it uses DIST_DIR from there
2) Add neqn.sh dependance
1997-09-15 01:56:29 +00:00
Wolfram Schneider
c455f09b2d Add a simple manpage. 1997-09-14 23:43:22 +00:00
Wolfram Schneider
f6b31571f6 spelling corrections.
PR: docs/4450
Submitted by: josh@quick.net
1997-09-13 16:01:53 +00:00
John Polstra
170fa4e888 Touch up the code that implements "ldd -v".
Bring the style of sods.c into better conformance.  Add code to
print the contents of each datum being relocated.  Correct the logic
that distinguishes between programs, shared libraries, and object
files.  Make the entire program "-Wall" clean.
1997-09-02 21:54:39 +00:00
John-Mark Gurney
46657c7e77 fix a few spelling changes
Submitted by: Josh Gilliam

Closes PR's: 4429, 4431-4438

PS: He has agreed to submit all contrib fixes back to the original author.
1997-08-30 12:22:49 +00:00
John-Mark Gurney
0abdc26a0d fix misspelling
Submitted-by: Josh Gilliam

Closes PR:4426
1997-08-30 11:08:06 +00:00
Søren Schmidt
cf302734e1 Dont use an internal function called warn it clashes with libc.
Allows ELF compile.
1997-08-29 16:14:20 +00:00
David E. O'Brien
e983bbadc0 Real skeleton manpage for install-info
(someone that actually knows what it really does (I don't use info) really
should try to put some meat in this)
1997-08-29 09:10:22 +00:00
Joerg Wunsch
bc151cdc8c Major Ooops. I've overlooked a few calls to scanident() in my last commit.
Submitted by:	rbezuide@oskar.nanoteq.co.za (Reinier Bezuidenhout)
1997-08-27 17:18:30 +00:00
Steve Price
bd673ff4e7 .Ar -l -> .Fl l
PR:		docs/3682
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1997-08-23 21:59:41 +00:00
Steve Price
3511ae5bba Add missing *roff macros to correct display about -V option.
PR:		docs/4162
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp
1997-08-23 15:50:53 +00:00
John-Mark Gurney
ffc946a350 bin to BIN{OWN,GRP} and add Id line 1997-08-23 05:26:32 +00:00
Peter Wemm
d1eca759eb Fix missed optimisation in "Attic/" stripping code in $CVSHeader$
Submitted by: jdp
1997-08-22 06:59:08 +00:00
Peter Wemm
d4ba5766dd Add -R (rescan or refresh) option to rescan and rebuild the hints
file based on the previous list of directories stored there which
should overcome a weakness of the '-m' switch which can only add
libs.  This is an ideal way of updating the hints list after adding
or removing a shlib since it will remove entries that are gone and
doesn't need to have all the directories spelled out each time.
(eg: rm -f /usr/lib/libtcl75*; ldconfig -R)  This only works for
version 2 hints files (which we've been generating for a year or
so) which store the path.
1997-08-22 04:42:12 +00:00
David E. O'Brien
88d1479a58 Added to RELENG_2_2 via tagging. 1997-08-21 08:26:55 +00:00
John-Mark Gurney
0426565f90 change bin to BINOWN and BINGRP
Reviewed-by: joerg
1997-08-21 03:28:07 +00:00
Nate Williams
39f2a9e2db - In dlsym(), if the lookup fails using the original symbol, prepend an
underscore and try looking it up again.  This is a non-issue if we
  switch to ELF.

Reviewed by:	sef, jdp
1997-08-19 23:33:45 +00:00
Peter Wemm
0b5711950f Redo the $CVSHeader$ support to use code from David Dawes as in XFree86.
The stuff I hacked together didn't strip out "/Attic/" for files
on branches when the HEAD version was cvs rm'ed.
1997-08-19 11:17:37 +00:00
Peter Wemm
839dac029a Don't accidently compress "sh" or there are unfortunate consequences.
PR: 4220
Submitted-by: Dag-Erling Coidan Smørgrav <finrod@pugwash.priv.no>
1997-08-09 15:34:40 +00:00
Joerg Wunsch
66457fe332 Fix a buffer overflow condition (that causes a security hole in suidperl).
Closes: CERT Advisory CA-97.17 - Vulnerability in suidperl
Obtained from: (partly) the fix in CA-97.17
1997-08-08 20:53:59 +00:00
John Polstra
7e7344e2f4 Implement dlsym(RTLD_NEXT, symbol). 1997-08-02 04:56:44 +00:00
Bruce Evans
d1ef093383 Support 4MB pages. 1997-07-27 18:29:04 +00:00
Jun-ichiro itojun Hagino
87fc08e0db small change to prevent "modules" to be modified twice, on the following
execution sequences:
	% easy-import -n foobaa
	% easy-import foobaa

Reviewed by:	joerg_wunsch@uriah.heep.sax.de
1997-07-15 16:48:01 +00:00
John Dyson
0d3f410b50 Add some Pentium and PentiumPro opcodes and registers. 1997-07-15 07:56:53 +00:00
Bruce Evans
64bb6c3420 Don't define HOST_DATA_START_ADDR, since gdb works without it the
previous definition doesn't work on BSD4.4Lite[2] derived systems
without the changes in rev.1.27 of kern_proc.c.
1997-07-13 14:31:54 +00:00
Jordan K. Hubbard
571b472b20 Allow ldconfig to accept files (containing directory paths) as well as
directory paths.
Reviewed by:	jkh & jdp
Submitted by:	Hans Zuidam <hans@brandinnovators.com>
1997-07-11 14:45:41 +00:00
Wolfram Schneider
09eac7d4b2 Better section guessing for manual pages without suffix. The
plan9 manual pages dont have a suffix.
1997-07-04 22:32:59 +00:00
Bruce Evans
68f69edcb6 Removed -I path to gdb's readline. This didn't do much in -current
because the -I path to config/libreadline had precedence, but in
2.2 it help hide the bug that the -I path to the non-contrib
libreadline was garbage.
1997-06-30 23:10:54 +00:00
Bruce Evans
7569c70b61 gdb.info still needs a near-copy of hsuser.texinfo to avoid the
reference to the programming manual.  Use this near-copy of the version
of hsuser.texinfo in contrib/libreadline instead of the stale near-copy
in contrib/gdb.
1997-06-30 12:57:58 +00:00
Bruce Evans
1dce44f3ea Configure static linkage in the normal way (default to -static using
NOSHARED?= yes).
1997-06-29 21:40:54 +00:00
Bruce Evans
29fc5d6403 Configure static linkage in the normal way (default to -static using
NOSHARED?= yes).

Split long lines.
1997-06-29 21:36:33 +00:00
Paul Traina
72b4ef7179 NOSHARED takes a yes/YES no/NO value, not "true, false, hey mon!".
NOPIC is used to not generate a shared library, not NOSHARED.
Make NOSHARED advisory where appropriate.
Remove bogus NOSHARED (kbdio).
1997-06-29 06:03:42 +00:00
Tor Egge
47c8f7894f Don't depend upon the user structure having been aligned on a 8 KB boundary.
Reviewed by:	Peter Wemm <peter@spinner.dialix.com.au>
1997-06-27 15:48:22 +00:00
Peter Wemm
439ff84095 Zap some unused debugging printfs that I accidently left in. 1997-06-27 13:39:31 +00:00
Steve Price
d0dff61cfb Fix a minor nit in the .Dd macro invocation so that
the revision date is displayed correctly.
1997-06-23 04:52:13 +00:00
Poul-Henning Kamp
8de2b8b504 BYOC - Bring Your Own Calloc(3)
Someday I'm going to face the music and dispose of this private malloc copy.
1997-06-22 17:48:35 +00:00
John-Mark Gurney
1475bac7ec support remote imports (you must have a local cvs with same path as
remote for this to work)

Approved/Improved by: joerg
1997-06-09 10:08:07 +00:00
Paul Richards
53b27391b0 Remove "support" class since we don't provide support services to users. 1997-06-07 23:46:48 +00:00
Bruce Evans
b7542f0123 Support reading and writing of %fs and %gs (except from core files). 1997-06-07 04:50:43 +00:00
Masafumi Max NAKANE
88e57b4a69 Typo fix in the EXAMPLES section. 1997-06-05 23:12:13 +00:00
John Polstra
503c715b84 Fix some old typos and misspellings. 1997-05-31 04:28:53 +00:00
Doug Rabson
12510ea316 Document new -Bforcedynamic flag and -assert pure-text.
Reviewed by:	jdp
1997-05-29 15:34:34 +00:00
Masafumi Max NAKANE
d5fb0dffb4 Typo fix.
PR:		3693
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1997-05-27 13:46:40 +00:00
Philippe Charnier
c1fe3bceca Add -fno-for-scope to CFLAGS, required by gcc (see NEWS).
PR:	gnu/3585
1997-05-23 06:17:21 +00:00
Warner Losh
628c89d341 Fix buffer overload that might lead to root. 1997-05-22 21:40:08 +00:00
Philippe Charnier
6cb01af4ac replace obsolete @ctrl{A} with @kbd{C-A}. Suppress compilation warning. 1997-05-21 06:12:22 +00:00
Eivind Eklund
6ad98044a1 it's'' -> its'' where appropriate and typo fixes in time2posix.3.
Closes PR docs/3612.

Submitted by:	Josh Gilliam <soil@quick.net>
1997-05-19 16:33:27 +00:00
Peter Wemm
dc07dab926 Update to build the new cvs version 1997-05-15 23:00:07 +00:00
Doug Rabson
3c0a9567e5 Changes to support the kernel linker:
Add a -Bforcedynamic option which generates a dynamic object even
	if no shared libraries were given in the link.

	Make RRS in text section warnings conditional on "-assert pure-text"
	so that I can link non-PIC kernel modules without tons of link
	errors.  Changes to bsd.lib.mk to follow.

	Fix a couple of bugs exposed by the fact that the kernel is not
	linked at zero.

Reviewed by:	jdp
1997-05-13 10:23:47 +00:00
Peter Wemm
e6da6cbc7d After looking around at what the other *BSD's do for their $xxxBSD$ tags,
take the easy way out and implement the beginnings of something similar.
Don't worry, the code here is *dormant* so far, some "help" from cvs is
required.  This is going in now so that jdp can see what I'm working on.
This is an extension of the previous existing skeleton $FreeBSD$ code.
1997-05-11 05:33:08 +00:00
Gary Jennejohn
1735e8a3c8 delete kcorelow.c, it didn't produce any code and broke init.c
because 2 references to _initialize_kcorelow (the other one
from kvm-fbsd.c) resulted. This prevented gdb from working correectly.

delete kcorelow.c from XSRCS in the Makefile.
1997-05-02 11:22:51 +00:00
Paul Traina
371bcb2ecd Clean up merge from 2.2 (without spamming peter's changes) 1997-05-01 16:24:37 +00:00
Peter Wemm
5702598255 Patch up init.c generation so that it works in -current.. It was trying
to use files that do not exist here.  Also, fix(?) ${.OBJDIR}/init.c hack.
1997-05-01 13:40:57 +00:00
Peter Wemm
8808286693 Fix include of <sys/dir.h> to <dirent.h> - it hits a #warning 1997-05-01 13:36:35 +00:00
Paul Traina
5a05ca1d76 Fix up a spurious '@' I added at the last second 1997-05-01 00:26:43 +00:00
Paul Traina
54adf80955 Merge from 2.2: auto-gen init.c and add ser-tcp.c 1997-05-01 00:18:51 +00:00
Bruce Evans
a511e4a787 Fetch the registers from struct members in the pcb instead of
punning the pcb to an array of ints and using magic indices to
access values in it.  This should prevent silent breakage from
changes in the pcb.

Supply 0 for unavailable registers instead of punning the tss to
an array of ints and using magic indices to access garbage values
in it.  (The registers are in the pcb; there is nothing interesting
in the tss.  This should change someday.  At least for dumps, all
the registers should be saved, and common_tss is a good place to
put them.)

Removed ancient wrong (disabled) method for reading eip.
1997-04-30 15:33:56 +00:00
Bruce Evans
ae105a60aa Backed out previous change. It just gave a more verbose Makefile by
repeating the default for MAN1.
1997-04-30 15:23:02 +00:00
John Polstra
aafb797228 Fix a bug that caused the relocs for linker set members in shared
libraries to come out as 1-byte relocations instead of 4-byte
relocations.

Submitted by:	Doug Rabson <dfr@nlsystems.com>
1997-04-30 05:18:08 +00:00
John Polstra
3b9d3fa4fa Set the N_EXT (external) flag for all weak symbols. It makes no
sense to have a weak symbol that is not externally visible.  This
fixes many of the "relocation burb" warnings produced when compiling
C++ code with "-fpic".  Beyond eliminating warnings, it also makes
some things work that didn't work before.
1997-04-29 02:11:48 +00:00
Gary Jennejohn
3e3d6b2e21 change kvm-fbsd.c so that kernel debugging works again.
document the -k and -wcore options in the manpage.

change Makefile to use a local copy of the manpage.
1997-04-27 21:36:49 +00:00
Paul Traina
e620a3be19 Activate gdbserver and gdbreplay 1997-04-26 17:34:05 +00:00
Paul Traina
f3764e7923 Initial import of gdbserver FreeBSD support 1997-04-25 22:25:50 +00:00
Paul Traina
57f37775e5 Initial import of gdbreplay build structure 1997-04-25 22:25:22 +00:00
Bruce Evans
a9d61f30f1 Fixed `make depend'. The previous change reduced it to making only
config.h (which isn't used directly).  Added a comment about the
indirect use of config.h.
1997-04-25 20:20:21 +00:00
Bruce Evans
d836aa8d19 Don't complain about no input files for `ld -f'. This fixes spurious
(ignored :-() errors for `make depend' in /sys/i386/boot/*.  It's
natural for there to be no libraries there and inconvenient to check
for this in bsd.prog.mk.
1997-04-25 19:43:19 +00:00
John Polstra
ec77d02207 Fill the padding at the end of the runtime strings with zeros,
instead of leaving random data there.  This makes the linker's
output files more deterministic -- an important property for
regression tests.
1997-04-25 15:26:12 +00:00
Wolfram Schneider
dc15037d84 Understand `--' to end processing of command options.
This means one search for a string starting with a dash.
Fix also filenames starting with a dash. Close PR #3349
1997-04-19 20:06:57 +00:00
Bruce Evans
9453d60b10 Fixed `make depend' and related bogons. LDFLAGS was used for
ld-specific flags.  LDFLAGS is really for ld-related flags for cc,
not for ld, and some flags, e.g., -Bshareable, mean completely
different things to cc and ld.  Having the wrong things in LDFLAGS
also broke the standard ${PROG} target.  This was kludged around
by using a special rule that depended on LDFLAGS being bogus.
Fixing `make depend' broke the special rule but fixed the standard
rule (except in the DESTDIR case, which was handled more strictly
here than elsewhere).
1997-04-16 11:31:32 +00:00
Joerg Wunsch
a08b0cc730 Don't create anything on the disk if -O (aka --to-stdout) was given.
PR:		gnu/3247: tar -O creates directories...
1997-04-13 08:39:38 +00:00
Jordan K. Hubbard
5801796846 Close PR#3118 1997-04-13 06:38:56 +00:00
Peter Wemm
f2a0af48e5 Don't descend into the perl directory if it isn't there (eg: cvsup
refuse file), or if NOPERL is defined (eg: in /etc/make.conf)
1997-04-12 07:19:09 +00:00