I have now been able to build an image using Ubuntu Edgy, which implies that the problem is specific to Fedora Core 9. I had problems building smbus_initram.c but the following additions helped:
#include <arch/x86/cpu.h> to southbridge/amd/cs5536/smbus_initram.c #include <globalvars.h> to include/arch/x86/cpu.h
I am now trying to build a SeaBIOS payload but I am getting very odd errors. I have attached a log listing these. The later ones are particularly alarming, as they seem to indicate that a header file is conflicting with itself!
Compiling whole program out/blob.16.s In file included from src/util.c:8: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/output.c:297: error: previous definition of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/output.c:305: error: previous definition of ‘__set_code_fail’ was here src/util.c:16: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.c:30: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here In file included from src/floppy.c:12: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/output.c:283: error: previous definition of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/output.c:290: error: previous definition of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/util.h:122: error: previous declaration of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/floppy.c:15: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here In file included from src/system.c:8: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/util.h:87: error: previous declaration of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/util.h:88: error: previous declaration of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/util.h:122: error: previous declaration of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/system.c:13: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here In file included from src/mouse.c:11: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here src/mouse.c:261: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here In file included from src/kbd.c:9: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/util.h:87: error: previous declaration of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/util.h:88: error: previous declaration of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/util.h:122: error: previous declaration of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/kbd.c:12: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here src/kbd.c: In function ‘process_key’: src/kbd.c:581: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:582: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:584: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:585: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:590: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:596: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:597: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:599: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:600: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:605: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:606: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:608: warning: dereferencing type-punned pointer will break strict-aliasing rules src/kbd.c:609: warning: dereferencing type-punned pointer will break strict-aliasing rules In file included from src/serial.c:9: src/util.h: At top level: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/util.h:87: error: previous declaration of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/util.h:88: error: previous declaration of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/util.h:122: error: previous declaration of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/serial.c:10: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here In file included from src/clock.c:13: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here src/clock.c:403: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/clock.c:440: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here In file included from src/pic.c:9: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/util.h:87: error: previous declaration of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/util.h:88: error: previous declaration of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/util.h:122: error: previous declaration of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/cdrom.c:8: src/disk.h:95: error: conflicting types for ‘__disk_ret’ src/disk.h:95: error: previous declaration of ‘__disk_ret’ was here src/disk.h:102: error: conflicting types for ‘floppy_13’ src/floppy.c:719: error: previous definition of ‘floppy_13’ was here src/disk.h:106: error: conflicting types for ‘disk_13’ src/disk.h:106: error: previous declaration of ‘disk_13’ was here src/disk.h:107: error: conflicting types for ‘disk_13XX’ src/disk.h:107: error: previous declaration of ‘disk_13XX’ was here src/disk.h:111: error: conflicting types for ‘cdrom_13’ src/disk.h:111: error: previous declaration of ‘cdrom_13’ was here src/disk.h:112: error: conflicting types for ‘cdemu_13’ src/disk.h:112: error: previous declaration of ‘cdemu_13’ was here src/disk.h:113: error: conflicting types for ‘cdemu_134b’ src/disk.h:113: error: previous declaration of ‘cdemu_134b’ was here In file included from src/cdrom.c:11: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here src/cdrom.c: In function ‘cdemu_134b’: src/cdrom.c:281: warning: dereferencing type-punned pointer will break strict-aliasing rules src/cdrom.c:282: warning: dereferencing type-punned pointer will break strict-aliasing rules src/cdrom.c:283: warning: dereferencing type-punned pointer will break strict-aliasing rules src/cdrom.c:284: warning: dereferencing type-punned pointer will break strict-aliasing rules In file included from src/disk.c:11: src/util.h: At top level: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/util.h:87: error: previous declaration of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/util.h:88: error: previous declaration of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/util.h:122: error: previous declaration of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/disk.c:14: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here src/disk.c:24: error: conflicting types for ‘__disk_ret’ src/disk.h:95: error: previous declaration of ‘__disk_ret’ was here src/disk.c: In function ‘extended_access’: src/disk.c:134: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:135: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:137: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:152: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c: In function ‘disk_1348’: src/disk.c:360: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:380: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:383: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:386: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:395: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:401: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:410: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:412: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:413: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:466: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c:469: warning: dereferencing type-punned pointer will break strict-aliasing rules src/disk.c: At top level: src/disk.c:550: error: conflicting types for ‘disk_13XX’ src/disk.h:107: error: previous declaration of ‘disk_13XX’ was here src/disk.c:556: error: conflicting types for ‘disk_13’ src/disk.h:106: error: previous declaration of ‘disk_13’ was here In file included from src/apm.c:10: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here In file included from src/apm.c:12: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/util.h:87: error: previous declaration of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/util.h:88: error: previous declaration of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/util.h:122: error: previous declaration of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/pcibios.c:11: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here src/pcibios.c:150: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here In file included from src/vgahooks.c:7: src/bregs.h:89: error: conflicting types for ‘__set_fail’ src/bregs.h:89: error: previous declaration of ‘__set_fail’ was here src/bregs.h:90: error: conflicting types for ‘__set_code_fail’ src/bregs.h:90: error: previous declaration of ‘__set_code_fail’ was here In file included from src/vgahooks.c:8: src/util.h:67: error: conflicting types for ‘call16’ src/util.h:67: error: previous declaration of ‘call16’ was here src/util.h:68: error: conflicting types for ‘__call16_int’ src/util.h:68: error: previous declaration of ‘__call16_int’ was here src/util.h:87: error: conflicting types for ‘__debug_enter’ src/util.h:87: error: previous declaration of ‘__debug_enter’ was here src/util.h:88: error: conflicting types for ‘__debug_stub’ src/util.h:88: error: previous declaration of ‘__debug_stub’ was here src/util.h:103: error: conflicting types for ‘handle_15c2’ src/util.h:103: error: previous declaration of ‘handle_15c2’ was here src/util.h:118: error: conflicting types for ‘handle_1583’ src/util.h:118: error: previous declaration of ‘handle_1583’ was here src/util.h:119: error: conflicting types for ‘handle_1586’ src/util.h:119: error: previous declaration of ‘handle_1586’ was here src/util.h:122: error: conflicting types for ‘handle_1553’ src/apm.c:194: error: previous definition of ‘handle_1553’ was here src/util.h:125: error: conflicting types for ‘handle_1ab1’ src/util.h:125: error: previous declaration of ‘handle_1ab1’ was here make[1]: *** [out/blob.16.s] Error 1