[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