diff options
author | Chris Bieneman <chris.bieneman@me.com> | 2018-06-01 22:52:59 +0000 |
---|---|---|
committer | Chris Bieneman <chris.bieneman@me.com> | 2018-06-01 22:52:59 +0000 |
commit | 44e272d440c0890060e0a3801872252ca3cb8cf7 (patch) | |
tree | 5d97b3417c37797082b7daadf9418a13eb6d9fd1 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 157af1ad74da84a06055d108d8d0b5e84904c6a4 (diff) | |
download | bcm5719-llvm-44e272d440c0890060e0a3801872252ca3cb8cf7.tar.gz bcm5719-llvm-44e272d440c0890060e0a3801872252ca3cb8cf7.zip |
Re-land: [MachO] Fixing ub in MachO BinaryFormat
This re-lands r333797 with a fix for big endian systems.
Original commit message:
This isn't encountered anywhere inside LLVM, so I wrote a test case to expose the issue and verify that it is fixed.
The basic problem is that the macho_load_command union contains all load comamnd structs. Load command structs in 32-bit macho files can be 32-bit aligned instead of 64-bit aligned.
There are some strange circumstances in which this can be exposed in a 64-bit macho if the load commands are invalid or if a 32-bit aligned load command is used. In the past we've worked around this type of problem with changes like r264232.
llvm-svn: 333803
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions