From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Michael Zimmermann <sigmaepsilon92@gmail.com>
Cc: "Shi, Steven" <steven.shi@intel.com>,
"Justen, Jordan L" <jordan.l.justen@intel.com>,
edk2-devel-01 <edk2-devel@lists.01.org>,
Leif Lindholm <leif.lindholm@linaro.org>,
"Gao, Liming" <liming.gao@intel.com>,
Laszlo Ersek <lersek@redhat.com>
Subject: Re: [PATCH v5 0/8] BaseTools: add support for GCC5 in LTO mode
Date: Tue, 2 Aug 2016 16:47:00 +0200 [thread overview]
Message-ID: <CAKv+Gu-GfXW37iLU0riNiEB_wkdgGhmMB9MagcKmU1aYaTVWoA@mail.gmail.com> (raw)
In-Reply-To: <CAN9vWDLWTVpHSM1Cr20EhAJ91-aiP7x6YYRHGrNJ3J2BbkqZKw@mail.gmail.com>
On 2 August 2016 at 16:39, Michael Zimmermann <sigmaepsilon92@gmail.com> wrote:
> Sry for the late reply but I tried your latest gcc-lto branch to make sure
> my answers are still correct.
> I tested it with all configurations(StdLib:X64/ARM, Ovmf:X64, ArmVirtPkg:ARM
> with both RELEASE and DEBUG).
> In StdLib are many warnings actually. That's because of
> -Wunused-const-variable and -Wmisleading-indentation.
> Also I had to apply the commit to fix 'Unsupported ELF EM_X86_64 relocation
> 0x4.' for X64.
>
Only 0x4 or 0x9 or others as well? This is relevent since 0x4 is a PLT
relocation which can be fixed up easily. The GOT based ones are
trickier since they involve a GOT entry with an absolute symbol
address that needs to be fixed up by the PE/COFF loader
> '-b RELEASE -a ARM -t GCC5 -p AppPkg/AppPkg.dsc' is the only configuration I
> can't get to compile with gcc6(DEBUG works):
> /tmp/ccYJi1bO.ltrans0.ltrans.o: In function `memmove':
> <artificial>:(.text+0x3670): multiple definition of `memmove'
> /media/Data/repositories/git/efidroid/testing/linuxtoolchain/edk2/Build/AppPkg/RELEASE_GCC5/ARM/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib/OUTPUT/CompilerIntrinsicsLib.lib(memmove.obj):(.text+0x0):
> first defined here
> /tmp/ccYJi1bO.ltrans0.ltrans.o: In function `memset':
> <artificial>:(.text+0x3674): multiple definition of `memset'
> /media/Data/repositories/git/efidroid/testing/linuxtoolchain/edk2/Build/AppPkg/RELEASE_GCC5/ARM/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib/OUTPUT/CompilerIntrinsicsLib.lib(memset.obj):(.text+0x10):
> first defined here
Interesting. I wonder where the first memmove resp. memset are coming
from. Are you linking with libgcc are sth like that?
> /media/Data/repositories/git/efidroid/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.1.1~linaro-gcc-6-branch@f3888e76-20160721-x86_64_arm-eabi/bin/../lib/gcc/arm-eabi/6.1.1/../../../../arm-eabi/bin/ld:
> printf.obj: plugin needed to handle lto object
> /media/Data/repositories/git/efidroid/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.1.1~linaro-gcc-6-branch@f3888e76-20160721-x86_64_arm-eabi/bin/../lib/gcc/arm-eabi/6.1.1/../../../../arm-eabi/bin/ld:
> puts.obj: plugin needed to handle lto object
> /media/Data/repositories/git/efidroid/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.1.1~linaro-gcc-6-branch@f3888e76-20160721-x86_64_arm-eabi/bin/../lib/gcc/arm-eabi/6.1.1/../../../../arm-eabi/bin/ld:
> internal error
> /media/Data/repositories/git/abe/_build/snapshots/binutils-gdb.git~linaro_binutils-2_26-branch/ld/ldlang.c
> 6299
> collect2: error: ld returned 1 exit status
> make: *** [GNUmakefile:417:
> /media/Data/repositories/git/efidroid/testing/linuxtoolchain/edk2/Build/AppPkg/RELEASE_GCC5/ARM/AppPkg/Applications/Main/Main/DEBUG/Main.dll]
> Error 1
>
Not sure what's going on here ...
> Also, I only did compilation tests, I didn't try to run any of the produced
> binaries.
>
> this is the fixed branch:
> https://github.com/M1cha/edk2/commits/edk2-master-gcc6
> it's based on your gcc5-lto-v6 branch.
>
Thanks for the report. I will look into this.
prev parent reply other threads:[~2016-08-02 14:47 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-01 8:01 [PATCH v5 0/8] BaseTools: add support for GCC5 in LTO mode Ard Biesheuvel
2016-08-01 8:01 ` [PATCH v5 1/8] BaseTools CLANG35: drop problematic use-movt and save-temps options Ard Biesheuvel
2016-08-01 8:01 ` [PATCH v5 2/8] ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: ignore .hash and .note sections Ard Biesheuvel
2016-08-01 8:01 ` [PATCH v5 3/8] BaseTools UNIXGCC ELFGCC CYGGCC: clone GCC build rule family into GCCLD Ard Biesheuvel
2016-08-01 8:01 ` [PATCH v5 4/8] BaseTools GCC: use 'gcc' as the linker command for GCC44 and later Ard Biesheuvel
2016-08-01 8:01 ` [PATCH v5 5/8] ArmPkg: add prebuilt glue binaries for GCC5 LTO support Ard Biesheuvel
2016-08-02 8:50 ` Leif Lindholm
2016-08-01 8:01 ` [PATCH v5 6/8] BaseTools GCC: drop GNU notes section from EFI image Ard Biesheuvel
2016-08-01 8:01 ` [PATCH v5 7/8] MdePkg GCC/X64: avoid 'hidden' visibility for module entry points Ard Biesheuvel
2016-08-01 14:18 ` Gao, Liming
2016-08-01 14:49 ` Ard Biesheuvel
2016-08-01 14:56 ` Ard Biesheuvel
2016-08-01 15:51 ` Ard Biesheuvel
2016-08-01 16:11 ` Ard Biesheuvel
2016-08-02 2:39 ` Gao, Liming
2016-08-02 5:26 ` Gao, Liming
2016-08-01 8:01 ` [PATCH v5 8/8] BaseTools GCC: introduce GCC5 toolchain to support GCC v5.x in LTO mode Ard Biesheuvel
2016-08-01 14:01 ` [PATCH v5 0/8] BaseTools: add support for GCC5 " Shi, Steven
2016-08-01 14:04 ` Ard Biesheuvel
2016-08-02 9:03 ` Ard Biesheuvel
2016-08-02 10:57 ` Laszlo Ersek
2016-08-02 11:13 ` Ard Biesheuvel
2016-08-02 11:41 ` Shi, Steven
2016-08-02 11:42 ` Ard Biesheuvel
2016-08-02 13:55 ` Michael Zimmermann
2016-08-02 13:56 ` Ard Biesheuvel
2016-08-02 14:39 ` Michael Zimmermann
2016-08-02 14:46 ` Michael Zimmermann
2016-08-02 14:51 ` Michael Zimmermann
2016-08-02 14:47 ` Ard Biesheuvel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAKv+Gu-GfXW37iLU0riNiEB_wkdgGhmMB9MagcKmU1aYaTVWoA@mail.gmail.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox