This is the final part of adding vxworks tls support. The vxworks dynamic loader has builtin knowledge of the structure of the .tls_vars section, and expects it to be statically relocated. If active dynamic relocations remain for that section, things go badly wrong. Fortunately for each architecture there is only one reloc type that is valid in the .tls_vars sections (a 32 or 64 bit absolute reloc pointing to the contents of the .tls_data section). This patch changes each backend's relocate_section routine to detect when we're generating a shared vxworks object and processing a .tls_vars input section. In that case we process the expected relocations statically and nullify the dynamic relocation by turning it into a NOP reloc. We have to detect the .tls_vars section by name, there are no particular section flags to detect it (vxworks TLS is not like regular TLS). Nullifying the dynamic reloc seemed the simplest approach to take, rather than change the size of the dynamic reloc section. ok? In case I've not mentioned it, gcc vxwork TLS support is waiting on GCC to go back to stage 1 after 4.3 branches. nathan -- Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery