* correct off by one error in lib/lar.c

* correct LINUXBIOS_EXTRA_VERSION if it's empty in .config
* enable warnings for breaking strict aliasing

trivial.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@208 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
Stefan Reinauer 2007-03-07 01:05:35 +00:00
commit a8c461ba91
2 changed files with 6 additions and 8 deletions

View file

@ -37,9 +37,8 @@ MAKEFLAGS += --no-print-directory
CC := gcc
CFLAGS := -Os -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-Werror-implicit-function-declaration \
-fno-strict-aliasing -fno-common \
-ffreestanding -fno-builtin
-Werror-implicit-function-declaration -Wstrict-aliasing \
-fno-common -ffreestanding -fno-builtin
HOSTCC := gcc
HOSTCXX := g++
@ -66,7 +65,7 @@ else
include $(src)/.config
ifneq ($(CONFIG_LOCALVERSION),)
ifneq ($(CONFIG_LOCALVERSION),"")
LINUXBIOS_EXTRA_VERSION := -$(shell echo $(CONFIG_LOCALVERSION))
endif

View file

@ -39,9 +39,9 @@ int find_file(struct mem_file *archive, char *filename, struct mem_file *result)
char * walk, *fullname;
struct lar_header * header;
printk(BIOS_INFO, "filename is %s\n", filename);
printk(BIOS_INFO, "start 0x%x len 0x%x\n", archive->start, archive->len);
printk(BIOS_SPEW, "start 0x%x len 0x%x\n", archive->start, archive->len);
for (walk = archive->start; walk < (char *)archive->start +
archive->len; walk+=16) {
archive->len - 1; walk+=16) {
if(strcmp(walk, MAGIC)!=0)
continue;
@ -58,8 +58,7 @@ printk(BIOS_INFO, "fullname is %s\n", fullname);
// skip file
/* FIXME: This is doing the wrong thing. its skipping too much.
walk += ( ntohl(header->offset) + ntohl(header->len)
+ 15 ) & 0xfffffff0;
walk += ( ntohl(header->offset) + ntohl(header->len) + 15 ) & 0xfffffff0;
*/
walk += 16;
}