summaryrefslogtreecommitdiffstats
path: root/usr.bin/ar
Commit message (Collapse)AuthorAgeFilesLines
* Revert r330897:eadler2018-03-291-2/+0
| | | | | | | | | | | | | | | | | This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code. Revert with prejudice. This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes. Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes. Requested by: gjb (re)
* Partial merge of the SPDX changeseadler2018-03-141-0/+2
| | | | | | | These changes are incomplete but are making it difficult to determine what other changes can/should be merged. No objections from: pfg
* MFC r326276:eadler2018-03-056-0/+12
| | | | | | | | | | | | | | | | various: general adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. No functional change intended.
* MFC r321436: ar: handle partial writes from archive_write_dataemaste2017-07-311-3/+10
| | | | | | | libarchive may limit a single archive_write_data call to handling 0x7fffffff bytes. Add a loop to handle partial writes. Sponsored by: The FreeBSD Foundation
* ar: enable reproducible output by default when invoked as 'ar -s'emaste2016-06-162-3/+9
| | | | | | | | | | | | | ar output is already deterministic by default for ar -q and ar -r, and when invoked as ranlib. Make ar -s equivalent to ranlib and enable deterministic output by default in that case too. PR: 210330 Reviewed by: bdrewery Approved by: re (gjb) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D6871
* Make code compile when basename() is POSIX compliant.ed2016-05-261-1/+6
| | | | | | | | | | In addition to the previous change I made to ar.c, pull in another basename() related fix. This change is similar to the one made to the ELF Toolchain version of ar, with the difference that the ELF Toolchain version lacks error handling for the strdup() call. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D6467
* Make code compile when basename() is POSIX compliant.ed2016-05-191-2/+2
| | | | | | | | | If basename() uses "char *", we shouldn't do the intermediate assignment, as that field is of type "const char *". Simply call basename() on the command line argument directly. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D6463
* DIRDEPS_BUILD: Regenerate without local dependencies.bdrewery2016-02-241-6/+0
| | | | | | | | These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'. Sponsored by: EMC / Isilon Storage Division
* Check archive_entry_new() result.bdrewery2015-10-291-0/+9
| | | | Coverity CID: 1331341
* ar: Deobfuscate a while loopemaste2015-08-311-1/+1
|
* ar: fix deterministic mode when running as ranlibemaste2015-08-311-0/+3
| | | | | | | | This was broken by r286024. PR: 202741 Submitted by: fk@fabiankeil.de Obtained from: ElectroBSD
* ar: Fix deterministic mode default with options other than -q or -remaste2015-07-291-8/+18
| | | | | | | Reported by: jhibbits Reviewed by: jhibbits Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3237
* ar: enable deterministic mode by defaultemaste2015-07-292-0/+3
| | | | | | | | | | | | Ar cannot handle UIDs with more than 6 digits, and storing the mtime, uid, gid and mode provides little to negative value anyhow for ar's uses. Turn on deterministic (-D) mode by default; it can be disabled by the user with -U. PR: 196929 Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3190
* ar: add -U (unique) option to disable -D (deterministic) modeemaste2015-07-242-7/+34
| | | | | | | | | | | | | This is required in order for us to support deterministic mode by default. If multiple -D or -U options are specified on the command line, the final one takes precedence. GNU ar also uses -U for this. An equivalent change will be applied to ELF Tool Chain's version of ar. PR: 196929 MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3175
* speed up ar(1) on UFS file systemsemaste2015-06-291-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fault in the buffer prior to writing to workaround poor performance due to interaction with kernel fs deadlock avoidance code. See the comment prior to vn_io_fault_doio() in sys/kern/vfs_vnops.c for details of the issue. On my stable/10 desktop with a 16MB obj.o and "ar r out.a obj.o" I see the following run times (seconds): x ar.r284891 + ar.patched +----------------------------------------------------------------------+ |+ | |+ x| |+ xx| |A |A| +----------------------------------------------------------------------+ N Min Max Median Avg Stddev x 3 1.307 1.321 1.315 1.3143333 0.0070237692 + 3 0.020 0.023 0.022 0.021666667 0.0015275252 Difference at 95.0% confidence -1.29267 +/- 0.0115203 -98.3515% +/- 0.876513% (Student's t, pooled s = 0.00508265) Thanks to kib for diagnosing and explaining the issue and suggesting the workaround. Reviewed by: eadler, kib MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2933
* new dependssjg2015-06-161-0/+1
|
* Add META_MODE support.sjg2015-06-131-0/+32
|\ | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp
| * dirdeps.mk now sets DEP_RELDIRsjg2015-06-081-2/+0
| |
| * Merge sync of headsjg2015-05-273-4/+18
| |\ | |/ |/|
| * Merge head from 7/28sjg2014-08-191-1/+1
| |\
| * | Updated dependenciessjg2014-05-161-0/+1
| | |
| * | Merge from headsjg2014-05-081-1/+1
| |\ \
| * \ \ Merge from headsjg2013-09-052-2/+6
| |\ \ \
| * | | | New/updated dependenciessjg2013-04-141-0/+1
| | | | |
| * | | | sync from headsjg2013-04-124-13/+9
| |\ \ \ \
| * | | | | Updated dependenciessjg2013-03-111-0/+1
| | | | | |
| * | | | | Updated dependenciessjg2013-02-161-2/+0
| | | | | |
| | | | | |
| | \ \ \ \
| *-. \ \ \ \ Sync from headsjg2012-11-041-1/+1
| |\ \ \ \ \ \
| * | | | | | | Sync FreeBSD's bmake branch with Juniper's internal bmake branch.marcel2012-08-221-0/+26
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | Requested by: Simon Gerraty <sjg@juniper.net>
* | | | | | | Avoid escaping EOL for line continuationemaste2015-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by: kib
* | | | | | | ar: Disallow directory traversalemaste2015-04-091-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set ARCHIVE_EXTRACT_SECURE_SYMLINKS and ARCHIVE_EXTRACT_SECURE_NODOTDOT as in bsdtar to prevent extraction of archive entries whose pathnames contain .. or whose target directory would be altered by a symlink. Also disallow absolute pathnames. We don't currently provide an option to disable this behaviour (as bsdtar's -P does). It is unlikely to be a problem in practice for ar(1), but the -P option is not currently used and available if we want to consider it for this purpose. Differential Revision: https://reviews.freebsd.org/D1524 Reported by: Alexander Cherepanov <cherepan@mccme.ru> Approved by: delphij Obtained from: ELF tool chain ar, Ticket #474 MFC after: 1 week Relnotes: Yes Sponsored by: The FreeBSD Foundation
* | | | | | | ar: Avoid null pointer deref while reading corrupt archivesemaste2015-01-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELF Tool Chain ticket #467 Reported by: Alexander Cherepanov <cherepan@mccme.ru> MFC after: 1 week Sponsored by: The FreeBSD Foundation
* | | | | | | Convert to usr.bin/ to LIBADDbapt2014-11-251-2/+1
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | Reduce overlinking
* | | | | | use .Mt to mark up email addresses consistently (part3)bapt2014-06-231-1/+1
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | PR: 191174 Submitted by: Franco Fichtner <franco at lastsummer.de>
* | | | | Use src.opts.mk in preference to bsd.own.mk except where we need stuffimp2014-05-061-1/+1
| |_|_|/ |/| | | | | | | | | | | from the latter.
* | | | Work around build breakages with GCC 4.2.jkim2013-05-231-0/+2
| | | | | | | | | | | | | | | | Reported by: tinderbox
* | | | Improve compatibility with recent flex from flex.sourceforge.net.jkim2013-05-031-2/+2
| | | |
* | | | Add the Clang specific -Wmissing-variable-declarations to WARNS=6.ed2013-04-191-0/+2
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This compiler flag enforces that that people either mark variables static or use an external declarations for the variable, similar to how -Wmissing-prototypes works for functions. Due to the fact that Yacc/Lex generate code that cannot trivially be changed to not warn because of this (lots of yy* variables), add a NO_WMISSING_VARIABLE_DECLARATIONS that can be used to turn off this specific compiler warning. Announced on: toolchain@
* | | MFV r248590,248594:mm2013-03-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update libarchive to 3.1.2 Some of new features: - support for lrzip and grzip compression - support for writing tar v7 format - b64encode and uuencode filters - support for __MACOSX directory in Zip archives - support for lzop compresion (external utility)
* | | Replace deprecated (or remove obsolete) libarchive 2.8 functionsmm2013-03-223-11/+7
| |/ |/| | | | | with libarchive 3.0 counterparts
* | Mark bsdar_errc as __dead2 to help code analysis tools.eadler2012-10-221-1/+1
|/ | | | | | | PR: bin/172636 Submitted by: Erik Cederstrand <erik@cederstrand.dk> Approved by: cperciva MFC after: 3 days
* Fix world after byacc import:bapt2012-05-221-1/+0
| | | | | | | | - old yacc(1) use to magicially append stdlib.h, while new one don't - new yacc(1) do declare yyparse by itself, fix redundant declaration of 'yyparse' Approved by: des (mentor)
* Add src.conf option WITH_SHARED_TOOLCHAIN to enable building thekib2012-04-291-0/+4
| | | | | | | | toolchain binaries as dynamically linked. Option is disabled by default. Reviewed by: ru (previous version) MFC after: 2 weeks
* Update libarchive to 3.0.3mm2012-02-251-2/+2
| | | | | | | | | | | | | | Some of new features: - New readers: RAR, LHA/LZH, CAB reader, 7-Zip - New writers: ISO9660, XAR - Improvements to many formats, especially including ISO9660 and Zip - Stackable write filters to write, e.g., tar.gz.uu in a single pass - Exploit seekable input; new "seekable" Zip reader can exploit the Zip Central Directory when it's available; the old "streamable" Zip reader is still fully supported for cases where seeking is not possible. Full release notes available at: https://github.com/libarchive/libarchive/wiki/ReleaseNotes
* Whitespace cleanup:gjb2011-12-231-3/+3
| | | | | | | | | ar/ar.1: - Remove trailing whitespace Reported by: igor MFC after: 1 week X-MFC-With: r228823
* Formatting fixes:gjb2011-12-231-2/+2
| | | | | | | | | | | | | | | | hexdump/od.1: - Enclose tabbed content in quotes [1] ar/ar.1: - Enclose tabbed content in quotes [1] rctl/rctl.8: - Enclose tabbed content in quotes [1] - Start a sentence on a newline [2] Reported by: manlint [1], igor [2] MFC after: 1 week X-MFC-after: 9.0-RELEASE
* Don't try to free() an address returned by mmap(). This appears to beemaste2011-08-041-13/+20
| | | | | | | | | triggered by the same .o being included twice on the command line. Found by: Nima Misaghian at Sandvine Reviewed by: kientzle, kaiw Approved by: re MFC after: 1 week
* Correct typos in comments, no functional changes.bcr2011-05-203-8/+8
| | | | | | Found by: codespell Reviewed by: kaiw MFC after: 1 week
* Document the syntax accepted by the `-M` option.kaiw2010-12-261-0/+129
| | | | Obtained from: elftoolchain
* Improve the description of the `-q` option.kaiw2010-12-261-13/+5
| | | | Obtained from: elftoolchain
OpenPOWER on IntegriCloud