summaryrefslogtreecommitdiff
path: root/elfcopy/segments.c
diff options
context:
space:
mode:
Diffstat (limited to 'elfcopy/segments.c')
-rw-r--r--elfcopy/segments.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/elfcopy/segments.c b/elfcopy/segments.c
index 9a26bba88cfc..9030248f8d85 100644
--- a/elfcopy/segments.c
+++ b/elfcopy/segments.c
@@ -34,7 +34,7 @@
#include "elfcopy.h"
-ELFTC_VCSID("$Id: segments.c 3449 2016-05-03 13:59:29Z emaste $");
+ELFTC_VCSID("$Id: segments.c 3615 2018-05-17 04:12:24Z kaiwang27 $");
static void insert_to_inseg_list(struct segment *seg, struct section *sec);
@@ -79,6 +79,8 @@ add_to_inseg_list(struct elfcopy *ecp, struct section *s)
continue;
if (s->vma + s->sz > seg->vaddr + seg->msz)
continue;
+ if (seg->type == PT_TLS && ((s->flags & SHF_TLS) == 0))
+ continue;
insert_to_inseg_list(seg, s);
if (seg->type == PT_LOAD)