On 14 July 2016 at 15:16, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote: > This series is not an attempt to steal Steven's thunder. I was merely > inspired by some of the changes he is proposing for GCC 5 and Clang > support, which I noticed would be applicable to older versions of GCC > as well. > > The first patch fixes the issue that __builtin_unreachable() is not > implemented by GCC 4.4 or earlier. > > Patch #2 is Steven's patch to switch to the flavor of VA_LIST that is > explicitly modeled after the MS implementation. This by itself is an > improvement, since the open coded implementation that performs arithmetic > on the address of explicit arguments to obtain the variadic arguments is > fragile and difficult to maintain, and should be best avoided. > > Patch #3 enabled -O2 optimization for X64/RELEASE all the way back to GCC44. > I tested this change with both Ovmf and EmulatorPkg built in various ways > and with various versions, with the caveat that I did not always use a > matching > binutils (i.e., of the same era). Since the issues this series deal with are > all code generation issues, I think this is reasonable, but more testing would > be appreciated. > > Patch #4 applies the visibility 'hidden' GCC pragma globally. Please refer to > the commit log for the motivation. > > Patch #5 switches GCC/X64 to the PIC small code model, which results in > smaller > code. >
Code can be found here https://git.linaro.org/people/ard.biesheuvel/uefi-next.git/shortlog/refs/heads/gcc-x64-opt _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel