I don't currently have a testcase, but based on my (admittedly limited) inspection of the linker source, it doesn't seem to be the case that the entry in the symbol table contains the thumb bit.
A number of relocation types handled in the function elf32_arm_final_link_relocate() contain logic such as:
if (branch_type == ST_BRANCH_TO_THUMB)
value |= 1;
I don't see why this would be necessary if the symbol table already contained the thumb bit in the correct state.
I don't currently have a testcase, but based on my (admittedly limited) inspection of the linker source, it doesn't seem to be the case that the entry in the symbol table contains the thumb bit.
A number of relocation types handled in the function elf32_arm_ final_link_ relocate( ) contain logic such as:
if (branch_type == ST_BRANCH_TO_THUMB)
value |= 1;
I don't see why this would be necessary if the symbol table already contained the thumb bit in the correct state.