Wed, Jul 1
Fri, Jun 26
Thanks for the comments Grimar. I have removed the check specifically for .shstrtab as it should not have the SHF_ALLOC flag anyway and simplified the area as suggested.
Thu, Jun 25
There may be some confusion on my part. My understanding is that size is used to measure the memory footprint whilst there are other utilities for viewing information regarding the files themselves. See https://bugs.llvm.org/show_bug.cgi?id=46299 for a bug involving the use of size and the expectation of its output.
Wed, Jun 24
Wed, Jun 10
Tue, Jun 9
Thanks again MaskRay, to avoid confusion surrounding the term "type" I have renamed the test export-symbols and removed the list of symbols, a number of new uses of weak symbols have also been added to the test. I have also split dynamic-list-cpp into a new test due to the dynamic-list-glob.s name change.
- Fixed use of %t.elf
- Corrected use of pattern with entry
- Renamed dynamic-list-patterns.s
- Removed changes to export-dynamic-symbol.s
- Change input file names
- Updated quotes
Jun 1 2020
Thanks for the comments Maskray. I had some questions regarding the comments for expanding the test for use of -shared and the similarities with dynsym-pie.s, symbols.s and visibility.s. My intention with the test export-symbol-types.s was to confirm the symbols types that are placed in the dynamic symbol table with use of --export-dynamic and --dynamic-list. I considered the other tests mentioned as covering related but different functionality using similar methods. For example symbol.s being for correct symbol output as a whole, not specifically exports etc.
Fixed use of echo
Made the following changes:
- Fixed up a comment
- Added x86 requirement
- Changed the creation of the dynamic list in export-symbol-types.s
- Made file names more consistent
- Use CHECK-NEXT
- Use ABS for abs
- rename symbol
The test you have modified is for testing the "p" (print) operation, but your new test cases are not really about that option, but rather about generic file handling. I'm not convinced they belong in this test file, but @gbreynoo might have other opinions, since he's the one who's been working on the llvm-ar testing recently.
Could you clarify why you are adding these test cases? I don't think the behaviour is really part of llvm-ar, but rather part of the underlying support libraries which control when a file can be opened or not.
May 22 2020
Changes based on MaskRay's comments:
- Replace use of --dyn-symbols with --dynsyms
- Remove use of -unknown-linux
- Correct use of quotes
May 21 2020
Thanks MaskRay, I was not aware of that.
Changes based on grimars comments:
- Corrected white space and comments
- Replaced the use of input file "Inputs/export-symbol-types.s" with use of echo
May 20 2020
Mar 26 2020
Mar 25 2020
Apologies James, this fixes the case issues.
Mar 23 2020
Changes made in response to James' comments
Mar 19 2020
After Paul's comment, a custom message can now be used to replace the generic one.
Mar 11 2020
Removed Clangs use of the same message.
Mar 4 2020
Hi sbc100, thanks for highlighting this inconsistency. I think ideally for the sake of consistency, wasm-ld and clang would be updated too. I wonder if it would be worth the effort to have some kind of shared implementation for this?
Mar 3 2020
Mar 2 2020
Feb 24 2020
- Removed unused function removeHyphens
- Fixed matchFlagWithArg so 3 hyphens are no longer excepted before an argument
- getRspQuoting now uses ArraryRef instead of SmallVector
Feb 21 2020
Feb 18 2020
I agree with mstorsjo, matching what what LLVM is documented to require seems best.
Feb 14 2020
Thanks Maskray for your comment regarding marking comments as "done", I'll look out for that in future.
Inlined removeHyphens function
Feb 13 2020
Feb 10 2020
Jan 24 2020
Jan 16 2020
The use of python in the test response.test was failing on my Windows machine with Python 3. This patch fixes the issue.
- Use single quotes in tests
- Clarify use of echo in response.test
Jan 10 2020
Jan 2 2020
- Removed --rsp-quoting=default
- Reverted rename of Options
- Removed use of using
Dec 12 2019
Dec 4 2019
- Redundant pair of braces
- space after ,
- indent the continuation lines
Dec 3 2019
- Use using instead of typedef
- removeHyphens is now called from matchFlagWithArg
- Removed Argv reference argument from getRspQuoting
- Fix response.test that failed on linux
Nov 22 2019
- Pulled out the MatchFlagWithArg lambda expression into static function, and done the same with some code that handles hyphen removal.
- Added test cases to response.test.
- Removed the python call in response-utf8.test. I would prefer the file comparison but it should be sufficient to show the archive is functioning properly.
Nov 13 2019
Added rsp-quoting switch as thopre requested.
Nov 4 2019
Oct 31 2019
Oct 25 2019
This looks good to me, although with llvm-ar there is a balance between adding useful functionality and keeping command compatibility with other archivers. I've added Rui as a reviewer in case.
Oct 24 2019
Rui makes good points that I struggle to argue with. I'll abandon this review as their is no interest.
Oct 23 2019
Oct 21 2019
Oct 17 2019
Fixed two format issues.
Renamed "Long Options" to "Other" and moved it below the other options, removed bad link to gnu-ar and updated with changes from D69087.
Oct 16 2019
Fix nits, add missing options, remove old limitation and add information regarding deterministic archives.
Oct 15 2019
Updated llvm-ar doc to clarify non-windows behaviour and why the windows file system is not Unicode compliant.
Oct 11 2019
Due to updating the command guide I have not added the case insensitivity details to the llvm-ar help text. Would it be preferred to have these details in both? Also the test name "path-names" feels awkward, if anyone has a better suggestion I would be happy to change it.
Update llvm-ar command guide with case insensitivity details, and include a test for archived files with paths for names.
Oct 10 2019
I added the XFAIL to 3 llvm-ar tests I added earlier in the year, due to them failing on Darwin systems. See below:
Oct 8 2019
Thanks for adding the BOM. With the BOM, would it make sense to leave mri-utf8.test as the name of the file?
I think the testfile name should reflect what is being tested since that's the test identifier (ie. when a test fails lit prints the relative filepath) so the fact that the file is encoded in UTF-8 is irrelevant. Here the test is about llvm-ar handling non ascii filename, as the first comment explains it. How is the <pound sign>.txt file encoded would make a bit more sense as a name but then as I mentioned AFAIK the filename is encoded in UTF-16 on Windows anywat. In summary, I think the renaming is warranted.
This functions on Windows fine.
Removed unneeded const, swapped use of ifndef and added comment to comparePaths function.