[llvm] [llvm-readobj][COFF] Improve extended DLL characteristics test (PR #151978)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 4 07:48:29 PDT 2025
https://github.com/kkent030315 updated https://github.com/llvm/llvm-project/pull/151978
>From 1e04d56aa5cfbaf25e2b58d1c5803e535e55ed16 Mon Sep 17 00:00:00 2001
From: kkent030315 <hrn832 at protonmail.com>
Date: Mon, 4 Aug 2025 23:35:28 +0900
Subject: [PATCH 1/2] [llvm-readobj][COFF] Improve extended DLL characteristics
test
---
.../COFF/Inputs/has-exdllcharacteristics.exe | Bin 5120 -> 0 bytes
.../COFF/Inputs/has-exdllcharacteristics.yaml | 75 ++++++++++++++++++
.../COFF/exdllcharacteristics.test | 8 +-
3 files changed, 77 insertions(+), 6 deletions(-)
delete mode 100644 llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe
create mode 100644 llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
diff --git a/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe b/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe
deleted file mode 100644
index 9c36817b6a4744f837f4b3c405b9b45ddbec7965..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 5120
zcmeHLUuauZ82|F;)^uC8Y%I(tcUQAfQA22omMM6#O+8|qv1#Y#q9!J{rZl^WH#b^Q
zv|1f4mtqAU6nsdA4 at E>An{0DFq)yGMPDDhJf$p)24|@<Md+_=@_fP+16`^d5jU4#$
zec$i<bH4NCo^x*U at Z+@RAt5pmBg!2TsC)lp-br+UI%vIn;~nG$60pz!=awwFIK*W)
zQ5%;r98PH{JPyM{=~tZ~C(q^jB4WmL-%8YJO7 at 3D#Fpy`%l`ciqQT{OlRP65S%umL
z=qvIx`G+-mOarzHYcgx)Yp~bhxQaySu$s$g8KUR74S>0DANaB%Vd}8uMs)#(2#Dw1
z2wFBIqI$SwIhwTrF#W7PFM0x&!m3;-X6 at df2d3YaMHf?m-~B6*mUg3e;M=AVt)Ff}
zxH>$%Y5VJDE7(2$`RzoN0Gpc&3}2ixjEd_to0|{(&L15sR7$dmKSieh5}h}Kr#4~Z
z=-(K at 4<H!9W2SoM({?Y_*~Ay(0cPx+1?Ei3rs5$V!h23`Lp~$;Hf(RywVO`z=l|?&
zY}&tDBw9EEjp==%9yTTHz*c6{T%M@=pdWz)(}i^$o)TU}wcJyJ{0b}$VF(DHz9BpU
z$%RY}VZSY%;9HT6){)TvD35G-U3}&xT=&o40(>g&6&=vUbpKxth`>(Nym0X!!<fMe
zdzShsCHFptrAg?F5uCtgX8O^;kvwX|qIEVs7)mq!J0tikw_wfpGMz)y at lc*MusnED
zTtCA*6p8C!aYKnKozZzVl?sVQ at IFKujS0j3(npwCdg{poi<5u8)Z!K2r*Yot{BpkZ
zeH%Nwnob>FMr+(C9hk*^$;W3l|H<Zm*t{)d*+Vw(v3cC)mKD$YX6w3iIBl_Xv57nW
z4o^fZzY8{BapyWtSAyI5n^Q5-ntz|oo9*WLa2a^@fbkBip5_ at 6c717^=WSkErEce4
zj2~P>pbtAh>#U59ZM9A9*tWve%L&hbcfA#NwLWh~V$Zl|{2kP|0rLCc{0u&YcbL03
z<G=$ALVgeD^gyyNdFbWQug at hzvA2Hx^0iB!Nay%EdUvOW%CcHcl`G0KslH;ia!^*Z
zaw=QQ$*HW2H#0e#8oR4IH6Rz{OnDK*yVKJMr#C_T8gR9{s2zyQ=Ov%&EqT)Jh^x&_
zZC&8p5rgxzy*Id?=lek9((2<%?Ju7&pcQ&EC9R^$y+y@*+YE3lUM!AQO8pfjtBn+u
zn4+mK5N+d at y(6kt$rOf^=SP$r(IsI>$!C;YLC(d-vT}*L_m31bStU9yBxUVC&64{8
zS?jH+D!Q6bi&?o`rk{mDSv@$SWHi}<=(y*>vaJ-=emTQyO{j7iVf0XJU{5R_?F#1#
zh1EONLa#*!x(@$#=exJBede=Ih(8SfXc%kH(2Bg49f;s;-2?LBOylS5BuIoj1D?g%
zy8&_m{5)tYKlkvP(GBW^jJut7fg&7ljq9 at mqV=But0t=Zs_AOJI$oWuE>x-JtIgDA
UYaiE6)ateCb7`%r|GxwO0^lp8hX4Qo
diff --git a/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml b/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
new file mode 100644
index 0000000000000..3ee7fbe657555
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
@@ -0,0 +1,75 @@
+--- !COFF
+OptionalHeader:
+ AddressOfEntryPoint: 0
+ ImageBase: 0x180000000
+ SectionAlignment: 4096
+ FileAlignment: 512
+ MajorOperatingSystemVersion: 6
+ MinorOperatingSystemVersion: 0
+ MajorImageVersion: 0
+ MinorImageVersion: 0
+ MajorSubsystemVersion: 6
+ MinorSubsystemVersion: 0
+ Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI
+ DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]
+ SizeOfStackReserve: 1048576
+ SizeOfStackCommit: 4096
+ SizeOfHeapReserve: 1048576
+ SizeOfHeapCommit: 4096
+ ExportTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ ImportTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ ResourceTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ ExceptionTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ CertificateTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ BaseRelocationTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ Debug:
+ RelativeVirtualAddress: 8192
+ Size: 56
+ Architecture:
+ RelativeVirtualAddress: 0
+ Size: 0
+ GlobalPtr:
+ RelativeVirtualAddress: 0
+ Size: 0
+ TlsTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ LoadConfigTable:
+ RelativeVirtualAddress: 0
+ Size: 0
+ BoundImport:
+ RelativeVirtualAddress: 0
+ Size: 0
+ IAT:
+ RelativeVirtualAddress: 0
+ Size: 0
+ DelayImportDescriptor:
+ RelativeVirtualAddress: 0
+ Size: 0
+ ClrRuntimeHeader:
+ RelativeVirtualAddress: 0
+ Size: 0
+header:
+ Machine: IMAGE_FILE_MACHINE_AMD64
+ Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_DLL, IMAGE_FILE_LARGE_ADDRESS_AWARE ]
+sections:
+ - Name: .rdata
+ Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
+ VirtualAddress: 8192
+ VirtualSize: 180
+ SectionData: 0000000091BE906800000000020000005500000058200000580400000000000091BE9068000000001400000004000000B0200000B0040000180000000380038000000000000000005020000008000000101000000300000052534453867E6BCADB53244591DEC582FAB540DB10000000433A5C55736572735C73756E675C446F63756D656E74735C636F64655C636574657865635C7836345C52656C656173655C636574657865632E706462000000008F000000
+ SizeOfRawData: 512
+symbols: []
+...
diff --git a/llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test b/llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
index ef35aea50171a..13bd6159bfd88 100644
--- a/llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
+++ b/llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
@@ -1,9 +1,5 @@
-# To regenerate has-exdllcharacteristics.exe
-# $ echo int main() { return 0; } > has-exdllcharacteristics.c
-# To make minimum possible stub file (to decrease the binary size)
-# $ echo -n '4D5A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' | xxd -r -p > stub
-# $ cl has-exdllcharacteristics.c /link /entry:main /STUB:stub /NOCOFFGRPINFO /EMITTOOLVERSIONINFO:NO /EMITPOGOPHASEINFO /NOVCFEATURE /MANIFEST:NO /cetcompat /cetcompatstrict /cetdynamicapisinproc /cetipvalidationrelaxed /hotpatchcompatible /functionpadmin:6
-RUN: llvm-readobj --coff-debug-directory %p/Inputs/has-exdllcharacteristics.exe | FileCheck %s
+RUN: yaml2obj %p/Inputs/has-exdllcharacteristics.yaml > %t.obj
+RUN: llvm-readobj --coff-debug-directory %t.obj | FileCheck %s
CHECK: DebugEntry {
CHECK: Characteristics: 0x0
>From dcd13690ddd4790ccecf6bbefe08dd2862b7787e Mon Sep 17 00:00:00 2001
From: kkent030315 <hrn832 at protonmail.com>
Date: Mon, 4 Aug 2025 23:48:26 +0900
Subject: [PATCH 2/2] remove redundant data directories
---
.../COFF/Inputs/has-exdllcharacteristics.yaml | 42 -------------------
1 file changed, 42 deletions(-)
diff --git a/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml b/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
index 3ee7fbe657555..5799c3e538d73 100644
--- a/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
+++ b/llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
@@ -16,51 +16,9 @@ OptionalHeader:
SizeOfStackCommit: 4096
SizeOfHeapReserve: 1048576
SizeOfHeapCommit: 4096
- ExportTable:
- RelativeVirtualAddress: 0
- Size: 0
- ImportTable:
- RelativeVirtualAddress: 0
- Size: 0
- ResourceTable:
- RelativeVirtualAddress: 0
- Size: 0
- ExceptionTable:
- RelativeVirtualAddress: 0
- Size: 0
- CertificateTable:
- RelativeVirtualAddress: 0
- Size: 0
- BaseRelocationTable:
- RelativeVirtualAddress: 0
- Size: 0
Debug:
RelativeVirtualAddress: 8192
Size: 56
- Architecture:
- RelativeVirtualAddress: 0
- Size: 0
- GlobalPtr:
- RelativeVirtualAddress: 0
- Size: 0
- TlsTable:
- RelativeVirtualAddress: 0
- Size: 0
- LoadConfigTable:
- RelativeVirtualAddress: 0
- Size: 0
- BoundImport:
- RelativeVirtualAddress: 0
- Size: 0
- IAT:
- RelativeVirtualAddress: 0
- Size: 0
- DelayImportDescriptor:
- RelativeVirtualAddress: 0
- Size: 0
- ClrRuntimeHeader:
- RelativeVirtualAddress: 0
- Size: 0
header:
Machine: IMAGE_FILE_MACHINE_AMD64
Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_DLL, IMAGE_FILE_LARGE_ADDRESS_AWARE ]
More information about the llvm-commits
mailing list