[all-commits] [llvm/llvm-project] e9657a: COFF: Allow hex literals in .def files: BASE/HEAPS...

Will via All-commits all-commits at lists.llvm.org
Thu Mar 5 08:02:21 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e9657a12b2e85bec018633df7604b6328e717ec7
      https://github.com/llvm/llvm-project/commit/e9657a12b2e85bec018633df7604b6328e717ec7
  Author: Will <will at mon.im>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M lld/test/COFF/base.test
    M lld/test/COFF/heap.test
    M lld/test/COFF/stack.test
    M llvm/lib/Object/COFFModuleDefinition.cpp

  Log Message:
  -----------
  COFF: Allow hex literals in .def files: BASE/HEAPSIZE/STACKSIZE (#184764)

For a Win32 DLL, a .def file can have a custom executable base:
```
LIBRARY "stub.dll" BASE=0x10000000
```

Currently the parser enforces Base 10, but [Microsoft's
documentation](https://learn.microsoft.com/en-us/cpp/build/reference/rules-for-module-definition-statements?view=msvc-170)
states "Numeric arguments are specified in base 10 or hexadecimal".

This fixes that, and also HEAPSIZE and STACKSIZE (which use the same
function).

There are a few more instances of `getAsInteger` that expect base10 -
for ordinals and the VERSION directive. Since I don't have an
in-the-wild example of a .def file using hexadecimal for these, I am
wary about changing those too.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list