summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2018-02-24 15:50:14 +0000
committerThomas Preud'homme <robotux@debian.org>2018-02-28 21:03:17 +0000
commit6d1e53e519fb2013745907ec6604909c45d50b0d (patch)
tree1a6de759581d0c3d1194e6c502bd68a3b310636e
parentf7db8f405bd2080dbc84f65c7d4cd4d48fd06ce6 (diff)
Prevent dead code on !x86 in prepare_dynamic_rel
In prepare_dynamic_rel() on non x86 targets the count++ statements appear before any case label and are therefore dead code. This triggers build failure when building with -Werror. This patch adds an extra guard around all the x86 case labels and their associated action, leaving just the default case label for non x86 targets which builds fine. Origin: vendor Forwarded: http://repo.or.cz/tinycc.git/commit/776aa0c093cc6083cbb61d0db8e303209b21bbad Applied-Upstream: commit:776aa0c093cc6083cbb61d0db8e303209b21bbad Last-Updated: 2018-02-24 Gbp-Pq: Name 0003-Prevent-dead-code-on-x86-in-prepare_dynamic_rel.patch
-rw-r--r--tccelf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tccelf.c b/tccelf.c
index 70d47e1..be540d5 100644
--- a/tccelf.c
+++ b/tccelf.c
@@ -873,6 +873,7 @@ static int prepare_dynamic_rel(TCCState *s1, Section *sr)
sym_index = ELFW(R_SYM)(rel->r_info);
type = ELFW(R_TYPE)(rel->r_info);
switch(type) {
+#if defined(TCC_TARGET_I386) || defined(TCC_TARGET_X86_64)
#if defined(TCC_TARGET_I386)
case R_386_32:
if (!get_sym_attr(s1, sym_index, 0)->dyn_index
@@ -896,6 +897,7 @@ static int prepare_dynamic_rel(TCCState *s1, Section *sr)
if (get_sym_attr(s1, sym_index, 0)->dyn_index)
count++;
break;
+#endif
default:
break;
}