On Mon, Dec 21, 2015 at 06:19:05PM +0100, Ard Biesheuvel wrote:
On 21 December 2015 at 18:14, Julian Andres Klode jak@debian.org wrote:
On Mon, Dec 21, 2015 at 05:52:09PM +0100, Ard Biesheuvel wrote:
On 21 December 2015 at 17:50, Julian Andres Klode jak@debian.org wrote:
On Mon, Dec 21, 2015 at 05:41:58PM +0100, Ard Biesheuvel wrote:
This series relicenses some ARM/AARCH64 source files as BSD+GPL (the ones that were authored by me). It also replaces the ARM arithmetic support code with the BSD licensed EDK2 version, which is also more complete.
Thanks Ard, that's very helpful. I have not taken a closer look at the merged result and checked if that's all that's needed or if some things still remain, but I'm already very happy :)
I had some trouble building the code after recent unrelated changes, so I will cc you on some (at least one) other patch as well.
Given that we're already here: arm/efibind.h and aarch64/efibind.h version as well include stdint.h - causing -ffreestanding builds like systemd-boot to fail for ARM architectures with
/usr/include/efi/arm/efibind.h:2:20: fatal error: stdint.h: No such file or directory /usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory
Not sure what the best way to fix this would be. I assume gcc has some builtin fixed-size integers that could be used instead for freestanding environments.
GCC ships with a file called gcc-stdint.h, which gets included when including <stdint.h> while -ffreestanding is in effect. If this gcc-stdint.h is not present under your GCC install directory, or is not being picked up, there may be a problem in the source code that you are trying to build: perhaps it is trying to do something clever with overriding builtin defines?
systemd is also passing -nostdinc - that's probably the reason.