This patch fixes lar options parsing, a seg fault with long path names, and makes use of functions that were already defined. It also adds greedy name matching for listing and extracting archives, which allows recursive descent into the lar directory structure.
An example is:
lar -l normal/payload normal/payload/segment0 (172032 bytes, zeroes compressed to 1 bytes @0x4330);loadaddress 0x0x112e60 entry 0x0x10e5fc normal/payload/segment1 (77384 bytes, lzma compressed to 42674 bytes @0x4390);loadaddress 0x0x100000 entry 0x0x10e5fc normal/payload/segment2 (72 bytes, lzma compressed to 47 bytes @0xeaa0);loadaddress 0x0x13ce60 entry 0x0x10e5fc Total size = 42962B 41KB (0xa7d2)
instead of
No matching lar entries found.
Myles
file-by-file changes:
util/lar/lar.c: add more options to the usage message use get_larsize() instead of using larsize rearrange errors from parsing args to be more correct
util/lar/stream.c: change elfname size to MAX_PATHLEN instead of 64 make file_in_list greedy with filename matches change total_size calculation to include file names change lar_add_entry to use header_len function instead of reinventing
Signed-off-by: Myles Watson mylesgw@gmail.com
Ping.
-----Original Message----- From: Myles Watson [mailto:mylesgw@gmail.com] Sent: Friday, February 29, 2008 1:14 PM To: Coreboot Subject: A lar patch with some cleanup and adding greedy name matching
This patch fixes lar options parsing, a seg fault with long path names, and makes use of functions that were already defined. It also adds greedy name matching for listing and extracting archives, which allows recursive descent into the lar directory structure.
An example is:
lar -l normal/payload normal/payload/segment0 (172032 bytes, zeroes compressed to 1 bytes @0x4330);loadaddress 0x0x112e60 entry 0x0x10e5fc normal/payload/segment1 (77384 bytes, lzma compressed to 42674 bytes @0x4390);loadaddress 0x0x100000 entry 0x0x10e5fc normal/payload/segment2 (72 bytes, lzma compressed to 47 bytes @0xeaa0);loadaddress 0x0x13ce60 entry 0x0x10e5fc Total size = 42962B 41KB (0xa7d2)
instead of
No matching lar entries found.
Myles
file-by-file changes:
util/lar/lar.c: add more options to the usage message use get_larsize() instead of using larsize rearrange errors from parsing args to be more correct
util/lar/stream.c: change elfname size to MAX_PATHLEN instead of 64 make file_in_list greedy with filename matches change total_size calculation to include file names change lar_add_entry to use header_len function instead of reinventing
Signed-off-by: Myles Watson mylesgw@gmail.com
On Tue, Mar 4, 2008 at 3:44 PM, Myles Watson mylesgw@gmail.com wrote:
Ping.
I just did a test build with this and tested under qemu and it works fine. I don't see how it could cause alix1c troubles so I'm acking it.
Acked-by: Ronald G. Minnich rminnich@gmail.com
On Tue, Mar 4, 2008 at 6:27 PM, ron minnich rminnich@gmail.com wrote:
On Tue, Mar 4, 2008 at 3:44 PM, Myles Watson mylesgw@gmail.com wrote:
Ping.
I just did a test build with this and tested under qemu and it works fine. I don't see how it could cause alix1c troubles so I'm acking it.
Acked-by: Ronald G. Minnich rminnich@gmail.com
Rev 632.
Thanks, Myles