[PATCH] ldso: Fix compilation for x86_64 without TLS support.

Carmelo AMOROSO carmelo.amoroso at st.com
Tue Sep 7 08:22:25 UTC 2010


Applied, thanks.

Carmelo

-----Original Message-----
From: uclibc-bounces at uclibc.org [mailto:uclibc-bounces at uclibc.org] On Behalf Of Will Newton
Sent: Monday, September 06, 2010 5:02 PM
To: uClibc
Subject: [PATCH] ldso: Fix compilation for x86_64 without TLS support.

Add an #ifdef to avoid using TLS structures when TLS is not enabled.

Signed-off-by: Will Newton <will.newton at imgtec.com>
---
 ldso/ldso/x86_64/elfinterp.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/ldso/ldso/x86_64/elfinterp.c b/ldso/ldso/x86_64/elfinterp.c index baf024d..fce2ec7 100644
--- a/ldso/ldso/x86_64/elfinterp.c
+++ b/ldso/ldso/x86_64/elfinterp.c
@@ -220,6 +220,7 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
                        *reloc_addr = map->l_addr + rpnt->r_addend;
                        break;
                */
+#if defined USE_TLS && USE_TLS
                case R_X86_64_DTPMOD64:
                        *reloc_addr = tls_tpnt->l_tls_modid;
                        break;
@@ -236,6 +237,7 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
                        CHECK_STATIC_TLS ((struct link_map *) tls_tpnt);
                        *reloc_addr = symbol_addr - tls_tpnt->l_tls_offset + rpnt->r_addend;
                        break;
+#endif
                case R_X86_64_32:
                        *(unsigned int *) reloc_addr = symbol_addr +
rpnt->r_addend;
                        /* XXX: should check for overflow eh ? */
--
1.7.2.2


More information about the uClibc mailing list