DWARF->CTF enum conversion needs to be careful of sign
Equivalent of https://smartos.org/bugview/OS-7279 but for the old tools
Previously, our enumeration conversion simply used ctf_dwarf_signed(DW_AT_const_value. However, with newer GCC versions, this will produce - for example - -32768 when the real enum value is 32768.
Instead, we should check ctf_dwarf_unsigned() first - this fails for negative-valued enums, so we will end up with the right value whether it's positive or negative.