[LinuxBIOS] r471 - LinuxBIOSv3/util/lar
Stefan Reinauer
stepan at coresystems.de
Mon Aug 20 01:49:01 CEST 2007
Sorry for not testing this patch before committing it. It breaks the
compression exception code.
Without patch:
stepan at linux:~/svn/LinuxBIOSv3> build/util/lar/lar -l build/linuxbios.rom
normal/option_table (932 bytes @0x40)
normal/stage2 (37404 bytes, lzma compressed to 15530 bytes @0x420)
normal/initram (2221 bytes @0x4100)
bootblock (16384 bytes @0x3c000)
With patch:
stepan at linux:~/svn/LinuxBIOSv3> build/util/lar/lar -l build/linuxbios.rom
normal/option_table (932 bytes, lzma compressed to 352 bytes @0x40)
normal/stage2 (37404 bytes, lzma compressed to 15526 bytes @0x1d0)
normal/initram (2221 bytes, lzma compressed to 1593 bytes @0x3eb0)
bootblock (16384 bytes @0x3c000)
svn at openbios.org wrote:
> Author: stepan
> Date: 2007-08-20 01:33:41 +0200 (Mon, 20 Aug 2007)
> New Revision: 471
>
> Modified:
> LinuxBIOSv3/util/lar/lib.c
> Log:
> Add another field to the filename specified for create and add
> operations to specify the intended pathname for the blob.
>
> Signed-off-by: Jordan Crouse <jordan.crouse at amd.com>
> Acked-by: Stefan Reinauer <stepan at coresystems.de>
>
>
>
> Modified: LinuxBIOSv3/util/lar/lib.c
> ===================================================================
> --- LinuxBIOSv3/util/lar/lib.c 2007-08-19 23:31:58 UTC (rev 470)
> +++ LinuxBIOSv3/util/lar/lib.c 2007-08-19 23:33:41 UTC (rev 471)
> @@ -210,16 +210,29 @@
> {
> struct stat filestat;
> int ret = -1;
> - const char *realname;
> + char *realname;
> + char *c;
>
> - realname = name;
> if (strstr(name, "nocompress:") == name) {
> - realname = name + 11;
> + name += 11;
> }
>
> + realname = strdup(name);
> +
> + if (realname == NULL) {
> + fprintf(stderr, "Out of memory.\n");
> + exit(1);
> + }
> +
> + c = strchr(realname, ':');
> +
> + if (c != NULL)
> + *c = '\0';
> +
> /* printf("... add_files %s\n", name); */
> if (stat(realname, &filestat) == -1) {
> fprintf(stderr, "Error getting file attributes of %s\n", name);
> + free(realname);
> return -1;
> }
>
> @@ -264,6 +277,7 @@
> ret = 0;
> }
>
> + free(realname);
> return ret;
> }
>
>
>
>
--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.de • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866
More information about the coreboot
mailing list