popen(), but worse. The child calls execvp(), which calls malloc()
a bit more than execl(), and it calls non-library functions that call
malloc() and who-knows-what else (stdio is called in at least some
error cases).
temporary file names were uninitialized if TMPDIR was set and 1 too
small otherwise.
Fixed style bugs in previous commit.
Fixed missing checks for malloc failure in previous commit.
Report malloc failure consistently, at least in temp.c.
bug:
"head -c <n>" never exit and loops forever (until it is killed),
if the input stream has fewer bytes than specified (n).
PR: bin/8225
Submitted-by: FUJIMOTO Kensaku <fujimoto@oscar.elec.waseda.ac.jp>
an ``a'' command that has an escaped newline on the
last line of the last script that we're processing.
This fixes exmh2/scripts/build when /etc/malloc.conf -> AJ
generation was causing unaligned access faults on the Alpha.
I have incremented the devstat version number, since this is an interface
change. You'll need to recompile libdevstat, systat, iostat, vmstat and
rpc.rstatd along with your kernel.
Partially Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
- if a command was specified and script(1) failed to execute it,
it would print the name of your shell in the error message
instead of that of the command that failed.
- since finish() was installed as a SIGCHLD handler, it would
often run before the main loop had had time to process the
last few bytes of output. This resulted in very strange
truncated error messages.
- script(1) would almost always return with an exit status of 0,
even if the command returned a non-zero exit status. This broke
my 'build world, install it and rebuild the kernel' scripts
because 'make installworld' would run even if 'make buildworld'
had failed.
option lets make look inside archive libraries when determining if a
library is out-of-date. I don't think that make should look inside
files, so this fix effectively tells it not to. If the decision is
made (by someone else) that make _should_ be doing this, it will need
to be taught how to recognise elf archive libraries.
Problem noticed by: Joseph Koshy <jkoshy@freebsd.org>
the executable file, so it will work for both a.out and ELF format
files. I have split the object format specific code into separate
source files. It's cleaner than it was before, but it's still
pretty crufty.
Don't cheat on your make world for this update. A lot of things
have to be rebuilt for it to work, including the compiler and all
of the profiled libraries.
a port so there is nothing to be done on that side now.
Approved by: jkh
===
To: "Jordan K. Hubbard" <jkh@time.cdrom.com>
cc: Andreas Klemm <andreas@klemm.gtn.com>, current@freebsd.org
Subject: Re: Make this a relese coordinator decision (was Re: ports-current/packages-current discontinued)
From: David Greenman <dg@root.com>
Date: Sun, 03 Aug 1997 20:23:31 -0700
>decision is, I'll respect it.
Another chance to architect people's principles...I can hardly wait. Seems
quite appropriate for a Sunday - I just need to get one of those collection
plates (and money envelopes) so I can profit, too. :-)
Tcl stays in /usr/src for now, but it needs to be kept up to date; same
for perl. If Jordan doesn't have "setup" (written in tcl) ready for 3.0,
then tcl will be yanked prior to the 3.0 release (and made into a port).
As for the ports tree only supporting the last FreeBSD release, this seems
sensible to me. The "ports" have always been a moving target between releases
and the problem is only going to get worse when we expand to supporting other
processor architectures. In any case, Satoshi is and always has been in charge
of the ports tree and whatever he wants to do with it (within reason :-)) is
his decision.
Does this cover the issue completely? I admit to deleting messages in this
thread with unusual fervor (people have FAR too much time on their hands!).
There's a fair bit of reasoning behind the above, but since everyone is sick
of arguing about this, I'll spare you the analysis.
-DG
David Greenman
Core-team/Principal Architect, The FreeBSD Project
not equal, the command line arguments are wrong. E.g.:
$./gcore /bin/sh 1761
$ ./gcore /usr/tmp/chroot/bin/sh 1761
gcore: The executable /usr/tmp/chroot/bin/sh does not belong to process 1761!
Text segment size (in bytes): executable 303104, process 294912
Didn't fix the alignment of the output fields on alpha where addresses
require 16 characters to print.
Added a dummy field to the pt_u union to help the alpha compiler align
the u_sa field in a suiable way.
the diff is attached below. This is done on the 3.0 source-tree.
I have test this on 2.2-stable before, but I don't have a 3.0 machine
right now.
This patch is mainly to make libc support BIG5 encoding, thus add
zh_TW.BIG5 locale to 3.0.
Submitted by: Chen Hsiung Chan <frankch@waru.life.nthu.edu.tw>
but flex still generates "#include <FlexLexer.h". As a result,
C++ sources flex generates failed to be compiled.
PR: 7575
Reviewed by: phk
Submitted by: MOROHOSHI Akihiko <moro@remus.dti.ne.jp>
Add functionality for support for more than 4 subfields within gcos. chsh,
chpass etc did not parse beyond the 4th field previously and so truncated
gcos on updating the database.
I hope some other people might find them useful. They are for
zh_CN.EUC (GB) only. I'm not familiar with the BIG5 encoding,
so I could only hope someone else would fill the gap.
PR: 7310
Submitted by: Luoqi Chen <luoqi@chen.ml.org>
special functions have names containing dollar signs, and ignoring
them causes gprof to produce incorrect and sometimes bizarre results.
The comment in the original code said that dollar signs were excluded
because they are used in Pascal labels. That's not much of an
issue these days.
various adventure game data files.
from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
PR: 7466
Reviewed by: phk
Submitted by: The Frobozz Magic Homing Pigeon Company
libc/gen/getpass.c. The old behaviour of blocking SIGINT and not
changing SIGQUIT was restored in rev.1.5 of getpass.c. The change
here completely restores the old behaviour of not supporting killing
login with keyboard signals (only) at the password prompt. There
is no reason to support this, since login can be exited normally
by typing a couple of ^D's. Login certainly shouldn't dump core
in response to user input. Previously, SIGQUIT killed login
immediately but SIGINT killed it only after the password was
entered.
PR: 7444
PR: bin/5721
Submitted by: Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
Also, add "volatile" to a variable modified by signal handlers (coincidentally,
the same variable involved in the above fix, although this isn't related
to the reported problem).
other, less advanced architecutres. This should minorly help porting
efforts of FreeBSD. I've done several make worlds since this came up
with this change, as well as debugging several interesting nits with
-V (which is the only thing this change will affect really).
have been added to time(1) to write output to an alternative destination.
Option "-f filename" will write to filename, and filename can be - to
write to stdout. Option "-a filename" will append the output to filename.
Time(1) man page has been updated to reflect the change.
PR: 7368
Submitted by: Steven G. Kargl <kargl@troutmask.apl.washington.edu>
name of entry points, functions, subroutines, and program to
stderr error. The enclosed patches do 3 things:
(1) Silenced the output to stderr.
(2) Added a -v option to f2c and f77. This will turn on a verbose
mode, and dumps quite a bit of stuff to stderr.
(3) Updated the f2c man page.
PR: 7369
Submitted by: Steven G. Kargl <kargl@troutmask.apl.washington.edu>
if LOGIN_CAP_AUTH was defined. This is kind of silly, because
LOGIN_CAP_AUTH doesn't work anyway, is not defined currently,
probably will never be defined, and IMHO should not be defined.
But I'm sure you'll sleep better tonight, knowing that these bugs
are gone.
o When reporting a int21 function we don't know about yet, report
AH as the major and AL as the minor, as opposed to reporting AL
as the major.
o Add support for 21:44:7: ioctl check output status. We
optimistically say that output is always ready.
o Add half support for 21:23: get file size. We always now return
failure. This function isn't supported, according to the interrupt
list, by the DOS box in windows, so I don't feel too bad.
o Remove init printf
o Don't set optind from return value for do_args. getopt has already
done this.
o Bump EMS memory from 1M to 10M (this really should be a command line
option).
o Open /dev/null when requested to open emmxxxx0 to allow many programs
checking to see if EMS is installed to find it.
o Route int67 to ems_entry to allow EMS to be used when DOS is emulated
as well as when DOS is booted. This may obviate the need for the
driver doing anything at all in a really booted situation and won't
hurt that case.
I can now run the DOS program I'm interested in running with enough
EMS memory that its "advanced" functions are enabled and working.
FreeBSD does not have _POSIX_SAVED_IDS enabled. Thanks to Warner Losh
and Ollivier Robert for pointing this out, and Bruce Evans for explaining
the role of _POSIX_SAVED_IDS.
- failed to use authorization parameters passed in the environment, if
/dev/tty could not be opened (i.e. if running from cron)
- mixed use of /dev/tty and stdin for prompt and reading of the result
bootstrapped by `make world'. The version just built in ".."
normally won't work if the target system is not binary compatible.
Don't build or install anything if _BUILD_TOOLS is defined. Then
we only want to build and install the mklocale binary, but the layout
of the mklocale tree forces recursing to mklocale/data for at least
the obj target even when _BUILD_TOOLS is defined.
bootstrapped by `make world'. The version just built in ".."
normally won't work if the target system is not binary compatible.
Don't build or install anything if _BUILD_TOOLS is defined. Then
we only want to build and install the colldef binary, but the layout
of the colldef tree forces recursing to colldef/data for at least
the obj target even when _BUILD_TOOLS is defined.
especially on a new install, where /var/msgs/bounds doesn't exist. I
moved my bounds file out of the way to create this before and after
on a quick 'n' dirty hack, which is probably the 23rd best way to do it,
but it works:
PR: 6963
Submitted by: Matthew Fuller <fullermd@mortis.futuresouth.com>
Fixed the type of the string table size variable to match its use
(assuming that int32_t is 4 bytes and other unportable things).
bfd uses `unsigned char string_chars[BYTES_IN_WORD]', where
BYTES_IN_WORD can be 4, 8, or perhaps even 2 or 3, but it is
assumed to be precisely 4 bytes here.
Fixed printf format errors (don't assume that n_value in struct
n_list has type u_long, since it should have size BYTES_IN_WORD
and longs may be longer than words).
o Make the dos emulation treat c: and C: the same way. Sourcer was doing
a chdir("c:\\") rather than a chdir("C:\\");
o use drlton() in all places where we used to use -'A' so that we're always
case independent.
o use drntol() in all places where we used to use + 'A' for similar reasons
used to check to see if windows 3.x if running. We always return 0,
which means that neither Windows 3.x nor Windows/386 2.x is running. It
also means, btw, that XMS version 1 isn't installed, which is true since
we don't implement that either.
This fix only removes the dependency on compile time constants. The code
has other (old) problems that need to be addressed.
PR: 1791
Reviewed-by: bde, tegge
o Add more checks for buffer overflows
o Use snprintf rather than strcat/cpy and have better checks for max
length exceeded.
Most of these changes are not exploitable buffer overruns, but it never
hurts to be safe.
Inspired by and obtained from: OpenBSD
says it pretends to make.
This bug was apparently harmless except for normal cases involving
.ORDER statements when it made debugging of -jN using -n very
confusing. E.g., for:
.ORDER: beforedepend .depend
depend: beforedepend .depend
where beforedepend depends on something so that it is not initially
up to date, `make [-n] -j2 depend' causes `make' to wait for itself
to make beforedepend. This works fine without -n. The job to make
beforedepend has normally been started, and beforedepend is marked
as made when the job completes. However, with -n, the pseudo-job
for making beforedepend has normally completed, and in any case
there was no chance of beforedepend being marked as made. `make'
actually exited almost immediately with status 0 instead of waiting
forever.
it if flags were explicitly specified on the command line. Do not warn
if we were merely trying to preserve flags or remove UF_NODUMP. NFS does
not support flags.
I'm not sure that this is ideal, but it should do for now. Installing
a plain file onto a NFS server must work, we used to silently ignore the
attempt. Doing a binary install looses the flags anyway since cpio
doens't preserve them with the cdrom/network images.
XXX make world should not use flags or chown/chgrp in the obj/tmp area.
This is based on a suggestion from Ken Merry <ken@plutotech.com>.
Here is a some example for avoiding a confusion.
It asssumes a logged host domain is "spec.co.jp". All
example is longer than UT_HOSTNAMELEN value.
1) turbo.tama.spec.co.jp: 192.19.0.2 -> trubo.tama
2) turbo.tama.foo.co.jp : 192.19.0.2 -> 192.19.0.2
3) specgw.spec.co.jp : 202.32.13.1 -> specgw
Submitted by: Atsushi Murai <amurai@spec.co.jp>
Clean up (or if antipodic: down) some of the msgbuf stuff.
Use an inline function rather than a macro for timecounter delta.
Maintain process "on-cpu" time as 64 bits of microseconds to avoid
needless second rollover overhead.
Avoid calling microuptime the second time in mi_switch() if we do
not pass through _idle in cpu_switch()
This should reduce our context-switch overhead a bit, in particular
on pre-P5 and SMP systems.
WARNING: Programs which muck about with struct proc in userland
will have to be fixed.
Reviewed, but found imperfect by: bde
Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.
This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.
We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
Move our old a.out utils to /usr/libexec/aout.
Enable binutils and put the utils in /usr/libexec/elf
Enable objformat, a little helper program that calls the right
utils based on /etc/objformat and $OBJFORMAT.
This will enable the ELF generating tools.
Remember that this is only step one, the system is still compiled
and run in a.out format ONLY.
Problem left to solve: The BSD manpages wins over the GNU equivalents
as the are installed last. We need to distinguish between the manpages
somehow...
group is 0 in /etc/passwd even if they aren't listed
as a member in /etc/group. This is more inline with
what the group manpage says.
PR: 6696
Submitted by: Max Euston <meuston@jmrodgers.com>
that prevent the programs from being linked static (duplicated
symbols).
Other programs depend on kernel internals. These will have to wait
for a custom alpha kernel. For now, let's just make the build safe.