With this patch (and a corresponding LLVM patch), assembling an empty file with
GCC and Clang -fintegrated-as produce near identical objects. The remaining
differences are:
- GCC/GAS produce objects have a .pdr section
- GCC/GAS produce objects have a .gnu.attributes section
Other differences are insignificant such as precise file offsets and the order
of strings in the string table.
Why do we need to turn off o32 and n64 features here? Why do we switch off only these features and and do not handle n32 and eabi the same way?