Commit Graph

73 Commits

Author SHA1 Message Date
kaiw
b1b47b8952 GNU ar did NOT implment option -q as a synonym of -r as the manual
page stated, thus BSD ar(1) option -q, which was implemented based on
the GNU ar manual page, turns out to be incompatible with GNU ar -q.

This change will make BSD ar(1) -q a *REAL* GNU ar -q:

1. It will update symbol table. (same as unfixed version)
2. It will NOT compare new members spcified in the command line args
   with existing members, instead, append them directly.

Reported by:	  Johannes 5 Joemann <joemann@beefree.free.de>
Reported by:	  Timothy Bourke <timbob@bigpond.com>
Tested by:	  Johannes 5 Joemann <joemann@beefree.free.de>
Reviewed by:	  jkoshy
Approved by:	  jkoshy (mentor)
2008-03-11 18:35:51 +00:00
kaiw
26fa289262 - Do not malloc buffer for 0-size member when reading from archive.
- Fix a malloc buffer overrun: Use a while loop to check whether
  the string buffer is big enough after resizing, since doubling
  once might not be enough when a very long member name or symbol
  name is provided.
- Fix typo.

Reported by:	Michael Plass <mfp49_freebsd@plass-family.net>
Tested by:	Michael Plass <mfp49_freebsd@plass-family.net>
Reviewed by:	jkoshy
Approved by:	jkoshy
2008-03-02 07:01:01 +00:00
ru
26039ac217 Make again BSD ar(1) the default system ar(1), now properly handling
source upgrades by falling back to GNU ar(1) as necessary.  Option
WITH_BSDAR is gone.  Option _WITH_GNUAR to aid in upgrades is *not*
supposed to be set by the user.

Stop bootstrapping BSD ar(1) on the next __FreeBSD_version bump, as
there are no known bugs in it.  Bump __FreeBSD_version to anticipate
this and to flag the switch to BSD ar(1), should it be needed for
something.

Input from:	obrien, des, kaiw
2008-02-25 16:16:17 +00:00
kaiw
a1bea77d13 style(9) whitespace fix: A space is mandated after keyword 'return'.
Submitted by:	    jkoshy
Approved by:	    jkoshy (mentor)
2008-02-24 18:30:17 +00:00
kaiw
f2c503f787 Since the program is installed as 'bsdranlib', we need to
check if it is invoked as 'bsdranlib'.

Reported by:	Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net>
Reviewed by:	Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net>
Reviewed by:	jkoshy
Approved by:	jkoshy (mentor)
2008-02-24 18:07:46 +00:00
kaiw
9ba4f3d006 Handle properly when insert zero size objects into the archive:
Do not mmap 0-size objects and do not try to extract symbol from
0-size objects, but do treat 0-size objects as qualified objects and
accept them as an archive member. (A member with only the header part)

Note that GNU binutils ar on FreeBSD ignores 0-size objects, but on
Linux it accepts them. [1] But, since this is a rare usage, we can
safely ignore the compatibility issue.

Reported by:	Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net>
Pointed out by: Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net> [1]
Reviewed by:	Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net>
Reviewed by:	jkoshy
Approved by:	jkoshy (mentor)
2008-02-24 17:57:29 +00:00
brueffer
2ac60d247a Fix typo. 2008-02-23 14:34:52 +00:00
ru
0370efee5e Fix essential bugs and warnings. 2008-02-22 10:28:03 +00:00
obrien
2cd6e0299a Clean up created turds. 2008-02-22 06:53:52 +00:00
obrien
e14d35496c We build important toolchain statically. So build BSD 'ar' statically
when its replacing GNU 'ar'.
2008-02-22 06:51:26 +00:00
obrien
5ac6dbd01a Re-introduce the new BSDLed 'ar' to the build.
It is installed as "bsdar" unless WANT_BSDAR is defined.

Discussed with: kaiw
2008-02-22 06:47:45 +00:00
ru
d7197f2c3d Fix static linkage. 2008-02-21 16:29:52 +00:00
kaiw
bd49e931f2 Import ar(1) front-end. (aka 'BSD' ar)
Reviewed by: 		jkoshy
Approved by:		jkoshy (mentor)
Tested by:		erwin (ports build test on pointyhat)
Sponsored by:		Google Summer of Code 2007
Reviewed by (earlier version): Jaakko Heinonen <jh[AT]saunalahti.fi>
Tested by (earlier version): Steve Kargl <sgk[AT]troutmask.apl.washington.edu>
Tested by (earlier version): Martin Voros <martin_voros[AT]yahoo.com>
Tested by (earlier version): swell.k[AT]gmail.com
Tested by (earlier version): joel
Tested by (earlier version): Alexey Shuvaev <shuvaev[AT]physik.uni-wuerzburg.de>
Tested by (earlier version): Arjan van Leeuwen <avleeuwen[AT]gmail.com>

Thanks to gabor@ for building ports for it.
Thanks to erwin@ and kris@ for scheduling the ports build test on pointyhat.
And thanks to many others for their feedback.
2008-02-21 10:52:31 +00:00
obrien
d436927ceb Finish the deorbital burn of the i386-only a.out toolchain. 2003-06-27 03:59:46 +00:00
alfred
c288b01e7d WARNS=4 2002-07-14 18:23:22 +00:00
charnier
6c31368b35 Add .Pp before enumerating options 2002-04-19 23:18:18 +00:00
imp
74d826c7a6 remove __P 2002-03-22 01:22:50 +00:00
markm
ae2558974f Remove leaf node WARNS?=2 (that mainly I added). This should
help the GCC3 transition and CURRENT in general.
2002-02-08 22:31:43 +00:00
dwmalone
d9613ea383 Style improvements recommended by Bruce as a follow up to some
of the recent WARNS commits. The idea is:

1) FreeBSD id tags should follow vendor tags.
2) Vendor tags should not be compiled (though copyrights probably should).
3) There should be no blank line between including cdefs and __FBSDIF.
2001-12-10 21:13:08 +00:00
markm
3202164edc Use __FBSDID(). 2001-12-02 20:45:24 +00:00
markm
9c4ab2cc6f WARNS=2 fixup. 2001-12-02 12:36:35 +00:00
arr
d2f823593c - When copying into a fixed buffer, bounds checking should occur.
PR: bin/31673
2001-11-20 16:47:42 +00:00
ru
623da62a5a mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
ru
bde8ec1b70 mdoc(7) police: utilize the new .Ex macro. 2001-08-15 09:09:47 +00:00
obrien
4f82093ece Replace the local rname' with the cannonical basename'. 2001-07-24 14:04:20 +00:00
dd
911ca14c87 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
89596e4538 MAN[1-9] -> MAN. 2001-03-27 10:52:19 +00:00
ache
5114629fd9 Don't attempt to parse %c 2001-03-21 20:47:43 +00:00
ru
b5cd63f616 mdoc(7) police: use the default ``file ...'' feature of the .Ar macro. 2001-02-13 09:56:35 +00:00
ru
8a6f8b5fe4 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
ru
ffef081534 Prepare for mdoc(7)NG. 2001-01-16 09:39:23 +00:00
ru
6ab0b23323 Prepare for mdoc(7)NG. 2000-12-27 16:52:31 +00:00
ru
e6cfc0711d Prepare for mdoc(7)NG. 2000-12-19 16:00:12 +00:00
ru
e5a37f2e6f mdoc(7) police: added missing .Os call. 2000-12-14 13:58:15 +00:00
ru
0d1334ca0c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 19:21:22 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nik
6578739ddb Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:24:20 +00:00
archie
58d8b6ab3e Eliminate compiler warnings from -Wall 1998-12-06 07:36:44 +00:00
bde
056ba4d8e8 Don't build or install ${MAN1}. It's just a copy of ${MAN1aout} and
installing it clobbers the elf ${MAN1}.  The MAN1 -> MAN1aout changes
actually work now.

Fixed order of MAN* and BINDIR.
1998-10-10 12:48:48 +00:00
jb
cfb1a7b655 Install the legacy man file in section 1aout. 1998-09-07 06:01:37 +00:00
bde
0609531ab6 Fixed printf format errors. 1998-07-06 21:01:54 +00:00
sos
ea8b97a093 ELF preparation step 1:
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...
1998-05-25 17:34:42 +00:00
jb
7295fb5707 localtime() needs a pointer to time_t which is not necessarily a long.
So use a time_t in the chdr structure so that no casts are required.
1998-02-20 05:01:05 +00:00
peter
486333fcfd kill the undead 1997-07-13 14:26:00 +00:00
bde
08b8316452 This commit was generated by cvs2svn to compensate for changes in r27241,
which included commits to RCS files with non-trunk default branches.
1997-07-06 06:54:14 +00:00
bde
4d7f45e259 Finish importing Lite2's src/usr.bin, except for ex, diff, grep, mail,
pascal and vmstat.sparc.  All changed files on the vendor branch should
already have been imported.
1997-07-06 06:54:14 +00:00
charnier
6052f2e1ee Convert man page to mdoc format. Cosmetic in usage string. 1997-06-23 06:41:30 +00:00
imp
141381e1cb compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
peter
f390c26dd9 Revert $FreeBSD$ to $Id$ 1997-02-22 19:58:13 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00