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.biesheu...@linaro.org> Cc: disc...@edk2.groups.io; edk2-devel-groups-io <devel@edk2.groups.io>; Laszlo Ersek <ler...@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.biesheu...@linaro.org> Sent: Saturday, June 15, 2019 4:29 AM To: Russell Peterson <russ...@mellanox.com> Cc: disc...@edk2.groups.io; edk2-devel-groups-io <devel@edk2.groups.io>; Laszlo Ersek <ler...@redhat.com> Subject: Re: [edk2-devel] [edk2-discuss] WriteSections64() On Sat, 15 Jun 2019 at 02:17, Russell Peterson <russ...@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? -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42509): https://edk2.groups.io/g/devel/message/42509 Mute This Topic: https://groups.io/mt/32067395/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-