diff --git a/lld/test/COFF/base.test b/lld/test/COFF/base.test index 645bab65fe30..d778e74e5427 100644 --- a/lld/test/COFF/base.test +++ b/lld/test/COFF/base.test @@ -12,6 +12,15 @@ # RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=BASE-HEADER %s # RUN: llvm-objdump -s %t.exe | FileCheck --check-prefix=BASE-TEXT %s +# RUN: echo "LIBRARY \"%t.dll\" BASE=0x280000000" > %t.def +# RUN: lld-link /out:%t.dll /dll %t.obj /def:%t.def %t.obj +# RUN: llvm-readobj --file-headers %t.dll | FileCheck -check-prefix=BASE-HEADER %s +# RUN: llvm-objdump -s %t.dll | FileCheck --check-prefix=BASE-TEXT %s +# RUN: echo "LIBRARY \"%t.dll\" BASE=10737418240" > %t.def +# RUN: lld-link /out:%t.dll /dll %t.obj /def:%t.def %t.obj +# RUN: llvm-readobj --file-headers %t.dll | FileCheck -check-prefix=BASE-HEADER %s +# RUN: llvm-objdump -s %t.dll | FileCheck --check-prefix=BASE-TEXT %s + # BASE-HEADER: ImageBase: 0x280000000 # BASE-TEXT: Contents of section .text: # BASE-TEXT-NEXT: 1000 00000080 02000000 @@ -48,6 +57,12 @@ symbols: SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_EXTERNAL + - Name: _DllMainCRTStartup + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_EXTERNAL - Name: __ImageBase Value: 0 SectionNumber: 0 diff --git a/lld/test/COFF/heap.test b/lld/test/COFF/heap.test index f9b772624906..f2ecc135ccd9 100644 --- a/lld/test/COFF/heap.test +++ b/lld/test/COFF/heap.test @@ -11,6 +11,9 @@ DEFAULT: SizeOfHeapCommit: 4096 # RUN: echo "HEAPSIZE 12288" > %t.def # RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj # RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s +# RUN: echo "HEAPSIZE 0x3000" > %t.def +# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj +# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s CHECK1: SizeOfHeapReserve: 12288 CHECK1: SizeOfHeapCommit: 4096 @@ -20,6 +23,9 @@ CHECK1: SizeOfHeapCommit: 4096 # RUN: echo "HEAPSIZE 20480,12288" > %t.def # RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj # RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s +# RUN: echo "HEAPSIZE 0x5000,0x3000" > %t.def +# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj +# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s CHECK2: SizeOfHeapReserve: 20480 CHECK2: SizeOfHeapCommit: 12288 diff --git a/lld/test/COFF/stack.test b/lld/test/COFF/stack.test index ad31ca943446..0523200e25f6 100644 --- a/lld/test/COFF/stack.test +++ b/lld/test/COFF/stack.test @@ -11,6 +11,9 @@ DEFAULT: SizeOfStackCommit: 4096 # RUN: echo "STACKSIZE 12288" > %t.def # RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj # RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s +# RUN: echo "STACKSIZE 0x3000" > %t.def +# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj +# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s CHECK1: SizeOfStackReserve: 12288 CHECK1: SizeOfStackCommit: 4096 @@ -20,6 +23,9 @@ CHECK1: SizeOfStackCommit: 4096 # RUN: echo "STACKSIZE 20480,12288" > %t.def # RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj # RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s +# RUN: echo "STACKSIZE 0x5000,0x3000" > %t.def +# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj +# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s CHECK2: SizeOfStackReserve: 20480 CHECK2: SizeOfStackCommit: 12288 diff --git a/llvm/lib/Object/COFFModuleDefinition.cpp b/llvm/lib/Object/COFFModuleDefinition.cpp index 67b0dc4fa297..f722191da388 100644 --- a/llvm/lib/Object/COFFModuleDefinition.cpp +++ b/llvm/lib/Object/COFFModuleDefinition.cpp @@ -164,7 +164,7 @@ private: Error readAsInt(uint64_t *I) { read(); - if (Tok.K != Identifier || Tok.Value.getAsInteger(10, *I)) + if (Tok.K != Identifier || Tok.Value.getAsInteger(0, *I)) return createError("integer expected"); return Error::success(); }