]Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] wrote:
. . . ]> Thanks for this much needed tool chain definition consolidation. I ran ]> a build test with and without the patch. The build test uses GCC44-49 ]> and Microsoft tool chains. Log files are here: http://notabs.org/uefi/tmp/. ] ]Thanks a lot for giving it a spin. ] ]> Here is what is see in the log files with respect to the patch: ]> 1) GCC49 X64 and IA32 ]> GenFw: ERROR 3000: Invalid Unsupported section alignment. ] ]I cannot reproduce this, unfortunately. Can you please check whether ]your BaseTools are up to date? There have been some changes recently ]to GenFw regarding section alignment which may cause this. My gcc is ]4.9.1 btw (Ubuntu) ] ]My Jenkins job has a 'git clean -dxf BaseTools/; make -C BaseTools' at ]the beginning so they are up to date, although I think that for GenFw, ]the git clean is not necessary. (Some other tools don't rebuild ]correctly if any of the common C code is modified) I used rebuilt BaseTools\Bin\Win32 with up to date source code. The SVN GenFw binary gives the same message. Adding some debug prints gives: Unsupported section alignment: sh_addr=84a0 addralign=64 mCoffOffset=84c0 Objdump -h gives: d:\edk2build\edk2\Build\OvmfX64\RELEASE_GCC49\X64\MdeModulePkg\Core\ Pei\PeiMain\DEBUG\PeiCore.dll: file format elf64-x86-64 Sections: Idx Name Size VMA LMA File off Algn 0 .text 00008250 0000000000000240 0000000000000240 000000c0 2**5 CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE 1 .data 000003b8 00000000000084a0 00000000000084a0 00008320 2**6 CONTENTS, ALLOC, LOAD, RELOC, DATA ]> 2) GCC46 ARM ]> unrecognized command line option '-mno-unaligned-access' ]> ] ]Could you send me the output of gcc -v for this compiler? Mine is ]Linaro 4.6.3 which supports it fine, but the feature may be a Linaro ]contribution that only made it into 4.7 upstream. In any case, we ]cannot tolerate unaligned accesses so we may need to deprecate 4.6 or ]mandate that the Linaro version be used if older versions emit ]unaligned accesses. The GCC46 is the Windows hosted build from: http://sourceforge.net/projects/edk2developertoolsforwindows/ It is built from the latest gcc 4.6 source code: http://ftpmirror.gnu.org/gcc/gcc-4.6.4/gcc-4.6.4.tar.bz2 Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=d:/edk2build/uefitools/gcc464-arm/bin/../lib/gcc/arm-linux-gnueabi/4.6.4/lto-wrapper.exe Target: arm-linux-gnueabi Configured with: ../gcc-4.6.4/configure --prefix=/gcc/xgcc --libexecdir=/gcc/xgcc/lib --target=arm-linux-gnueabi --disable-werror --disable-shared --disable-libssp --disable-bootstrap --disable-nls --disable-libquadmath --without-headers --enable-languages=c --with-gmp=/gcc/xgcc --with-mpfr=/gcc/xgcc --with-mpc=/gcc/xgcc --with-libelf=/gcc/xgcc --with-pkgversion='EDK2 version 1.0' MAKEINFO=missing --enable-twoprocess --disable-threads --disable-decimal-float --disable-win32-registry --disable-libc --with-windres Thread model: single gcc version 4.6.4 (EDK2 version 1.0) Source code for gcc-linaro-4.6-2012.04 shows what you suspected: ChangeLog.linaro contains: (insv, extzv): Add unaligned-access support. Thanks, Scott ]Regards, ]Ard. _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel