I've noticed that when we have all regular flags set, we print "WAEXMSILoGTx"
instead of "WAXMSILOGTCE" printed by GNU readelf.
It happens because:
- We print SHF_EXCLUDE at the wrong place.
- We do not recognize SHF_COMPRESSED, we print "x" instead of "C".
- We print "o" instead of "O" for SHF_OS_NONCONFORMING.
This patch fixes differences and adds test cases.
Nit: (0x100)