aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql
diff options
context:
space:
mode:
authorqmuntal <quimmuntal@gmail.com>2023-03-13 14:34:38 +0100
committerQuim Muntal <quimmuntal@gmail.com>2023-03-14 10:02:09 +0000
commitb37c0602cdc9b7f13b3d539663e68b12f10b44b1 (patch)
treee000dd930d904302ad03387ec0695776f2313cea /src/database/sql
parenta54fe8a270aef105dc5fbdca4eb90227587361e9 (diff)
downloadgo-b37c0602cdc9b7f13b3d539663e68b12f10b44b1.tar.xz
cmd/link: store COFF symbol complex type in the LSB instead of the MSB
Microsoft's PE documentation is contradictory. It says that the symbol's complex type [1] is stored in the pesym.Type most significant byte (MSB), but MSVC, LLVM, and mingw store it in the 4 high bits of the less significant byte (LSB). dumpbin understands both encoding. Previous to CL 475355 the Go compiler mixed MSB and LSB encoding. CL 475355 updated to compiler to use the MSB, but this causes problems with mingw, which emits a warning when MSB is used. For reference, LLVM also hit this issue long time ago: https://github.com/llvm/llvm-project/issues/8692 [1] https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#type-representation Change-Id: I7e750bde9c20e2c4c1c023203d7abd6fb26d9d30 Reviewed-on: https://go-review.googlesource.com/c/go/+/475855 Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Quim Muntal <quimmuntal@gmail.com> Reviewed-by: Than McIntosh <thanm@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/database/sql')
0 files changed, 0 insertions, 0 deletions