David Haller
Mein Tip: config passt nicht zum Kernel...
Tja, genial daneben :) Da macht der Code Murks: #ifdef AMB_NEW_MICROCODE #define UCODE(x) UCODE1(atmsar12.,x) #else #define UCODE(x) UCODE1(atmsar11.,x) #endif #define UCODE2(x) #x #define UCODE1(x,y) UCODE2(x ## y) static u32 __initdata ucode_start = #include UCODE(start) ; static region __initdata ucode_regions[] = { #include UCODE(regions) { 0, 0 } }; static u32 __initdata ucode_data[] = { #include UCODE(data) 0xdeadbeef }; Sprich will mittels des ## Präprozessor-Operators den Dateinamen zusammenbasteln. ISO C99 sagt nun aber einmal in 6.10.3.3#3: If the result is not a valid preprocessing token, the behavior is undefined. Der gcc 3.2 hat es noch mit Warnung akzeptiert, aber seit gcc 3.3 gibt es einen Fehler. Dabei geht es auch standard konform, wie der Code in 2.4.22 zeigt: #ifdef AMB_NEW_MICROCODE #define UCODE(x) UCODE2(atmsar12.x) #else #define UCODE(x) UCODE2(atmsar11.x) #endif #define UCODE2(x) #x Philipp