From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D94F9209455F3 for ; Tue, 4 Jul 2017 08:21:16 -0700 (PDT) Received: by mail-wm0-x235.google.com with SMTP id 62so199519484wmw.1 for ; Tue, 04 Jul 2017 08:22:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=2OZFEzH5RZP/7/vXXVQTyIvGUpxRiq/ISGMnRQQN55Q=; b=O8ddlmY6upv418FHpSCM7AbZHuLojmLhnlO6UXjcmArIvRBV25JlVR1636QWQ1aQZA 9tWCOpK40ldY/MUhf44WhWc8CJ5KfbuxZoJWN1LgTmXmVSuG6rPAcVEHDuKaAYjNt8dq LPpC1e5qU8f+8Mracn68bdveI6nR3y1ysnYSAdDqjrSU6mmWXcPrdMymVUx5vr8mKajS EjH+xIYl0sZcWCu7mqH2as2ca5kgwT1tQt3dmI2rUpkIUlkst/jxGltLESt6cRwHYZkh WILrQeFy+gQVhqca9/mGUS1mG18pDpFNbwDO3FvHEXZOkqryQLy2L5j2EnZyeSGgCjvO /GcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=2OZFEzH5RZP/7/vXXVQTyIvGUpxRiq/ISGMnRQQN55Q=; b=CVrrKSdUaozRDmOl1R+noH2d9uFyuxav7vhjfziRITpF/3rskjkC2sdMJvy5aBPoPd Ul24EUuiaXqTq75qGTyEznORIVkJbqed5w27TxSZVBPV3c+AURjV5Eqa8Ph0IQq6aS0p q9vQy3sd1m05PyonVyLWnSOVsdnytBFNX0UhUcQ4StmC+qqdjHYFOTLkmoqxgm9F7oPy dluvxmTQZAyFnzW2dW7Sa61qsec8RZQoyTxATCDzNfNqLxNbOOqDPPGXfmDF/9bJhUr4 4sgE/rsVdA6MkmjrrDliPph3fGvxLF5MCriw5dNfbyGSo9CE3sen1ZLIUCr6cnhXOmoA ERUQ== X-Gm-Message-State: AIVw112y/h8V00m08ns1uw3XVpf5EgsOPRvMRmJUgWQQcNLhd7WOyDkQ ljexutQH8qRisc43hwrgDTUq X-Received: by 10.28.141.142 with SMTP id p136mr15450868wmd.125.1499181773046; Tue, 04 Jul 2017 08:22:53 -0700 (PDT) Received: from pgeorgi.fra.corp.google.com ([100.109.103.90]) by smtp.gmail.com with ESMTPSA id v2sm23298265wrb.68.2017.07.04.08.22.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 04 Jul 2017 08:22:51 -0700 (PDT) From: Patrick Georgi To: edk2-devel@lists.01.org Date: Tue, 4 Jul 2017 17:22:41 +0200 Message-Id: <20170704152241.21177-1-pgeorgi@google.com> X-Mailer: git-send-email 2.13.2.725.g09c95d1e9-goog Subject: [PATCH] BaseTools: Add COREBOOT tools definition X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jul 2017 15:21:17 -0000 That toolset is defined as the current coreboot toolchain[0] at commit time. Right now this is gcc 6.3, iasl and GNU make, with minor patches as deemed necessary for firmware development by the coreboot maintainers. COREBOOT is primarily supposed to build CorebootPayloadPkg (and its dependencies), but should be suitable for other builds as well. It's tested to build a usable Ovmf image. For now, COREBOOT is a copy of the GCC5 rules, but it may diverge over time. [0] As built by https://review.coreboot.org/cgit/coreboot.git/tree/util/crossgcc Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Patrick Georgi --- BaseTools/Conf/tools_def.template | 181 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 65f21061e6..08adb32e38 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -199,6 +199,12 @@ DEFINE GCC49_X64_PREFIX = ENV(GCC49_BIN) DEFINE GCC5_IA32_PREFIX = ENV(GCC5_BIN) DEFINE GCC5_X64_PREFIX = ENV(GCC5_BIN) +DEFINE COREBOOT_PREFIX = ENV(COREBOOT_SDK_PATH) +DEFINE COREBOOT_IA32_PREFIX = DEF(COREBOOT_PREFIX)i386-elf- +DEFINE COREBOOT_X64_PREFIX = DEF(COREBOOT_PREFIX)x86_64-elf- +DEFINE COREBOOT_ARM_PREFIX = DEF(COREBOOT_PREFIX)arm-eabi- +DEFINE COREBOOT_AARCH64_PREFIX = DEF(COREBOOT_PREFIX)aarch64-elf- + DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl DEFINE WIN_IASL_BIN = ENV(IASL_PREFIX)iasl.exe DEFINE WIN_ASL_BIN = ENV(IASL_PREFIX)asl.exe @@ -4493,6 +4499,28 @@ DEFINE GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-erro DEFINE GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS) DEFINE GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS) +DEFINE COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) +DEFINE COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) +DEFINE COREBOOT_IA32_X64_DLINK_COMMON = DEF(GCC5_IA32_X64_DLINK_COMMON) +DEFINE COREBOOT_IA32_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) +DEFINE COREBOOT_IA32_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) +DEFINE COREBOOT_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) +DEFINE COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) +DEFINE COREBOOT_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) +DEFINE COREBOOT_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) +DEFINE COREBOOT_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) +DEFINE COREBOOT_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS) +DEFINE COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) +DEFINE COREBOOT_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS) +DEFINE COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) +DEFINE COREBOOT_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS) +DEFINE COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) +DEFINE COREBOOT_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) +DEFINE COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) +DEFINE COREBOOT_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS) +DEFINE COREBOOT_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) +DEFINE COREBOOT_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS) + #################################################################################### # # Unix GCC And Intel Linux ACPI Compiler @@ -5413,6 +5441,159 @@ RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(W NOOPT_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0 NOOPT_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0 +#################################################################################### +# +# COREBOOT - This configuration is used to compile under Linux to produce +# PE/COFF binaries using coreboot's toolchain +# +#################################################################################### +*_COREBOOT_*_*_FAMILY = GCC + +*_COREBOOT_*_MAKE_PATH = DEF(COREBOOT_PREFIX)make +*_COREBOOT_*_*_DLL = ENV(COREBOOT_DLL) +*_COREBOOT_*_ASL_PATH = DEF(COREBOOT_PREFIX)iasl + +*_COREBOOT_*_PP_FLAGS = DEF(GCC_PP_FLAGS) +*_COREBOOT_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) +*_COREBOOT_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_COREBOOT_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) +*_COREBOOT_*_APP_FLAGS = +*_COREBOOT_*_ASL_FLAGS = DEF(IASL_FLAGS) +*_COREBOOT_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) + +################## +# COREBOOT IA32 definitions +################## +*_COREBOOT_IA32_OBJCOPY_PATH = DEF(COREBOOT_IA32_PREFIX)objcopy +*_COREBOOT_IA32_CC_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_SLINK_PATH = DEF(COREBOOT_IA32_PREFIX)gcc-ar +*_COREBOOT_IA32_DLINK_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_ASLDLINK_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_ASM_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_PP_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_VFRPP_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_ASLCC_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_ASLPP_PATH = DEF(COREBOOT_IA32_PREFIX)gcc +*_COREBOOT_IA32_RC_PATH = DEF(COREBOOT_IA32_PREFIX)objcopy + +*_COREBOOT_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto +*_COREBOOT_IA32_ASLDLINK_FLAGS = DEF(COREBOOT_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 +*_COREBOOT_IA32_ASM_FLAGS = DEF(COREBOOT_ASM_FLAGS) -m32 -march=i386 +*_COREBOOT_IA32_DLINK2_FLAGS = DEF(COREBOOT_IA32_DLINK2_FLAGS) +*_COREBOOT_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) +*_COREBOOT_IA32_OBJCOPY_FLAGS = +*_COREBOOT_IA32_NASM_FLAGS = -f elf32 + + DEBUG_COREBOOT_IA32_CC_FLAGS = DEF(COREBOOT_IA32_CC_FLAGS) -flto -Os + DEBUG_COREBOOT_IA32_DLINK_FLAGS = DEF(COREBOOT_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 + +RELEASE_COREBOOT_IA32_CC_FLAGS = DEF(COREBOOT_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable +RELEASE_COREBOOT_IA32_DLINK_FLAGS = DEF(COREBOOT_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 + + NOOPT_COREBOOT_IA32_CC_FLAGS = DEF(COREBOOT_IA32_CC_FLAGS) -O0 + NOOPT_COREBOOT_IA32_DLINK_FLAGS = DEF(COREBOOT_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0 + +################## +# COREBOOT X64 definitions +################## +*_COREBOOT_X64_OBJCOPY_PATH = DEF(COREBOOT_X64_PREFIX)objcopy +*_COREBOOT_X64_CC_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_SLINK_PATH = DEF(COREBOOT_X64_PREFIX)gcc-ar +*_COREBOOT_X64_DLINK_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_ASLDLINK_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_ASM_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_PP_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_VFRPP_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_ASLCC_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_ASLPP_PATH = DEF(COREBOOT_X64_PREFIX)gcc +*_COREBOOT_X64_RC_PATH = DEF(COREBOOT_X64_PREFIX)objcopy + +*_COREBOOT_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto +*_COREBOOT_X64_ASLDLINK_FLAGS = DEF(COREBOOT_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 +*_COREBOOT_X64_ASM_FLAGS = DEF(COREBOOT_ASM_FLAGS) -m64 +*_COREBOOT_X64_DLINK2_FLAGS = DEF(COREBOOT_X64_DLINK2_FLAGS) +*_COREBOOT_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) +*_COREBOOT_X64_OBJCOPY_FLAGS = +*_COREBOOT_X64_NASM_FLAGS = -f elf64 + + DEBUG_COREBOOT_X64_CC_FLAGS = DEF(COREBOOT_X64_CC_FLAGS) -flto -DUSING_LTO -Os + DEBUG_COREBOOT_X64_DLINK_FLAGS = DEF(COREBOOT_X64_DLINK_FLAGS) -flto -Os + +RELEASE_COREBOOT_X64_CC_FLAGS = DEF(COREBOOT_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable +RELEASE_COREBOOT_X64_DLINK_FLAGS = DEF(COREBOOT_X64_DLINK_FLAGS) -flto -Os + + NOOPT_COREBOOT_X64_CC_FLAGS = DEF(COREBOOT_X64_CC_FLAGS) -O0 + NOOPT_COREBOOT_X64_DLINK_FLAGS = DEF(COREBOOT_X64_DLINK_FLAGS) -O0 + +################## +# COREBOOT ARM definitions +################## +*_COREBOOT_ARM_CC_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_SLINK_PATH = ENV(COREBOOT_ARM_PREFIX)gcc-ar +*_COREBOOT_ARM_DLINK_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_ASLDLINK_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_ASM_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_PP_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_VFRPP_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_ASLCC_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_ASLPP_PATH = ENV(COREBOOT_ARM_PREFIX)gcc +*_COREBOOT_ARM_RC_PATH = ENV(COREBOOT_ARM_PREFIX)objcopy + +*_COREBOOT_ARM_ARCHCC_FLAGS = -mthumb +*_COREBOOT_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_COREBOOT_ARM_ASLDLINK_FLAGS = DEF(COREBOOT_ARM_ASLDLINK_FLAGS) +*_COREBOOT_ARM_ASM_FLAGS = DEF(COREBOOT_ARM_ASM_FLAGS) +*_COREBOOT_ARM_DLINK2_FLAGS = DEF(COREBOOT_ARM_DLINK2_FLAGS) +*_COREBOOT_ARM_PLATFORM_FLAGS = -march=armv7-a +*_COREBOOT_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) +*_COREBOOT_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) +*_COREBOOT_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) +*_COREBOOT_ARM_CC_XIPFLAGS = DEF(COREBOOT_ARM_CC_XIPFLAGS) + + DEBUG_COREBOOT_ARM_CC_FLAGS = DEF(COREBOOT_ARM_CC_FLAGS) -O0 + DEBUG_COREBOOT_ARM_DLINK_FLAGS = DEF(COREBOOT_ARM_DLINK_FLAGS) + +RELEASE_COREBOOT_ARM_CC_FLAGS = DEF(COREBOOT_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable +RELEASE_COREBOOT_ARM_DLINK_FLAGS = DEF(COREBOOT_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm + + NOOPT_COREBOOT_ARM_CC_FLAGS = DEF(COREBOOT_ARM_CC_FLAGS) -O0 + NOOPT_COREBOOT_ARM_DLINK_FLAGS = DEF(COREBOOT_ARM_DLINK_FLAGS) -O0 + +################## +# COREBOOT AARCH64 definitions +################## +*_COREBOOT_AARCH64_CC_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_SLINK_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc-ar +*_COREBOOT_AARCH64_DLINK_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_ASLDLINK_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_ASM_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_PP_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_VFRPP_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_ASLCC_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_ASLPP_PATH = ENV(COREBOOT_AARCH64_PREFIX)gcc +*_COREBOOT_AARCH64_RC_PATH = ENV(COREBOOT_AARCH64_PREFIX)objcopy + +*_COREBOOT_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_COREBOOT_AARCH64_ASLDLINK_FLAGS = DEF(COREBOOT_AARCH64_ASLDLINK_FLAGS) +*_COREBOOT_AARCH64_ASM_FLAGS = DEF(COREBOOT_AARCH64_ASM_FLAGS) +*_COREBOOT_AARCH64_DLINK2_FLAGS = DEF(COREBOOT_AARCH64_DLINK2_FLAGS) +*_COREBOOT_AARCH64_PLATFORM_FLAGS = +*_COREBOOT_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) +*_COREBOOT_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) +*_COREBOOT_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) +*_COREBOOT_AARCH64_CC_XIPFLAGS = DEF(COREBOOT_AARCH64_CC_XIPFLAGS) + + DEBUG_COREBOOT_AARCH64_CC_FLAGS = DEF(COREBOOT_AARCH64_CC_FLAGS) -O0 -mcmodel=small + DEBUG_COREBOOT_AARCH64_DLINK_FLAGS = DEF(COREBOOT_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 + DEBUG_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 + +RELEASE_COREBOOT_AARCH64_CC_FLAGS = DEF(COREBOOT_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -mcmodel=tiny -fomit-frame-pointer +RELEASE_COREBOOT_AARCH64_DLINK_FLAGS = DEF(COREBOOT_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch + + NOOPT_COREBOOT_AARCH64_CC_FLAGS = DEF(COREBOOT_AARCH64_CC_FLAGS) -O0 -mcmodel=small + NOOPT_COREBOOT_AARCH64_DLINK_FLAGS = DEF(COREBOOT_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0 + NOOPT_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0 + #################################################################################### # # CLANG35 - This configuration is used to compile under Linux to produce -- 2.13.2.725.g09c95d1e9-goog