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: no
Last-Updated: 2018-02-24
This commit is contained in:
Thomas Preud'homme 2018-02-24 15:50:14 +00:00
parent 3e6515b64f
commit 776aa0c093

View File

@ -873,6 +873,7 @@ static int prepare_dynamic_rel(TCCState *s1, Section *sr)
sym_index = ELFW(R_SYM)(rel->r_info); sym_index = ELFW(R_SYM)(rel->r_info);
type = ELFW(R_TYPE)(rel->r_info); type = ELFW(R_TYPE)(rel->r_info);
switch(type) { switch(type) {
#if defined(TCC_TARGET_I386) || defined(TCC_TARGET_X86_64)
#if defined(TCC_TARGET_I386) #if defined(TCC_TARGET_I386)
case R_386_32: case R_386_32:
if (!get_sym_attr(s1, sym_index, 0)->dyn_index 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) if (get_sym_attr(s1, sym_index, 0)->dyn_index)
count++; count++;
break; break;
#endif
default: default:
break; break;
} }