diff options
Diffstat (limited to 'toolchain/binutils/patches/nds32-binutils-2.30-branch-open/fls-internal.patch')
-rw-r--r-- | toolchain/binutils/patches/nds32-binutils-2.30-branch-open/fls-internal.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/toolchain/binutils/patches/nds32-binutils-2.30-branch-open/fls-internal.patch b/toolchain/binutils/patches/nds32-binutils-2.30-branch-open/fls-internal.patch new file mode 100644 index 000000000..33c78ac36 --- /dev/null +++ b/toolchain/binutils/patches/nds32-binutils-2.30-branch-open/fls-internal.patch @@ -0,0 +1,29 @@ +diff -Nur binutils-nds32-binutils-2.30-branch-open.orig/bfd/elf32-nds32.c binutils-nds32-binutils-2.30-branch-open/bfd/elf32-nds32.c +--- binutils-nds32-binutils-2.30-branch-open.orig/bfd/elf32-nds32.c 2018-05-10 22:01:57.000000000 +0200 ++++ binutils-nds32-binutils-2.30-branch-open/bfd/elf32-nds32.c 2018-05-12 09:01:10.000000000 +0200 +@@ -5286,7 +5286,7 @@ + } + + static unsigned int +-fls (register unsigned int x) ++fls_internal (register unsigned int x) + { + return ffs (x & (-x)); + } +@@ -6189,14 +6189,14 @@ + + if (1 < ones32 (tls_type)) + { +- eff_tls_type = 1 << (fls (tls_type) - 1); ++ eff_tls_type = 1 << (fls_internal (tls_type) - 1); + /* TLS model shall be handled in nds32_elf_unify_tls_model () */ + + /* TLS model X -> LE is not implement yet! + * workaround here! */ + if (eff_tls_type == GOT_TLS_LE) + { +- eff_tls_type = 1 << (fls (tls_type ^ eff_tls_type) - 1); ++ eff_tls_type = 1 << (fls_internal (tls_type ^ eff_tls_type) - 1); + } + } + |