diff options
author | Chris Bieneman <chris.bieneman@me.com> | 2018-06-03 20:33:42 +0000 |
---|---|---|
committer | Chris Bieneman <chris.bieneman@me.com> | 2018-06-03 20:33:42 +0000 |
commit | 00d8c1abf0aeeb29b4f0ced7a41ecfdc729154dd (patch) | |
tree | 291d0f051592cc3dde8c7a651d2c452d667d1c32 /llvm/unittests/Demangle | |
parent | 6fb26f93ef77771b44341928c63e879c0e6e6f1c (diff) | |
download | bcm5719-llvm-00d8c1abf0aeeb29b4f0ced7a41ecfdc729154dd.tar.gz bcm5719-llvm-00d8c1abf0aeeb29b4f0ced7a41ecfdc729154dd.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: 333854
Diffstat (limited to 'llvm/unittests/Demangle')
0 files changed, 0 insertions, 0 deletions