This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [4.5][PATCH][M68K] GCC support for TLS
- From: Andreas Schwab <schwab at suse dot de>
- To: Maxim Kuvyrkov <maxim at codesourcery dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Jeff Law <law at redhat dot com>
- Date: Sun, 25 Jan 2009 23:18:54 +0100
- Subject: Re: [4.5][PATCH][M68K] GCC support for TLS
- References: <497B4C2E.5070801@codesourcery.com>
There is a problem with emitting @TLS decoration in the assembler
output: the decoration is emitted before the addend, which the assembler
can't parse. The normal way for @GOT decoration is to emit the addend
before it. If you try building libgomp with tls forced to be enabled
you get assembler errors when compiling team.c:
/tmp/ccJozhax.s: Assembler messages:
/tmp/ccJozhax.s:108: Error: syntax error -- statement `pea gomp_tls_data@TLSLE+40(%a0)' ignored
/tmp/ccJozhax.s:183: Error: syntax error -- statement `move.l gomp_tls_data@TLSLE+56(%a0),%a3' ignored
/tmp/ccJozhax.s:252: Error: syntax error -- statement `clr.l gomp_tls_data@TLSLE+56(%a0)' ignored
/tmp/ccJozhax.s:257: Error: syntax error -- statement `move.l gomp_tls_data@TLSLE+36(%a0),%a2' ignored
/tmp/ccJozhax.s:729: Error: syntax error -- statement `move.l gomp_tls_data@TLSLE+36(%a0),%d4' ignored
/tmp/ccJozhax.s:826: Error: syntax error -- statement `move.l gomp_tls_data@TLSLE+28(%a0),28(%a2)' ignored
/tmp/ccJozhax.s:920: Error: syntax error -- statement `move.l gomp_tls_data@TLSLE+28(%a0),28(%a2)' ignored
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."