one is much more intelligent, not only that it would accept multiple
man page locations, it also behaves like ``make'' in that it will only
deal with cat pages that are out of date (by default).
Wolfram also wrote a man page for it.
Submitted by: wosch@cs.tu-berlin.de (Wolfram Schneider)
- Don't define NO_IMPLICIT_EXTERN_C here. It is already the default
(defined in i386/bsd.h).
- Don't lose the fixed comment about FUNCTION_PROFILER.
- Don't lose the define of NO_PROFILE_DATA.
Replace the unused define of COMMENT_BEGIN by the less-unused define
of ASM_COMMENT_START. COMMENT_BEGIN was only defined in i386-specific
files and was not used in any part of gcc-2.6.3. ASM_COMMENT_START
is defined for several targets and is used for stuff that we don't
support (dwarf).
stuff. I'd like to have it in CVS, and i figured that this might be
the best place to go.
Someone (phk?) could install it into /usr/local/bin on freefall, for
convenience.
Suggested by: phk
basic-block profiling:
1. use a .stabs(25) symbol to link all the data structures together with.
The regular method isn't safe for the kernel.
2. add a BB before the prologue and add a BB after the epilogue, this
alows us to find the length of any counted BB. This is a cheap and somewhat
reasonable measure of actual cost.
if a signal is received.
This fixes a bug where killing the process would cause a
"No manual entry for XXX" to be printed even if the manpage
was found.
first place and we were too long in finding out. Now we know, and the
damage is hard to fix. This is part one: ld will not link gcc dynamic,
if specified as "-lgcc".
Suggested by: dyson & davidg
disables dysfunctional disinformed namei's,
needlessly negating namei cache."
These hacks cuts the number futile attempts made by cc and ccp to find
cross-compilers and other weird stuff. A make of the BOOTFLP kernel
has 20% less namei calls now, that is from 30647 down to 24563 calls.
NetBSD ld code except for local changes for dlopen() and friends and
the hashing on the minor value of the shlibs. We should be binary
compatible now with all their libraries.
Obtained from: NetBSD
the same as the changes made in the repository. This is often seen by
people with remote CVS trees that have applied their local patches to the
master site. a 'cvs update' will show bogus conflicts.
Obtained from: CVS mailing list, Stig<stig@inse.com>
In diffutils 2.6 and 2.7, diff3 -A complains about identical overlapping
changes. They're different from the ancestor but not from each other...
Why bother? The patch below fixes this nonsense and preserves [B]ackwards
compatiblity with the -B flag (also --show-bogus-conflicts).
Party on...
Stig
i reported today earlier..tested and works OK..
( To those who want to experience bug try running aub
with old version of socket.ph and with new one or just any
perl script "requiring " <sys/socket.ph> or <sys/cdefs.ph> )
correctly (specified wrong fields to awk). Note that the files in question
are noe the local /etc/master.passwd and /etc/passwd files: this Makefile
expects there to be a seperate master.passwd file under /var/yp for NIS
database creation.
executes after it finishes updating the raw master.passwd file. The script
is just there to invoke /var/yp/Makefile to build new maps and yppush them.
We could have yppasswdd run /var/yp/Makefile directly, but this allws a bit
more flexibility: the user may decide to run some other commands too.
This is a ported/modified version of the yppush program from the
yps-0.21 package from the NYS project. This program is used to propagate
updated NIS maps from an NIS master to an NIS slave. It's normally invoked
by /var/yp/Makefile.
This version of yppush has been modified in the following ways:
- Cleared up several Linux/BSD incompatibilities, largely involving
header files.
- converted from GDBM to DB with extreme predjudice. (well, not really...)
- removed lots of ugly debugging code that really didn't do anyone any good.
- Fixed a couple of inaccurate/badly formatted error messages.
- Renamed some functions to avoid collisions with certain YP routines
hidden inside libc.
- Small signal handling kludge: Linux has different struct sigaction
that us.
- Incorporated some functions from the yps-0.21 library that yppush was
dependent on.
Like ypxfr, this works, but could use come cleaning up.
This is a ported/modified version of the ypxfr program from the yps-0.21
package from the NYS project. This program is normally invoked by ypserv
when it receives a yppush command from an NIS master. It can also be
run from the command line to grab copies of maps when initializing a
slave server.
This program has been hacked in the following ways:
- rpcgen'ed new yp_xdr.c, yp_svc.c and yp_clnt.c files. The old ones were
rather grody.
- Changed certain function names (prefended a _ to them) to avoid conflicts
with certain functions lurking within libc. One major problem here is
that ypxfr needs to bind to a YP master in order to work correctly,
but it can't use the _yp_bind function inside libc because that
function only lets you bind to a domain, not a specific host. Lots
of head scratching here.
- Converted from GDBM to DB at gunpoint.
- Removed lots of really nasty looking DEBUG code to try to reduce clutter.
- Incorporated some of the library code supplied with yps-0.21 on which
ypxfr was dependent.
This program still needs to be cleaned up just as a matter of principle:
I get all icky just looking at it sometimes.
This is a ported/modified version of yppasswd from the NYS yppasswd-0.5
package. This package has code in it from both Olaf Kirch and Theo
de Raadt. There are GPL references and BSD-style copyright all over the
place... hopefully I won't get flamed into oblivion for commiting this.
This program has been modified from the original in the following ways:
- Changed the ALLOW_CHFN and ALLOW_CHSH compile-time options into
run-time options.
- Demolished the password update functions and replaced them with
routines to handle FreeBSD-style passwordd databases. It is expected
that a seperate master.passwd file will be maintained for use with
the NIS maps. yppasswd will have to be told where it is:
% yppasswdd -m /var/yp/master.passwd
A /var/yp/passwd file will be generated from /var/yp/master.passwd by
/var/yp/Makefile. When yppasswdd has finished modifying the master.passwd
file, it will invoke /usr/libexec/yppwupdate, which is a script that
will run /var/yp/Makefile to generate new maps and push them.
Note that there are copies if pw_util.c and pw_copy.c here. This is
deliberate: they are *not* identical to the originals. Very similar, yes,
but not identical. *sigh*
This is a hacked-up port of the ypserv-0.11 server from the NYS project
written by Peter Eriksson.
The original package included some map creating and dumping tools and
was based on GDBM. This version has been modified in the following
ways:
- GDBM replaced with DB and many weird hacks made to the read_database()
function because of this.
- implimented the ypxfr service (using ypxfr from the yps-0.21 package,
aso from the NYS project)
- added code to check the TCP port from which NIS requests originate:
the server will refuse to serve the master.passwd.{byname|byuid} maps
if the request doesn't come from a privileged port. Normally, only the
superuser can issue such a request. Requests for the passwd.{bynam|byuid}
maps aren't affected. There will be a small change made to getpwent.c
in libc to complement this.
- added code to do DNS lookups via actual resolver queries instead of
relying on gethostbyname() and friends. The author noted in the original
documentation that a loop condition could arise where the server would
query itself for hostsname lookups. Using direct DNS lookups prevents
this from happening.
- added code to properly fork() the server into the background unless
invoked with the -debug flag.
- Added combined syslog/perror function.
- fixed a few bugs (which were probably introduced by all the other
changes)
- Created a bmake Makefile.
Note that this package can be linked against the tcp_wrapper package
to provide address-based authentication, but this isn't done by default
since the tcp_wrapper package isn't part of FreeBSD.
This program is used for both generating and dumping NIS maps. It's very
similar to the 'makedbm' command in SunOS. This program was ported from
the yps-0.21 package. It's close to the original except for the GDBM to
DB conversions. This was simple compared to the other YP components.
the version installed from /usr/share. It's hard to eliminate old versions
- few Makefiles have `uninstall' targets and sup/ctm tends to blow away
old Makefiles.
This Makefile needs more work. Stuff is built at install time...
Don't initialize CLEANFILES here. Many FONTFILES are sources and required
special clean rules to avoid cleaning.
Makefile.tty:
Initialize CLEANFILES. All tty FONTFILES are objects.
misfeature caused troubles when a program attempted to access a shlib
where one with a higher minor number has been hashed. Ldconfig does
only include the highest-numbered shlib anyway, so this is in no way a
limitation of generality.
Caution: after installing the new programs, your /var/run/ld.so.hints
needs to be rebuiult; run ldconfig again as it's done from /etc/rc.
perl setuid scripts don't work in 2.1-current for the same reason they were
not working in 1.1.5.1.
Perl 5 has the same "problem" of course.
We have almost POSIX saved uids but we must undefine the following symbols
in order to get setuid perl scripts :
Submitted by: roberto@blaise.ibp.fr (Ollivier Robert)
This might be useful for debugging applications that use a special LDT.
However, printing of all segment registers is currently broken.
Don't print "last exception: " before the FPU opcode and pc, etc. The
opcode and pc, etc., are for the last FPU _instruction_.
Pass the saved exception status word to print_387_status() so that the
exception(s) that caused or will cause a trap can be seen. The kernel
has supported this since 1.1 or before. The kernel still clobbers the
tag word if a trap occurs.
Remove unused null function clear_regs().
cvs is not being used effectively for gdb. Our old changes get clobbered
and our new changes are mixed with "vendor" changes in the same updates
so they will be difficult to untangle for the next release of gdb. The
revision logs get spammed for each release of gdb.
the wild, slippery orgy commence!
Gary Jennejohn, too studly for his own good, has finally come through with
the new, improved gdb 4.13. This gdb features:
o kgdb support - if this works (and I urge folks to test it), we can
finally purge the old and hateful version of kgdb from our source
tree.
o attach/detach support. See comments in README.FreeBSD for more
details.
o Well, it's newer. Our previous version was 4.11.
Comments and flames to gj, of course! :-)
Thanks, Gary. Much appreciated. The previous state of gdb/kgdb has been a
thorn in all of our sides for some time..
Submitted by: gj
warning handling and allows for link-time warnings with a modified
version of gas.
Note: Not all of the newer bits were updated such as some of the non-x86
machine-dependant code is relevant to FreeBSD right now.
Obtained from: NetBSD
Change a round to a truncate. Problem reported from Christoph Kukulies:
9.8 2 / p did an IOT trap.
There is one remaining problem.: 9.8 2 % p shows on other machines 1.8
but does here in the moment 1.
in getting mirror-2.3 to work with FreeBSD, i found that timelocal.pl has
a bug. a patch is included below. this needs to be applied to both
src/gnu/usr.bin/perl/lib/timelocal.pl and
src/usr.sbin/xntpd/scripts/monitoring/timelocal.pl
Submitted by: jmb
already C++ safe, or C++ header files.
This fixes the problem with parse errors in header files when compiling C++
files.
Recompiling libg++ also solves the undefined synbols problem.
Notice that the libgcc DOESN'T change number, because there are no
changes.
Also now the gnu2bmake stuff is synchronized again.
I commit this so that others can test too.
You might want to postpone any "make worlds" until tomorrow, to
avoid any problems I didn't see in the first pass.
Thanks to Bruce for rounding up our changes to gcc.
more like binaries. This is hard to do using a general rules because
the natural `.sh:' rule has a null suffix and null suffixes are broken.
(With 1.1.5's make they sometimes work and sometimes cause core dumps.
2.0's make has a botched fixed and they never work.)
profiling and wchar_t. Profiled libraries will shrink.
tm.h:
Our wchar_t is int, not unsigned short.
Always link statically if profiling.
Define all the SPECs together.
final.c, tm.h:
Don't emit unused profiling code and data.
aux-output.c:
Always preserve the PIC register if profiling.
aux-output.c, tm.h:
Implement FUNCTION_PROFILER_EPILOGUE (currently not used).
New:
tm.h:
Set the target defaults in the correct way.
When we get an EN8 response while we're already sending the file using
the i protocol, this can happen:
In send.c, flocal_send_await_reply() is called. This function calls
flocal_send_fail() to process the aborted transfer. After this, we run
into the branch that calls ffileseekend() to force the end of the
actual transfer.
Now flocal_send_fail() frees qtrans, but qtrans is still used later!
I propose to fix this by moving the usfree_send(qtrans) out of
flocal_send_fail(), as in the patch I append to this mail.
...
I have found a race condition in the uucp 1.05 code. The typical result
is that the connections mysteriously fails with "conversation failed",
even while all files were transmitted. This is the problem:
At least for the i protocol, the code to send a packet can receive and
process packets after sending.
In several places in the code, we send a command and then prepare to
receive an answer.
Now the answer might already arrive during the call that sends the
command while we aren't ready to process it.
The general solution is IMHO first to do all preparations and only as a
last step to send out the command.
Reviewed by: John Dyson
Submitted by: Johannes Stille
I know that many of these entries are bogus and need to be revisited,
but let's get the tree working again for now and then do a pass through
looking at all the __FreeBSD__ entries, shall we?
GCC-2.6.1 COMES TO FREEBSD-current
----------------------------------
Everybody needs to 'make world'.
Oakland, Nov 2nd 1994. In a surprise move this sunny afternoon, the release-
engineer for the slightly delayed FreeBSD-2.0, Poul-Henning Kamp (28),
decided to pull in the new version 2.6.1 of the GNU C-compiler.
The new version of the compiler was release today at noon, and hardly 9
hours later it was committed into the FreeBSD-current source-repository.
"It's is simply because we have had too much trouble with the version 2.6.0
of the compiler" Poul-Henning told the FreeBSD-Gazette, "we took a gamble
when we decided to use that as our compiler for the 2.0 release, but it
seems to pay of in the end now" he concludes.
The move has not been discussed on the "core" list at all, and will come as
a surprise for most Poul-Hennings peers. "I have only discussed it with
Jordan [J. K. Hubbard, the FreeBSD's resident humourist], and we agreed that
we needed to do it, so ... I did it!". After a breath he added with a grin:
"My email will probably get an all time 'disk-full' now!".
This will bring quite a flag-day to the FreeBSD developers, the patch-file
is almost 1.4 Megabyte, and they will have to run "make world" to get
entirely -current again. "Too bad, but we just had to do this." Was
the only comment from Poul-Henning to these problems.
When asked how this move would impact the 2.0 release-date, Poul-Hennings
face grew dark, he mumbled some very Danish words while he moved his fingers
in strange geometrical patterns. Immediately something ecclipsed the Sun, a
minor tremor shook the buildings, and the temperature fell significantly.
We decided not to pursure the question.
-----------
JOB-SECTION
-----------
Are you a dedicated GCC-hacker ?
We BADLY need somebody to look at the 'freebsd' OS in gcc, sanitize it and
carry the patches back to the GNU people. In particular, we need to get
out of the "i386-only" spot we are in now. I have the stuff to take a
gnu-dist into bmake-form, and will do that part.
Please apply to phk@freebsd.org
No Novice Need Apply.
Perl's scripts are still trying to execute perl out of /usr/gnu/bin/perl.
The hack Larry was using for h2ph.1 doesn't work with the new macros, so
make it a real man page.
Also, we weren't building the .ph files, add them as an afterinstall rule
in the x2p subdirectory.
and /usr/share/perl (library). The latter was chosen as analogous to other
directories already present in /usr/share, like /usr/share/groff_font and
(particularly) /usr/share/mk.
no longer link against the whole library, since they don't require much
from it, but just compile the few small modules they actually need static.
This should save a measurable amount of space; compare:
-r-xr-xr-x 1 bin bin 155648 Sep 18 18:00 cc1*
-r-xr-xr-x 1 root bin 1048576 Sep 18 17:33 cc1.noshae*
Of course, the library takes up a bit of space, but when you add in the
savings from the C++ compiler, you more than make up the difference:
-r--r--r-- 1 bin bin 1157344 Sep 18 18:27 /usr/lib/libcc_int.so.26.0
-r-xr-xr-x 1 bin bin 491520 Sep 18 18:27 /usr/libexec/cc1plus*
completely when ldconfig unlinks it. If init is shared, then the
referenced unlinked copy of the hints file created by running
ldconfig in /etc/rc caused the file system to be unclean after
every reboot.
You need to fix the libio/_G_config.h file around lines 42-44. After
that everything should be OK. You should have seen many warning error
messages about this file. There are missing "short" "char" keywords
the file.
Michael:
Apply the following patch
rgrimes:
The patch to include/_G_config.h is highly questionable and has been
marked as such.
Reviewed by: rgrimes
Submitted by: L Jonas Olsson <ljo@ljo-slip.DIALIN.CWRU.Edu>
Submitted by: Michael Reifenberger <root@rz-wb.fh-sw.de>
we're not ready for yet. gcc and all profiled libraries will need
to be recompiled. I suspect that the dependencies aren't complete
enough to do this automatically.
automagically. -lfoo has to be right to work, but ${LIBFO0} is too
easy to forget or misspell; nothing checks it and it should be
different for shared libraries.
Several files in uucp/libunix included <sys/dir.h> and defined dirent
as direct, but <sys/dir.h> defines direct as dirent. This macro
recursion is not allowed by cpp in traditional mode. The 2.0 mkdep
uses cpp in traditional mode (another bug) so cpp prints a error
message and exits with a nonzero status. The error status leaks out
of the pipe (another bug) so mkdep "succeeds". It may even succeed.
being created and config.h depended on Makefile.inc being in the wrong
directory so real dependencies were not being checked. The "depend"
target was not created either so "make depend" always found work to do.
Subject: man returns 1
In 1.1.5.1, man returns a status of 1 if the lookup succeeds and 0 if
it fails. Here is a patch for what I believe is a simple oversight:
Submitted by: jkh
FreeBSD system sources installs itself as the standard cc and c++. I've
fixed c++ to call cc instead of gcc and removed all the symlinks
that get created to g** version of the binaries. This means that
you can install a second version of gcc that does use the g prefix
alongside the "system" version of gcc. The only conflict is libgcc
but since we install it as libcc.so.26 and nothing else is likely
to that should be ok.
Reviewed by:
Submitted by:
saying that 4.4 uses f_size in statfs, yet we're using b_size. Anyway,
I've configured things to match our current environment.
Reviewed by:
Submitted by:
moved to the logical name.
libg++-2.6.patch:
FOO_MAX in limits.h isn't in hex under 2.0 (for the time being ??)
libg++-2.6.tcl:
it works on my 1.1.5.1 system. I cannot test it here until gcc-2.6.0
is installed.
gnu2bmake.tcl:
enhanced various ways.
README:
says "don't hack the bmaked sources"
gcc-2.6.0.tcl:
added the gen-* and md files to the bmaked sources. Not used by
makefiles. Do I need to add other files Garrett ?
I know that I said earlier that this should be unconditional behaviour,
but I thought about it a little more and concluded that the principle of least
surprise dictates that I make it an option.
handling of errors through the standard err() and warn()
more fixes for Geoff Rehmet's NULL pointer bug.
fixes NULL pointer bugs when linking mono and nested X servers.
supports a `-nostdlib' option.
accept object files without a symbol table
don't attempt dynamic linking when `-A' is given
a few variable names have chaged (desc -> fd), and the formatting has
changed which should make it much easier to track his sources.
I tested 'make world' for /usr/src and X twice with these changes.
Paul Kranenburg's description:
ld is in error here, assuming that symbols with N_EXT set always have an
entry in the (global) symbol table: this is not the case for C++ generated
constructor/destructor symbols. I can reproduce your failure by fudging
a "multiply defined" constructor symbol by hand. Checking for `g == NULL'
seems to be a ok as a fence for now.
So:
for now, in do_file_warnings() we check if g == NULL, before trying to generate
any warning messages. This prevents a NULL pointer dereference.
called with -K-Keoptions -Kioptions. This should fix the problem with
$Id$ still getting changed.
I am also install both ncvs and ocvs on freefall with this change as
ocvs still had the bug with -I \! which I fixed but did not reinstall.
This is a greatly pared down version of the full gdb-4.12, all the
config stuff has been removed and the supporting libraries have
been stripped to a minimum. This is a 1.1.5 only port, I'll do a
more complete port for 2.0 which will have all the config stuff
and will install the gnu support libraries as system libraries like
we do for readline.
There wasn't much point for 1.1.5 since only gdb would use them so I
went for saving space instead. For 2.0 I'll config all the
other gnu tools to use them as well.
The following two patches should allow the documented "-I !" option to
skip the ignore lists and import/update all files in the directory.
I need it to force certain files to import (ie, csh.a which is part of
the csh documentation).
NOT touched by cvs. Only takes effect if -DFREEBSD_DEVELOPER, and installs
as ncvs when this is defined. You must also have the changes to rcs
for this to work.
Really we don't need copy of this library into each program
(gdb f.e.)
P.S. it is much cleaner port than /usr/ports version and based
on /usr/ports version. /usr/ports version will be removed.
Message-Id: <199404171501.LAA01245@stark.UUCP>
To: freebsd-hackers@freefall.cdrom.com
Subject: Make world and UUCP
Sender: freebsd-hackers-owner@freefall.cdrom.com
Precedence: bulk
It would be much more convenient if "make world" didn't clobber my
UUCP configuration files in /etc/uucp. Perhaps the easiest fix would
be to change the names of the sample configuration files:
config -> config.sample
ports -> ports.sample
...
Message-Id: <199404241154.OAA00260@tigger.cirion.fi>
Subject: uucp error
Index: gun/libexec/uucp FreeBSD-1.1-GAMMA
Apparently-To: FreeBSD-bugfiler@freefall.cdrom.com
Sender: freebsd-bugs-owner@freefall.cdrom.com
Precedence: bulk
Description:
When calling remote uucp site dialing succeeds, but standard
login chat fails. Debug file shows that uucico does not see
any characters send from remote.
Repeat-By:
use sio drivers, 16450 base serial and standard taylor configuration
provided with the GAMMA release. Run uucico and observer.
Fix:
define HAVE_BSD_TTY instead of HAVE_POSIX_TTY in common_source/policy.h
and recompile.
to public. These functions are also used in /usr/include/link.h,
so it looks, like they shouldn't be private.
I will ask Paul about that, if this is correct.