As described this is the main implementaion patch. 2015-08-26 Jiong Wang gcc/ * configure.ac: Add check for binutils global dynamic tiny code model relocation support. * configure: Regenerate. * config.in: Regenerate. * config/aarch64/aarch64.md (tlsgd_tiny): New define_insn. * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New enumeration SYMBOL_TINY_TLSGD. (aarch64_symbol_context): New comment on SYMBOL_TINY_TLSGD. * config/aarch64/aarch64.c (aarch64_classify_tls_symbol): Support SYMBOL_TINY_TLSGD. (aarch64_print_operand): Likewise. (aarch64_expand_mov_immediate): Likewise. (aarch64_load_symref_appropriately): Likewise. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_aarch64_tlsgdtiny): New effective check. * gcc.target/aarch64/tlsgd_small_1.c: New testcase. * gcc.target/aarch64/tlsgd_tiny_1.c: Likewise. -- Regards, Jiong