Support HEX_32 when building shared objects.
The following code:
int foo = 10; int *b = &foo;
will create a R_HEX_32 relocation and currently will produce the following error:
"ld.lld: error: relocation R_HEX_32 cannot be used against symbol var; recompile with -fPIC"
Hexagon didn't support this when building shared objects. This patch adds the feature and updates the testcase.