|
Re: [PATCH v4 0/7] BaseTools: add support for GCC5 in LTO mode
Thanks for checking. The problem with GCC5 is that the fact that
'_ModuleEntryPoint' is also hidden, which confuses the LTO code and
makes it eliminate all input objects. I think this is a bug in
Thanks for checking. The problem with GCC5 is that the fact that
'_ModuleEntryPoint' is also hidden, which confuses the LTO code and
makes it eliminate all input objects. I think this is a bug in
|
By
Ard Biesheuvel
·
#226
·
|
|
Re: [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code
[Steven]: Do you mean the linker will apply above optimization but not remove the original GOTPCREL item? It sounds like a severe linker bug.
[Steven]: I still don't understand why there will be
[Steven]: Do you mean the linker will apply above optimization but not remove the original GOTPCREL item? It sounds like a severe linker bug.
[Steven]: I still don't understand why there will be
|
By
Shi, Steven <steven.shi@...>
·
#227
·
|
|
Re: [RFC 1/2] MdeModulePkg/EbcDxe: Add AARCH64 EBC VM support
Yes, Contributed-under and Signed-off-by are required.
I think it is possible in some cases to submit a third party
conribution, but you still have to add the Contributed-under and
Signed-off-by. See
Yes, Contributed-under and Signed-off-by are required.
I think it is possible in some cases to submit a third party
conribution, but you still have to add the Contributed-under and
Signed-off-by. See
|
By
Jordan Justen
·
#228
·
|
|
Re: [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code
I checked quickly, and it appears the linker does the right thing
here, i.e., it performs the optimization and also modifies the
relocation emitted into the .rela.text section
So this:
.globl
I checked quickly, and it appears the linker does the right thing
here, i.e., it performs the optimization and also modifies the
relocation emitted into the .rela.text section
So this:
.globl
|
By
Ard Biesheuvel
·
#229
·
|
|
[PATCH] MdePkg: move to 'hidden' visibility for all symbols under GCC/X64
When using GCC to build for X64, we switched to the position independent
small code model, which is much more efficient in terms of code generation
and runtime relocation footprint, and produces
When using GCC to build for X64, we switched to the position independent
small code model, which is much more efficient in terms of code generation
and runtime relocation footprint, and produces
|
By
Ard Biesheuvel
·
#230
·
|
|
Re: [PATCH] add top-level .gitattributes file, dealing with .depex
They may require a depex, but, as mentioned below, they can also add
it directly in the .fdf. As it stands, apparently we have 1 .depex
file in the tree, and it is unused.
Aside from this, under what
They may require a depex, but, as mentioned below, they can also add
it directly in the .fdf. As it stands, apparently we have 1 .depex
file in the tree, and it is unused.
Aside from this, under what
|
By
Jordan Justen
·
#231
·
|
|
[PATCH] OvmfPkg: use StatusCode Router and Handler from MdeModulePkg
Use StatusCode Router and Handler from MdeModulePkg instead of
IntelFrameworkModulePkg.
MdeModulePkg ones follows PI spec to implement StatusCode
Router/Handler and provide StatusCode service.
It
Use StatusCode Router and Handler from MdeModulePkg instead of
IntelFrameworkModulePkg.
MdeModulePkg ones follows PI spec to implement StatusCode
Router/Handler and provide StatusCode service.
It
|
By
Cinnamon Shia <cinnamon.shia@...>
·
#232
·
|
|
Re: [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code
[Steven]: the 'return n' will not result in relocation, but the 'int n' will result in the relocation in GOT. The three 'return n' will point to the same 'int n' relocation item. So, we need only
[Steven]: the 'return n' will not result in relocation, but the 'int n' will result in the relocation in GOT. The three 'return n' will point to the same 'int n' relocation item. So, we need only
|
By
Shi, Steven <steven.shi@...>
·
#233
·
|
|
Re: [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code
Every 'return n' will result in a GOTPCREL relocation against n. And
your code emits a relocation for the GOT entry every time.
BTW, the 'int n' relocation type in your code on X64 should
Every 'return n' will result in a GOTPCREL relocation against n. And
your code emits a relocation for the GOT entry every time.
BTW, the 'int n' relocation type in your code on X64 should
|
By
Ard Biesheuvel
·
#234
·
|
|
Re: [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code
[Steven]: I don't think so. please give a real case and offer its source code to prove " Every 'return n' will result in a GOTPCREL relocation against n ".
[Steven]: the current GenFw will ignore
[Steven]: I don't think so. please give a real case and offer its source code to prove " Every 'return n' will result in a GOTPCREL relocation against n ".
[Steven]: the current GenFw will ignore
|
By
Shi, Steven <steven.shi@...>
·
#235
·
|
|
Re: [PATCH v2 2/7] BaseTools-GenFw:Add new x86_64 Elf relocation types for PIC/PIE code
Compiling the code above using
gcc -c -O -fpic /tmp/pie.c -o pie.o
and dumping it using
readelf -r pie.o
gives me
Relocation section '.rela.text' at offset 0x250 contains 3 entries:
Offset
Compiling the code above using
gcc -c -O -fpic /tmp/pie.c -o pie.o
and dumping it using
readelf -r pie.o
gives me
Relocation section '.rela.text' at offset 0x250 contains 3 entries:
Offset
|
By
Ard Biesheuvel
·
#236
·
|
|
[PATCH v5 0/8] BaseTools: add support for GCC5 in LTO mode
This v5 to introduce GCC5 is now a 8 piece series, including some
preparatory cleanup patches that allow all GCC4x and CLANG35 toolchains
to switch to using 'gcc' as the linker. This allows us to get
This v5 to introduce GCC5 is now a 8 piece series, including some
preparatory cleanup patches that allow all GCC4x and CLANG35 toolchains
to switch to using 'gcc' as the linker. This allows us to get
|
By
Ard Biesheuvel
·
#237
·
|
|
[PATCH v5 1/8] BaseTools CLANG35: drop problematic use-movt and save-temps options
Some versions of Clang fail on every input file when using the
-save-temps options, and produces the following heplful error message:
<unknown>:0: error: Undefined temporary symbol
Simply dropping
Some versions of Clang fail on every input file when using the
-save-temps options, and produces the following heplful error message:
<unknown>:0: error: Undefined temporary symbol
Simply dropping
|
By
Ard Biesheuvel
·
#238
·
|
|
[PATCH v5 2/8] ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: ignore .hash and .note sections
Newer versions of ld automatically emit .gnu.hash and .note.gnu.build-id
sections, which are not listed in the linker script, and will end up
breaking the build with an allocation conflict, e.g.,
Newer versions of ld automatically emit .gnu.hash and .note.gnu.build-id
sections, which are not listed in the linker script, and will end up
breaking the build with an allocation conflict, e.g.,
|
By
Ard Biesheuvel
·
#239
·
|
|
[PATCH v5 3/8] BaseTools UNIXGCC ELFGCC CYGGCC: clone GCC build rule family into GCCLD
Before we can make non-backward compatible changes to the GCC build rules
regarding the use of the 'gcc' binary as the linker, clone the existing
GCC build rules into a 'GCCLD' build rule family, and
Before we can make non-backward compatible changes to the GCC build rules
regarding the use of the 'gcc' binary as the linker, clone the existing
GCC build rules into a 'GCCLD' build rule family, and
|
By
Ard Biesheuvel
·
#240
·
|
|
[PATCH v5 4/8] BaseTools GCC: use 'gcc' as the linker command for GCC44 and later
To accommodate upcoming GCCx toolchain versions that require 'gcc' to
be used as the linker in order to support LTO, switch GCC44 and later
(including CLANG35) to a new DLINK build rule that invokes
To accommodate upcoming GCCx toolchain versions that require 'gcc' to
be used as the linker in order to support LTO, switch GCC44 and later
(including CLANG35) to a new DLINK build rule that invokes
|
By
Ard Biesheuvel
·
#241
·
|
|
[PATCH v5 5/8] ArmPkg: add prebuilt glue binaries for GCC5 LTO support
GCC in LTO mode interoperates poorly with non-standard libraries that
provide implementations of compiler intrinsics such as memcpy/memset
or the stack protector entry points. Such libraries need to
GCC in LTO mode interoperates poorly with non-standard libraries that
provide implementations of compiler intrinsics such as memcpy/memset
or the stack protector entry points. Such libraries need to
|
By
Ard Biesheuvel
·
#242
·
|
|
[PATCH v5 6/8] BaseTools GCC: drop GNU notes section from EFI image
Recent versions of GNU ld automatically emit a .notes section into
the ELF binary containing a build id. Since this is an allocatable
section by default, it will be identified by GenFw as a
Recent versions of GNU ld automatically emit a .notes section into
the ELF binary containing a build id. Since this is an allocatable
section by default, it will be identified by GenFw as a
|
By
Ard Biesheuvel
·
#243
·
|
|
[PATCH v5 7/8] MdePkg GCC/X64: avoid 'hidden' visibility for module entry points
When building with LTO enabled, the LTO routines infer from the 'hidden'
visibility of the _ModuleEntryPoint symbol that its code only needs to be
retained if it is referenced internally, and
When building with LTO enabled, the LTO routines infer from the 'hidden'
visibility of the _ModuleEntryPoint symbol that its code only needs to be
retained if it is referenced internally, and
|
By
Ard Biesheuvel
·
#244
·
|
|
[PATCH v5 8/8] BaseTools GCC: introduce GCC5 toolchain to support GCC v5.x in LTO mode
This adds support for GCC 5.x in LTO mode for IA32, X64, ARM and
AARCH64. Due to the fact that the GCC project switched to a new
numbering scheme where the first digit is now incremented for
This adds support for GCC 5.x in LTO mode for IA32, X64, ARM and
AARCH64. Due to the fact that the GCC project switched to a new
numbering scheme where the first digit is now incremented for
|
By
Ard Biesheuvel
·
#245
·
|