* configure.ac (m68k-*-*): Check if binutils support TLS. * configure: Regenerate. * config/m68k/predicates.md (symbolic_operand): Extend comment. * config/m68k/constraints.md (Cu): New constraint. * config/m68k/m68k.md (UNSPEC_GOTOFF): Remove. (UNSPEC_RELOC16, UNSPEC_RELOC32): New constants. (movsi): Handle TLS symbols. (addsi3_5200): Handle XTLS symbols, indent. * config/m68k/m68k-protos.h (m68k_legitimize_tls_address): Declare. (m68k_tls_reference_p): Declare. (m68k_legitimize_address): Declare. (m68k_unwrap_symbol): Declare. * config/m68k/m68k.opt (mxtls): New option. * config/m68k/m68k.c (ggc.h): Include. (m68k_output_dwarf_dtprel): Implement hook. (TARGET_HAVE_TLS, TARGET_ASM_OUTPUT_DWARF_DTPREL): Define. (m68k_expand_prologue): Load GOT pointer when function needs it. (m68k_illegitimate_symbolic_constant_p): Handle TLS symbols. (m68k_legitimate_constant_address_p): Same. (m68k_decompose_address): Handle TLS references. (m68k_get_gp): New static function. (enum m68k_reloc): New contants. (TLS_RELOC_P): New macro. (m68k_wrap_symbol): New static function. (m68k_unwrap_symbol): New function. (m68k_final_prescan_insn_1): New static function. (m68k_final_prescan_insn): New function. (m68k_move_to_reg, m68k_wrap_symbol_into_got_ref): New static functions. (legitimize_pic_address): Handle TLS references.. (m68k_tls_get_addr, m68k_get_tls_get_addr) (m68k_libcall_value_in_a0_p) (m68k_call_tls_get_addr, m68k_read_tp, m68k_get_m68k_read_tp) (m68k_call_m68k_read_tp): Helper variables and functions for ... (m68k_legitimize_tls_address): Handle TLS references. (m68k_tls_symbol_p, m68k_tls_reference_p_1, m68k_tls_reference_p): New functions. (m68k_legitimize_address): Handle TLS symbols. (m68k_get_reloc_decoration): New static function. (m68k_output_addr_const_extra): Handle UNSPEC_RELOC16 and UNSPEC_RELOC32. (m68k_output_dwarf_dtprel): Implement hook. (print_operand_address): Handle UNSPEC_RELOC16 adn UNSPEC_RELOC32. (m68k_libcall_value): Return result in A0 instead of D0 when asked by m68k_call_* routines. (sched_attr_op_type): Handle TLS symbols. (gt-m68k.h): Include. * config/m68k/m68k.h (FINAL_PRESCAN_INSN): Define. (LEGITIMATE_PIC_OPERAND_P): Support TLS. * gcc.target/m68k/tls-ie.c: New test. * gcc.target/m68k/tls-le.c: New test. * gcc.target/m68k/tls-gd.c: New test. * gcc.target/m68k/tls-ld.c: New test. * gcc.target/m68k/tls-ie-xgot.c: New test. * gcc.target/m68k/tls-le-xtls.c: New test. * gcc.target/m68k/tls-gd-xgot.c: New test. * gcc.target/m68k/tls-ld-xgot.c: New test. * gcc.target/m68k/tls-ld-xtls.c: New test. * gcc.target/m68k/tls-ld-xgot-xtls.c: New test. From-SVN: r147654
| Name |
Last commit
|
Last update |
|---|---|---|
| INSTALL | Loading commit data... | |
| boehm-gc | Loading commit data... | |
| config | Loading commit data... | |
| contrib | Loading commit data... | |
| fixincludes | Loading commit data... | |
| gcc | Loading commit data... | |
| gnattools | Loading commit data... | |
| include | Loading commit data... | |
| intl | Loading commit data... | |
| libada | Loading commit data... | |
| libcpp | Loading commit data... | |
| libdecnumber | Loading commit data... | |
| libffi | Loading commit data... | |
| libgcc | Loading commit data... | |
| libgfortran | Loading commit data... | |
| libgomp | Loading commit data... | |
| libiberty | Loading commit data... | |
| libjava | Loading commit data... | |
| libmudflap | Loading commit data... | |
| libobjc | Loading commit data... | |
| libssp | Loading commit data... | |
| libstdc++-v3 | Loading commit data... | |
| maintainer-scripts | Loading commit data... | |
| zlib | Loading commit data... | |
| ABOUT-NLS | Loading commit data... | |
| COPYING | Loading commit data... | |
| COPYING.LIB | Loading commit data... | |
| COPYING.RUNTIME | Loading commit data... | |
| COPYING3 | Loading commit data... | |
| COPYING3.LIB | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog.tree-ssa | Loading commit data... | |
| MAINTAINERS | Loading commit data... | |
| Makefile.def | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| Makefile.tpl | Loading commit data... | |
| README | Loading commit data... | |
| compile | Loading commit data... | |
| config-ml.in | Loading commit data... | |
| config.guess | Loading commit data... | |
| config.rpath | Loading commit data... | |
| config.sub | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| depcomp | Loading commit data... | |
| install-sh | Loading commit data... | |
| libtool-ldflags | Loading commit data... | |
| libtool.m4 | Loading commit data... | |
| ltgcc.m4 | Loading commit data... | |
| ltmain.sh | Loading commit data... | |
| ltoptions.m4 | Loading commit data... | |
| ltsugar.m4 | Loading commit data... | |
| ltversion.m4 | Loading commit data... | |
| lt~obsolete.m4 | Loading commit data... | |
| missing | Loading commit data... | |
| mkdep | Loading commit data... | |
| mkinstalldirs | Loading commit data... | |
| move-if-change | Loading commit data... | |
| symlink-tree | Loading commit data... | |
| ylwrap | Loading commit data... |