* Re: [edk2-discuss] WriteSections64() [not found] <AM6PR05MB5572BFC98AF62AFED0244CC0C7EF0@AM6PR05MB5572.eurprd05.prod.outlook.com> @ 2019-06-14 19:17 ` Laszlo Ersek 2019-06-14 19:43 ` [edk2-devel] " Ard Biesheuvel 0 siblings, 1 reply; 8+ messages in thread From: Laszlo Ersek @ 2019-06-14 19:17 UTC (permalink / raw) To: discuss, russell, edk2-devel-groups-io, Ard Biesheuvel +Ard, +devel On 06/13/19 17:29, Russell Peterson wrote: > Hello, > > We are in the process of upgrading our gcc toolchain to gcc 8.3 (from 7.3). In the process of doing that we have hit an error building edk2: > > make[2]: *** [/home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.efi] Error 1 > WriteSections64(): /home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll AARCH64 relative relocations require identical ELF and PE/COFF section offsets > > There are multiple errors similar to this issued by GenFw. Our edk2 version is fairly recent (UDK2018 upstream branch as of commit 10318063b) but all this did build fine with gcc 7.3. Any clues? > > Regards, > > Russell > > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [edk2-discuss] WriteSections64() 2019-06-14 19:17 ` [edk2-discuss] WriteSections64() Laszlo Ersek @ 2019-06-14 19:43 ` Ard Biesheuvel 2019-06-14 21:19 ` Russell Peterson [not found] ` <15A82D62E078CF58.4443@groups.io> 0 siblings, 2 replies; 8+ messages in thread From: Ard Biesheuvel @ 2019-06-14 19:43 UTC (permalink / raw) To: edk2-devel-groups-io, Laszlo Ersek; +Cc: discuss, russell On Fri, 14 Jun 2019 at 21:17, Laszlo Ersek <lersek@redhat.com> wrote: > > +Ard, +devel > > On 06/13/19 17:29, Russell Peterson wrote: > > Hello, > > > > We are in the process of upgrading our gcc toolchain to gcc 8.3 (from 7.3). In the process of doing that we have hit an error building edk2: > > > > make[2]: *** [/home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.efi] Error 1 > > WriteSections64(): /home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll AARCH64 relative relocations require identical ELF and PE/COFF section offsets > > > > There are multiple errors similar to this issued by GenFw. Our edk2 version is fairly recent (UDK2018 upstream branch as of commit 10318063b) but all this did build fine with gcc 7.3. Any clues? > > Your Conf/tools_def.txt is probably stale, and does not contain the -fno-pie option we added a while ago. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [edk2-discuss] WriteSections64() 2019-06-14 19:43 ` [edk2-devel] " Ard Biesheuvel @ 2019-06-14 21:19 ` Russell Peterson [not found] ` <15A82D62E078CF58.4443@groups.io> 1 sibling, 0 replies; 8+ messages in thread From: Russell Peterson @ 2019-06-14 21:19 UTC (permalink / raw) To: Ard Biesheuvel; +Cc: edk2-devel-groups-io, Laszlo Ersek, discuss@edk2.groups.io [-- Attachment #1: Type: text/plain, Size: 1302 bytes --] Hello, Ard. The tools_def.txt was updated and both the -fno-pie and -fno-pic are specified when executing gcc. I don’t have access to the code at the moment but I will post the exact gcc command line as soon as I can. Regards, Russell On Jun 14, 2019, at 3:43 PM, Ard Biesheuvel <ard.biesheuvel@linaro.org<mailto:ard.biesheuvel@linaro.org>> wrote: On Fri, 14 Jun 2019 at 21:17, Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> wrote: +Ard, +devel On 06/13/19 17:29, Russell Peterson wrote: Hello, We are in the process of upgrading our gcc toolchain to gcc 8.3 (from 7.3). In the process of doing that we have hit an error building edk2: make[2]: *** [/home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.efi] Error 1 WriteSections64(): /home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll AARCH64 relative relocations require identical ELF and PE/COFF section offsets There are multiple errors similar to this issued by GenFw. Our edk2 version is fairly recent (UDK2018 upstream branch as of commit 10318063b) but all this did build fine with gcc 7.3. Any clues? Your Conf/tools_def.txt is probably stale, and does not contain the -fno-pie option we added a while ago. [-- Attachment #2: Type: text/html, Size: 5508 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <15A82D62E078CF58.4443@groups.io>]
* Re: [edk2-devel] [edk2-discuss] WriteSections64() [not found] ` <15A82D62E078CF58.4443@groups.io> @ 2019-06-15 0:17 ` Russell Peterson 2019-06-15 8:28 ` Ard Biesheuvel 2019-06-17 9:41 ` Ard Biesheuvel 0 siblings, 2 replies; 8+ messages in thread From: Russell Peterson @ 2019-06-15 0:17 UTC (permalink / raw) To: discuss@edk2.groups.io, Russell Peterson, Ard Biesheuvel Cc: edk2-devel-groups-io, Laszlo Ersek Here is a sample of the gcc command line: "/x/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc" -I/x/edk2/edk2/MlxPlatformPkg/Include -march=armv8-a+crc -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -incl\ ude AutoGen.h -fno-common -DSTRING_ARRAY_NAME=BaseCryptLibStrings -g -Os -fshort-wchar -fno-builtin -fno-stri\ ct-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian -fno-short-enums -\ fverbose-asm -funsigned-char -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables\ -fno-pic -fno-pie -ffixed-x18 -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=tiny -n\ ostdinc -nostdlib -DUEFI_C_SOURCE -DMDEPKG_NDEBUG -c -o /x/RELEASE_GCC5/AARCH64/CryptoPkg/Library/ BaseCryptLib/BaseCryptLib/OUTPUT/Pk/CryptX509.obj <-I include files left out> /x/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c echo --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARC\ H64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARCH64/M\ deModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll echo /x/edk2/Build/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Ne\ twork/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll -----Original Message----- From: discuss@edk2.groups.io <discuss@edk2.groups.io> On Behalf Of Russell Peterson via Groups.Io Sent: Friday, June 14, 2019 5:19 PM To: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: edk2-devel-groups-io <devel@edk2.groups.io>; Laszlo Ersek <lersek@redhat.com>; discuss@edk2.groups.io Subject: Re: [edk2-devel] [edk2-discuss] WriteSections64() Hello, Ard. The tools_def.txt was updated and both the -fno-pie and -fno-pic are specified when executing gcc. I don’t have access to the code at the moment but I will post the exact gcc command line as soon as I can. Regards, Russell On Jun 14, 2019, at 3:43 PM, Ard Biesheuvel <ard.biesheuvel@linaro.org<mailto:ard.biesheuvel@linaro.org>> wrote: On Fri, 14 Jun 2019 at 21:17, Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> wrote: +Ard, +devel On 06/13/19 17:29, Russell Peterson wrote: Hello, We are in the process of upgrading our gcc toolchain to gcc 8.3 (from 7.3). In the process of doing that we have hit an error building edk2: make[2]: *** [/home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.efi] Error 1 WriteSections64(): /home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll AARCH64 relative relocations require identical ELF and PE/COFF section offsets There are multiple errors similar to this issued by GenFw. Our edk2 version is fairly recent (UDK2018 upstream branch as of commit 10318063b) but all this did build fine with gcc 7.3. Any clues? Your Conf/tools_def.txt is probably stale, and does not contain the -fno-pie option we added a while ago. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [edk2-discuss] WriteSections64() 2019-06-15 0:17 ` Russell Peterson @ 2019-06-15 8:28 ` Ard Biesheuvel 2019-06-16 14:11 ` Russell Peterson 2019-06-17 9:41 ` Ard Biesheuvel 1 sibling, 1 reply; 8+ messages in thread From: Ard Biesheuvel @ 2019-06-15 8:28 UTC (permalink / raw) To: Russell Peterson Cc: discuss@edk2.groups.io, edk2-devel-groups-io, Laszlo Ersek On Sat, 15 Jun 2019 at 02:17, Russell Peterson <russell@mellanox.com> wrote: > > Here is a sample of the gcc command line: > > "/x/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc" > -I/x/edk2/edk2/MlxPlatformPkg/Include -march=armv8-a+crc -g -fshort-wchar > -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -incl\ > ude AutoGen.h -fno-common -DSTRING_ARRAY_NAME=BaseCryptLibStrings -g -Os -fshort-wchar -fno-builtin -fno-stri\ > ct-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian -fno-short-enums -\ > fverbose-asm -funsigned-char -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables\ > -fno-pic -fno-pie -ffixed-x18 -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=tiny -n\ > ostdinc -nostdlib -DUEFI_C_SOURCE -DMDEPKG_NDEBUG -c -o /x/RELEASE_GCC5/AARCH64/CryptoPkg/Library/ > BaseCryptLib/BaseCryptLib/OUTPUT/Pk/CryptX509.obj <-I include files left out> /x/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c > > echo --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARC\ > H64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARCH64/M\ > deModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > echo /x/edk2/Build/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Ne\ > twork/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > Could you dump the section headers of such a .dll using readelf -S please? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [edk2-discuss] WriteSections64() 2019-06-15 8:28 ` Ard Biesheuvel @ 2019-06-16 14:11 ` Russell Peterson 2019-06-17 12:56 ` Russell Peterson 0 siblings, 1 reply; 8+ messages in thread From: Russell Peterson @ 2019-06-16 14:11 UTC (permalink / raw) To: Ard Biesheuvel; +Cc: discuss@edk2.groups.io, edk2-devel-groups-io, Laszlo Ersek Hi, Ard. -bash-4.2$ readelf -S /x/edk2/Build/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll There are 25 section headers, starting at offset 0x2a940: Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0] NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 1] .text PROGBITS 0000000000000240 00000240 0000000000000320 0000000000000008 AX 0 0 32 [ 2] .rela.text RELA 0000000000000000 000175f8 00000000000002d0 0000000000000018 I 22 1 8 [ 3] .data PROGBITS 0000000000000560 00000560 0000000000000258 0000000000000000 WA 0 0 32 [ 4] .rela.data RELA 0000000000000000 000178c8 0000000000000060 0000000000000018 I 22 3 8 [ 5] .eh_frame PROGBITS 00000000000007c0 000007c0 0000000000000108 0000000000000000 A 0 0 8 [ 6] .rela.eh_frame RELA 0000000000000000 00017928 0000000000000120 0000000000000018 I 22 5 8 [ 7] .eh_frame_hdr PROGBITS 00000000000008c8 000008c8 000000000000004c 0000000000000000 A 0 0 4 [ 8] .rela RELA 0000000000000918 00000918 0000000000000060 0000000000000018 0 0 8 [ 9] .build-id PROGBITS 0000000000000978 00000978 0000000000000024 0000000000000000 0 0 4 [10] .debug_info PROGBITS 0000000000000000 0000099c 000000000000bc4c 0000000000000000 0 0 1 [11] .rela.debug_info RELA 0000000000000000 00017a48 0000000000011220 0000000000000018 I 22 10 8 [12] .debug_abbrev PROGBITS 0000000000000000 0000c5e8 00000000000017d3 0000000000000000 0 0 1 [13] .debug_line PROGBITS 0000000000000000 0000ddbb 00000000000031ed 0000000000000000 0 0 1 [14] .rela.debug_line RELA 0000000000000000 00028c68 0000000000000120 0000000000000018 I 22 13 8 [15] .debug_str PROGBITS 0000000000000000 00010fa8 0000000000002cd3 0000000000000001 MS 0 0 1 [16] .debug_loc PROGBITS 0000000000000000 00013c7b 0000000000000ba1 0000000000000000 0 0 1 [17] .rela.debug_loc RELA 0000000000000000 00028d88 00000000000013e0 0000000000000018 I 22 16 8 [18] .debug_aranges PROGBITS 0000000000000000 0001481c 00000000000000e0 0000000000000000 0 0 1 [19] .rela.debug_arang RELA 0000000000000000 0002a168 0000000000000138 0000000000000018 I 22 18 8 [20] .debug_ranges PROGBITS 0000000000000000 000148fc 0000000000000270 0000000000000000 0 0 1 [21] .rela.debug_range RELA 0000000000000000 0002a2a0 00000000000005d0 0000000000000018 I 22 20 8 [22] .symtab SYMTAB 0000000000000000 00014b70 00000000000027a8 0000000000000018 23 402 8 [23] .strtab STRTAB 0000000000000000 00017318 00000000000002da 0000000000000000 0 0 1 [24] .shstrtab STRTAB 0000000000000000 0002a870 00000000000000d0 0000000000000000 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings), I (info), L (link order), O (extra OS processing required), G (group), T (TLS), C (compressed), x (unknown), o (OS specific), E (exclude), p (processor specific) -----Original Message----- From: Ard Biesheuvel <ard.biesheuvel@linaro.org> Sent: Saturday, June 15, 2019 4:29 AM To: Russell Peterson <russell@mellanox.com> Cc: discuss@edk2.groups.io; edk2-devel-groups-io <devel@edk2.groups.io>; Laszlo Ersek <lersek@redhat.com> Subject: Re: [edk2-devel] [edk2-discuss] WriteSections64() On Sat, 15 Jun 2019 at 02:17, Russell Peterson <russell@mellanox.com> wrote: > > Here is a sample of the gcc command line: > > "/x/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc" > -I/x/edk2/edk2/MlxPlatformPkg/Include -march=armv8-a+crc -g > -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror > -Wno-array-bounds -ffunction-sections -fdata-sections -incl\ ude > AutoGen.h -fno-common -DSTRING_ARRAY_NAME=BaseCryptLibStrings -g -Os > -fshort-wchar -fno-builtin -fno-stri\ ct-aliasing -Wall -Werror > -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian > -fno-short-enums -\ fverbose-asm -funsigned-char -ffunction-sections > -fdata-sections -Wno-address -fno-asynchronous-unwind-tables\ > -fno-pic -fno-pie -ffixed-x18 -flto -Wno-unused-but-set-variable > -Wno-unused-const-variable -mcmodel=tiny -n\ ostdinc -nostdlib > -DUEFI_C_SOURCE -DMDEPKG_NDEBUG -c -o > /x/RELEASE_GCC5/AARCH64/CryptoPkg/Library/ > BaseCryptLib/BaseCryptLib/OUTPUT/Pk/CryptX509.obj <-I include files > left out> /x/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c > > echo --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARC\ > H64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARCH64/M\ > deModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > echo /x/edk2/Build/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Ne\ > twork/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > Could you dump the section headers of such a .dll using readelf -S please? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [edk2-discuss] WriteSections64() 2019-06-16 14:11 ` Russell Peterson @ 2019-06-17 12:56 ` Russell Peterson 0 siblings, 0 replies; 8+ messages in thread From: Russell Peterson @ 2019-06-17 12:56 UTC (permalink / raw) To: Ard Biesheuvel; +Cc: discuss@edk2.groups.io, edk2-devel-groups-io, Laszlo Ersek Hi, Ard. I compared this output to my previous edk2 build (uses gcc 7.3) and noticed that the .eh_frame sections seem to be new with the gcc 8.3 compiler. I added -fno-exceptions and -fno-unwind-tables to the aarch64 compiler options and everything builds. I'll need to run it and see if things work but seems better (at least it builds). I assume edk2 doesn't much care about stack unwinding? Regards, Russell -----Original Message----- From: Russell Peterson Sent: Sunday, June 16, 2019 10:12 AM To: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: discuss@edk2.groups.io; edk2-devel-groups-io <devel@edk2.groups.io>; Laszlo Ersek <lersek@redhat.com> Subject: RE: [edk2-devel] [edk2-discuss] WriteSections64() Hi, Ard. -bash-4.2$ readelf -S /x/edk2/Build/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll There are 25 section headers, starting at offset 0x2a940: Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0] NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 1] .text PROGBITS 0000000000000240 00000240 0000000000000320 0000000000000008 AX 0 0 32 [ 2] .rela.text RELA 0000000000000000 000175f8 00000000000002d0 0000000000000018 I 22 1 8 [ 3] .data PROGBITS 0000000000000560 00000560 0000000000000258 0000000000000000 WA 0 0 32 [ 4] .rela.data RELA 0000000000000000 000178c8 0000000000000060 0000000000000018 I 22 3 8 [ 5] .eh_frame PROGBITS 00000000000007c0 000007c0 0000000000000108 0000000000000000 A 0 0 8 [ 6] .rela.eh_frame RELA 0000000000000000 00017928 0000000000000120 0000000000000018 I 22 5 8 [ 7] .eh_frame_hdr PROGBITS 00000000000008c8 000008c8 000000000000004c 0000000000000000 A 0 0 4 [ 8] .rela RELA 0000000000000918 00000918 0000000000000060 0000000000000018 0 0 8 [ 9] .build-id PROGBITS 0000000000000978 00000978 0000000000000024 0000000000000000 0 0 4 [10] .debug_info PROGBITS 0000000000000000 0000099c 000000000000bc4c 0000000000000000 0 0 1 [11] .rela.debug_info RELA 0000000000000000 00017a48 0000000000011220 0000000000000018 I 22 10 8 [12] .debug_abbrev PROGBITS 0000000000000000 0000c5e8 00000000000017d3 0000000000000000 0 0 1 [13] .debug_line PROGBITS 0000000000000000 0000ddbb 00000000000031ed 0000000000000000 0 0 1 [14] .rela.debug_line RELA 0000000000000000 00028c68 0000000000000120 0000000000000018 I 22 13 8 [15] .debug_str PROGBITS 0000000000000000 00010fa8 0000000000002cd3 0000000000000001 MS 0 0 1 [16] .debug_loc PROGBITS 0000000000000000 00013c7b 0000000000000ba1 0000000000000000 0 0 1 [17] .rela.debug_loc RELA 0000000000000000 00028d88 00000000000013e0 0000000000000018 I 22 16 8 [18] .debug_aranges PROGBITS 0000000000000000 0001481c 00000000000000e0 0000000000000000 0 0 1 [19] .rela.debug_arang RELA 0000000000000000 0002a168 0000000000000138 0000000000000018 I 22 18 8 [20] .debug_ranges PROGBITS 0000000000000000 000148fc 0000000000000270 0000000000000000 0 0 1 [21] .rela.debug_range RELA 0000000000000000 0002a2a0 00000000000005d0 0000000000000018 I 22 20 8 [22] .symtab SYMTAB 0000000000000000 00014b70 00000000000027a8 0000000000000018 23 402 8 [23] .strtab STRTAB 0000000000000000 00017318 00000000000002da 0000000000000000 0 0 1 [24] .shstrtab STRTAB 0000000000000000 0002a870 00000000000000d0 0000000000000000 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings), I (info), L (link order), O (extra OS processing required), G (group), T (TLS), C (compressed), x (unknown), o (OS specific), E (exclude), p (processor specific) -----Original Message----- From: Ard Biesheuvel <ard.biesheuvel@linaro.org> Sent: Saturday, June 15, 2019 4:29 AM To: Russell Peterson <russell@mellanox.com> Cc: discuss@edk2.groups.io; edk2-devel-groups-io <devel@edk2.groups.io>; Laszlo Ersek <lersek@redhat.com> Subject: Re: [edk2-devel] [edk2-discuss] WriteSections64() On Sat, 15 Jun 2019 at 02:17, Russell Peterson <russell@mellanox.com> wrote: > > Here is a sample of the gcc command line: > > "/x/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc" > -I/x/edk2/edk2/MlxPlatformPkg/Include -march=armv8-a+crc -g > -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror > -Wno-array-bounds -ffunction-sections -fdata-sections -incl\ ude > AutoGen.h -fno-common -DSTRING_ARRAY_NAME=BaseCryptLibStrings -g -Os > -fshort-wchar -fno-builtin -fno-stri\ ct-aliasing -Wall -Werror > -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian > -fno-short-enums -\ fverbose-asm -funsigned-char -ffunction-sections > -fdata-sections -Wno-address -fno-asynchronous-unwind-tables\ -fno-pic > -fno-pie -ffixed-x18 -flto -Wno-unused-but-set-variable > -Wno-unused-const-variable -mcmodel=tiny -n\ ostdinc -nostdlib > -DUEFI_C_SOURCE -DMDEPKG_NDEBUG -c -o > /x/RELEASE_GCC5/AARCH64/CryptoPkg/Library/ > BaseCryptLib/BaseCryptLib/OUTPUT/Pk/CryptX509.obj <-I include files > left out> /x/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c > > echo --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARC\ > H64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARCH64/M\ > deModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > echo /x/edk2/Build/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Ne\ > twork/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > Could you dump the section headers of such a .dll using readelf -S please? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [edk2-discuss] WriteSections64() 2019-06-15 0:17 ` Russell Peterson 2019-06-15 8:28 ` Ard Biesheuvel @ 2019-06-17 9:41 ` Ard Biesheuvel 1 sibling, 0 replies; 8+ messages in thread From: Ard Biesheuvel @ 2019-06-17 9:41 UTC (permalink / raw) To: Russell Peterson Cc: discuss@edk2.groups.io, edk2-devel-groups-io, Laszlo Ersek On Sat, 15 Jun 2019 at 02:17, Russell Peterson <russell@mellanox.com> wrote: > > Here is a sample of the gcc command line: > > "/x/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc" > -I/x/edk2/edk2/MlxPlatformPkg/Include -march=armv8-a+crc -g -fshort-wchar > -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -incl\ > ude AutoGen.h -fno-common -DSTRING_ARRAY_NAME=BaseCryptLibStrings -g -Os -fshort-wchar -fno-builtin -fno-stri\ > ct-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian -fno-short-enums -\ > fverbose-asm -funsigned-char -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables\ > -fno-pic -fno-pie -ffixed-x18 -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=tiny -n\ > ostdinc -nostdlib -DUEFI_C_SOURCE -DMDEPKG_NDEBUG -c -o /x/RELEASE_GCC5/AARCH64/CryptoPkg/Library/ > BaseCryptLib/BaseCryptLib/OUTPUT/Pk/CryptX509.obj <-I include files left out> /x/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c > You are missing the -fno-unwind-tables option. Please make sure that you apply commit cbf00651eda6818ca3c76115b8a18e3f6b23eef4 to your tree. > echo --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARC\ > H64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > --strip-unneeded -R .eh_frame /x/edk2/Build/RELEASE_GCC5/AARCH64/M\ > deModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > echo /x/edk2/Build/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Ne\ > twork/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll > > -----Original Message----- > From: discuss@edk2.groups.io <discuss@edk2.groups.io> On Behalf Of Russell Peterson via Groups.Io > Sent: Friday, June 14, 2019 5:19 PM > To: Ard Biesheuvel <ard.biesheuvel@linaro.org> > Cc: edk2-devel-groups-io <devel@edk2.groups.io>; Laszlo Ersek <lersek@redhat.com>; discuss@edk2.groups.io > Subject: Re: [edk2-devel] [edk2-discuss] WriteSections64() > > Hello, Ard. > > The tools_def.txt was updated and both the -fno-pie and -fno-pic are specified when executing gcc. I don’t have access to the code at the moment but I will post the exact gcc command line as soon as I can. > > Regards, > > Russell > > > On Jun 14, 2019, at 3:43 PM, Ard Biesheuvel <ard.biesheuvel@linaro.org<mailto:ard.biesheuvel@linaro.org>> wrote: > > On Fri, 14 Jun 2019 at 21:17, Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> wrote: > > +Ard, +devel > > On 06/13/19 17:29, Russell Peterson wrote: > Hello, > > We are in the process of upgrading our gcc toolchain to gcc 8.3 (from 7.3). In the process of doing that we have hit an error building edk2: > > make[2]: *** [/home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.efi] Error 1 > WriteSections64(): /home/x/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.dll AARCH64 relative relocations require identical ELF and PE/COFF section offsets > > There are multiple errors similar to this issued by GenFw. Our edk2 version is fairly recent (UDK2018 upstream branch as of commit 10318063b) but all this did build fine with gcc 7.3. Any clues? > > > Your Conf/tools_def.txt is probably stale, and does not contain the -fno-pie option we added a while ago. > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-06-17 12:56 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <AM6PR05MB5572BFC98AF62AFED0244CC0C7EF0@AM6PR05MB5572.eurprd05.prod.outlook.com> 2019-06-14 19:17 ` [edk2-discuss] WriteSections64() Laszlo Ersek 2019-06-14 19:43 ` [edk2-devel] " Ard Biesheuvel 2019-06-14 21:19 ` Russell Peterson [not found] ` <15A82D62E078CF58.4443@groups.io> 2019-06-15 0:17 ` Russell Peterson 2019-06-15 8:28 ` Ard Biesheuvel 2019-06-16 14:11 ` Russell Peterson 2019-06-17 12:56 ` Russell Peterson 2019-06-17 9:41 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox