Skip to content

macOS: incorrect SDK version returned in build_version #577

@fanquake

Description

@fanquake

Describe the bug
The macOS SDK version in the build_version info is incorrect when accessed directly (binary.build_version.sdk). However if you just print binary.build_version, it is correct.

To Reproduce

echo "int main() { return 0; }" > test.cpp
clang++ test.cpp

The -platform_version args passed to the linker are -platform_version macos 11.0.0 11.3.

import lief

binary = lief.parse("a.out")

if binary.has_build_version:
    print(binary.build_version)
    print(binary.build_version.minos)
    print(binary.build_version.sdk)
python test.py

Command : BUILD_VERSION
Offset  : 268
Size    : 20
Platform: MACOS
  Min OS: 11.0.0
     SDK: 11.3.0
  LD - 650.9.0


[11, 0, 0]
[11, 0, 0] # should be [11, 3, 0]

Environment

  • macOS 11.3.1
  • Mach-O
  • LIEF commit version: 0.11.4-dd13711
  • Clang: Apple clang version 12.0.5 (clang-1205.0.22.9)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions