1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-03 13:49:49 +00:00

elfutils: clean up patches

In the upgrade a large number of Upstream-Status tags were dropped, so add them
back.  I'm taking the stand that copying a patch Debian is carrying doesn't
count as a backport.

Remove two Debian-specific patches (one for Hurd, one for kfreebsd) so
we're not carrying useless patches.

Remove two patches that are no longer applied.

(From OE-Core rev: b039b26958655aab496b588f4e41a5dea1bfaac1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2018-07-04 10:15:12 +01:00
committed by Richard Purdie
parent 3232070931
commit 740b931d39
17 changed files with 20 additions and 865 deletions
@@ -21,11 +21,9 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://debian/0001-mips_backend.patch \
file://debian/0001-testsuite-ignore-elflint.patch \
file://debian/0001-mips_readelf_w.patch \
file://debian/kfreebsd_path.patch \
file://debian/0001-Ignore-differences-between-mips-machine-identifiers.patch \
file://debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \
file://debian/0003-Add-mips-n64-relocation-format-hack.patch \
file://debian/hurd_path.patch \
file://debian/ignore_strmerge.diff \
file://debian/0001-fix-gcc7-ftbfs.patch \
file://debian/0001-disable_werror.patch \
@@ -1,34 +0,0 @@
From 732913a8c35c7b25c0cbf6903cab1ad6b602b525 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 22 Mar 2018 22:44:03 -0700
Subject: [PATCH] Ensure that packed structs follow the gcc memory layout
Partial backport of
https://sourceware.org/git/?p=elfutils.git;a=commit;h=17d7194d291bf91d130b78e06cbe27b290e0376d
Helps fixing alignment errors e.g.
linux-core-note.c:116:1: error: alignment 2 of 'struct m68k_prstatus
' is less than 4 [-Werror=packed-not-aligned]
;
^
Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=17d7194d291bf91d130b78e06cbe27b290e0376d]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
backends/linux-core-note.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backends/linux-core-note.c b/backends/linux-core-note.c
index 5f06c896..9faae4c3 100644
--- a/backends/linux-core-note.c
+++ b/backends/linux-core-note.c
@@ -111,7 +111,7 @@ struct EBLHOOK(prstatus)
FIELD (INT, pr_fpvalid);
}
#ifdef ALIGN_PRSTATUS
- __attribute__ ((packed, aligned (ALIGN_PRSTATUS)))
+ attribute_packed __attribute__ ((aligned (ALIGN_PRSTATUS)))
#endif
;
@@ -1,791 +0,0 @@
From 5cb883f67d00a63531ef195c242763d36b1905ca Mon Sep 17 00:00:00 2001
From: Joshua Watt <Joshua.Watt@garmin.com>
Date: Fri, 9 Feb 2018 12:46:38 -0600
Subject: [PATCH] Use fallthrough attribute
Use __attribute__ ((fallthrough)) to indicate switch case fall through
instead of a comment. This ensure that the fallthrough warning is not
triggered even if the file is pre-processed (hence stripping the
comments) before it is compiled.
The actual fallback implementation is hidden behind a FALLBACK macro in
case the compiler doesn't support it.
Finally, the -Wimplict-fallthrough warning was upgraded to only allow
the attribute to satisfy it; a comment alone is no longer sufficient.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Upstream-Status: Submitted [1]
[1] https://sourceware.org/ml/elfutils-devel/2018-q1/msg00027.html
---
backends/aarch64_retval.c | 2 +-
backends/alpha_retval.c | 4 ++--
backends/arm_regs.c | 2 +-
backends/arm_retval.c | 2 +-
backends/i386_regs.c | 2 +-
backends/i386_retval.c | 4 ++--
backends/ia64_retval.c | 2 +-
backends/linux-core-note.c | 2 +-
backends/m68k_retval.c | 4 ++--
backends/mips_retval.c | 4 ++--
backends/parisc_retval.c | 5 +++--
backends/ppc64_retval.c | 6 +++---
backends/ppc_regs.c | 2 +-
backends/ppc_retval.c | 4 ++--
backends/s390_retval.c | 4 ++--
backends/sh_retval.c | 2 +-
backends/sparc_retval.c | 2 +-
backends/tilegx_retval.c | 4 ++--
backends/x86_64_regs.c | 2 +-
backends/x86_64_retval.c | 2 +-
config/eu.am | 4 +++-
configure.ac | 6 ++++++
lib/eu-config.h | 7 +++++++
libcpu/i386_disasm.c | 2 +-
libcpu/i386_parse.c | 4 ++--
libdw/cfi.c | 4 ++--
libdw/dwarf_frame_register.c | 2 +-
libdwfl/dwfl_report_elf.c | 2 +-
libdwfl/frame_unwind.c | 2 +-
libebl/eblobjnote.c | 2 +-
libelf/elf32_updatenull.c | 2 +-
libelf/elf_begin.c | 4 ++--
libelf/elf_cntl.c | 2 +-
src/addr2line.c | 2 +-
src/elfcompress.c | 2 +-
src/elflint.c | 8 ++++----
src/objdump.c | 2 +-
src/readelf.c | 8 ++++----
src/strings.c | 2 +-
tests/backtrace.c | 2 +-
tests/elfstrmerge.c | 3 ++-
41 files changed, 75 insertions(+), 58 deletions(-)
diff --git a/backends/aarch64_retval.c b/backends/aarch64_retval.c
index 68de307..1308340 100644
--- a/backends/aarch64_retval.c
+++ b/backends/aarch64_retval.c
@@ -292,7 +292,7 @@ aarch64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
assert (count > 0);
if (count <= 4)
return pass_hfa (locp, base_size, count);
- /* Fall through. */
+ FALLTHROUGH;
case 1:
/* Not a HFA. */
diff --git a/backends/alpha_retval.c b/backends/alpha_retval.c
index 53dbfa4..d9bae3b 100644
--- a/backends/alpha_retval.c
+++ b/backends/alpha_retval.c
@@ -85,7 +85,7 @@ alpha_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -131,7 +131,7 @@ alpha_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
}
}
- /* Else fall through. */
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
diff --git a/backends/arm_regs.c b/backends/arm_regs.c
index 4ee1039..418c931 100644
--- a/backends/arm_regs.c
+++ b/backends/arm_regs.c
@@ -81,7 +81,7 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
* but gcc maps FPA registers here
*/
regno += 96 - 16;
- /* Fall through. */
+ FALLTHROUGH;
case 96 + 0 ... 96 + 7:
*setname = "FPA";
*type = DW_ATE_float;
diff --git a/backends/arm_retval.c b/backends/arm_retval.c
index 8687eab..313e4eb 100644
--- a/backends/arm_retval.c
+++ b/backends/arm_retval.c
@@ -90,7 +90,7 @@ arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp,
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
diff --git a/backends/i386_regs.c b/backends/i386_regs.c
index fd963a6..7ec93bb 100644
--- a/backends/i386_regs.c
+++ b/backends/i386_regs.c
@@ -92,7 +92,7 @@ i386_register_info (Ebl *ebl __attribute__ ((unused)),
case 5:
case 8:
*type = DW_ATE_address;
- /* Fallthrough */
+ FALLTHROUGH;
case 0 ... 3:
case 6 ... 7:
name[0] = 'e';
diff --git a/backends/i386_retval.c b/backends/i386_retval.c
index 4aa646f..32fec72 100644
--- a/backends/i386_retval.c
+++ b/backends/i386_retval.c
@@ -85,7 +85,7 @@ i386_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -123,7 +123,7 @@ i386_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
if (size <= 8)
return nloc_intregpair;
}
- /* Fallthrough */
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
diff --git a/backends/ia64_retval.c b/backends/ia64_retval.c
index dcd5f28..03ea4d8 100644
--- a/backends/ia64_retval.c
+++ b/backends/ia64_retval.c
@@ -260,7 +260,7 @@ ia64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
diff --git a/backends/linux-core-note.c b/backends/linux-core-note.c
index 67638d7..5f06c89 100644
--- a/backends/linux-core-note.c
+++ b/backends/linux-core-note.c
@@ -226,7 +226,7 @@ EBLHOOK(core_note) (const GElf_Nhdr *nhdr, const char *name,
if (memcmp (name, "CORE", nhdr->n_namesz) == 0)
break;
/* Buggy old Linux kernels didn't terminate "LINUX". */
- /* Fall through. */
+ FALLTHROUGH;
case sizeof "LINUX":
if (memcmp (name, "LINUX", nhdr->n_namesz) == 0)
diff --git a/backends/m68k_retval.c b/backends/m68k_retval.c
index c68ed02..a653ba3 100644
--- a/backends/m68k_retval.c
+++ b/backends/m68k_retval.c
@@ -92,7 +92,7 @@ m68k_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -135,7 +135,7 @@ m68k_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
if (size <= 8)
return nloc_intregpair;
}
- /* Fallthrough */
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
case DW_TAG_union_type:
diff --git a/backends/mips_retval.c b/backends/mips_retval.c
index 57487bb..c6e1ffe 100644
--- a/backends/mips_retval.c
+++ b/backends/mips_retval.c
@@ -306,7 +306,7 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = dwarf_tag (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -389,7 +389,7 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
}
}
- /* Fallthrough to handle large types */
+ FALLTHROUGH; /* Fallthrough to handle large types */
case DW_TAG_array_type:
large:
diff --git a/backends/parisc_retval.c b/backends/parisc_retval.c
index df7ec3a..1f1e91a 100644
--- a/backends/parisc_retval.c
+++ b/backends/parisc_retval.c
@@ -116,7 +116,7 @@ parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, in
typedie = dwarf_formref_die (attr, &die_mem);
tag = dwarf_tag (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -167,6 +167,7 @@ parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, in
/* Else fall through. */
}
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
@@ -189,7 +190,7 @@ parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, in
*locp = loc_aggregate;
return nloc_aggregate;
#endif
- /* fall through. */
+ FALLTHROUGH;
}
}
diff --git a/backends/ppc64_retval.c b/backends/ppc64_retval.c
index a251983..eb1c11e 100644
--- a/backends/ppc64_retval.c
+++ b/backends/ppc64_retval.c
@@ -96,7 +96,7 @@ ppc64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -141,7 +141,7 @@ ppc64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
return nloc_intreg;
}
- /* Else fall through. */
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
case DW_TAG_union_type:
@@ -161,7 +161,7 @@ ppc64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
return nloc_vmxreg;
}
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_string_type:
if (dwarf_aggregate_size (typedie, &size) == 0 && size <= 8)
diff --git a/backends/ppc_regs.c b/backends/ppc_regs.c
index c2d5011..43d2534 100644
--- a/backends/ppc_regs.c
+++ b/backends/ppc_regs.c
@@ -140,7 +140,7 @@ ppc_register_info (Ebl *ebl __attribute__ ((unused)),
case 100:
if (*bits == 32)
return stpcpy (name, "mq") + 1 - name;
- /* Fallthrough */
+ FALLTHROUGH;
case 102 ... 107:
name[0] = 's';
name[1] = 'p';
diff --git a/backends/ppc_retval.c b/backends/ppc_retval.c
index b14a99f..39b42da 100644
--- a/backends/ppc_retval.c
+++ b/backends/ppc_retval.c
@@ -108,7 +108,7 @@ ppc_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -172,7 +172,7 @@ ppc_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
return nloc_intregquad;
}
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
diff --git a/backends/s390_retval.c b/backends/s390_retval.c
index a927d46..2043f98 100644
--- a/backends/s390_retval.c
+++ b/backends/s390_retval.c
@@ -87,7 +87,7 @@ s390_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -127,7 +127,7 @@ s390_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
return size <= asize ? nloc_intreg : nloc_intregpair;
}
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
diff --git a/backends/sh_retval.c b/backends/sh_retval.c
index d44f260..33d7d96 100644
--- a/backends/sh_retval.c
+++ b/backends/sh_retval.c
@@ -84,7 +84,7 @@ sh_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
diff --git a/backends/sparc_retval.c b/backends/sparc_retval.c
index e1b1775..fb81cdc 100644
--- a/backends/sparc_retval.c
+++ b/backends/sparc_retval.c
@@ -91,7 +91,7 @@ sparc_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
diff --git a/backends/tilegx_retval.c b/backends/tilegx_retval.c
index db81a20..7f7d24b 100644
--- a/backends/tilegx_retval.c
+++ b/backends/tilegx_retval.c
@@ -79,7 +79,7 @@ tilegx_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
@@ -113,7 +113,7 @@ tilegx_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
return nloc_intreg;
}
- /* Else fall through. */
+ FALLTHROUGH;
case DW_TAG_structure_type:
case DW_TAG_class_type:
case DW_TAG_union_type:
diff --git a/backends/x86_64_regs.c b/backends/x86_64_regs.c
index 8430440..ef987da 100644
--- a/backends/x86_64_regs.c
+++ b/backends/x86_64_regs.c
@@ -87,7 +87,7 @@ x86_64_register_info (Ebl *ebl __attribute__ ((unused)),
case 6 ... 7:
*type = DW_ATE_address;
- /* Fallthrough */
+ FALLTHROUGH;
case 0 ... 5:
name[0] = 'r';
name[1] = baseregs[regno][0];
diff --git a/backends/x86_64_retval.c b/backends/x86_64_retval.c
index b3799ae..f9114cb 100644
--- a/backends/x86_64_retval.c
+++ b/backends/x86_64_retval.c
@@ -100,7 +100,7 @@ x86_64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
typedie = dwarf_formref_die (attr, &die_mem);
tag = DWARF_TAG_OR_RETURN (typedie);
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_TAG_base_type:
case DW_TAG_enumeration_type:
diff --git a/config/eu.am b/config/eu.am
index 8fe1e25..b6ec581 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -62,7 +62,9 @@ NULL_DEREFERENCE_WARNING=
endif
if HAVE_IMPLICIT_FALLTHROUGH_WARNING
-IMPLICIT_FALLTHROUGH_WARNING=-Wimplicit-fallthrough
+# Use strict fallthrough. Only __attribute__((fallthrough)) will prevent the
+# warning
+IMPLICIT_FALLTHROUGH_WARNING=-Wimplicit-fallthrough=5
else
IMPLICIT_FALLTHROUGH_WARNING=
endif
diff --git a/configure.ac b/configure.ac
index 1f1856d..698efbb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -360,6 +360,12 @@ CFLAGS="$old_CFLAGS"])
AM_CONDITIONAL(HAVE_IMPLICIT_FALLTHROUGH_WARNING,
[test "x$ac_cv_implicit_fallthrough" != "xno"])
+# Assume the fallthrough attribute is supported if -Wimplict-fallthrough is supported
+if test "$ac_cv_implicit_fallthrough" = "yes"; then
+ AC_DEFINE([HAVE_FALLTHROUGH], [1],
+ [Defined if __attribute__((fallthrough)) is supported])
+fi
+
dnl Check if we have argp available from our libc
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
diff --git a/lib/eu-config.h b/lib/eu-config.h
index 400cdc6..e8d4ec2 100644
--- a/lib/eu-config.h
+++ b/lib/eu-config.h
@@ -186,5 +186,12 @@ asm (".section predict_data, \"aw\"; .previous\n"
# define COMPAT_VERSION(name, version, prefix) error "should use #ifdef SYMBOL_VERSIONING"
#endif
+#ifndef FALLTHROUGH
+# ifdef HAVE_FALLTHROUGH
+# define FALLTHROUGH __attribute__ ((fallthrough))
+# else
+# define FALLTHROUGH ((void) 0)
+# endif
+#endif
#endif /* eu-config.h */
diff --git a/libcpu/i386_disasm.c b/libcpu/i386_disasm.c
index 60fd6d4..837a3a8 100644
--- a/libcpu/i386_disasm.c
+++ b/libcpu/i386_disasm.c
@@ -819,7 +819,7 @@ i386_disasm (Ebl *ebl __attribute__((unused)),
++param_start;
break;
}
- /* Fallthrough */
+ FALLTHROUGH;
default:
str = "";
assert (! "INVALID not handled");
diff --git a/libcpu/i386_parse.c b/libcpu/i386_parse.c
index ef1ac35..6fa7ce3 100644
--- a/libcpu/i386_parse.c
+++ b/libcpu/i386_parse.c
@@ -1047,7 +1047,7 @@ yytnamerr (char *yyres, const char *yystr)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- /* Fall through. */
+ FALLTHROUGH;
default:
if (yyres)
yyres[yyn] = *yyp;
@@ -2042,7 +2042,7 @@ yyabortlab:
yyexhaustedlab:
yyerror (YY_("memory exhausted"));
yyresult = 2;
- /* Fall through. */
+ FALLTHROUGH;
#endif
yyreturn:
diff --git a/libdw/cfi.c b/libdw/cfi.c
index daa845f..341e055 100644
--- a/libdw/cfi.c
+++ b/libdw/cfi.c
@@ -138,7 +138,7 @@ execute_cfi (Dwarf_CFI *cache,
case DW_CFA_advance_loc1:
operand = *program++;
- /* Fallthrough */
+ FALLTHROUGH;
case DW_CFA_advance_loc + 0 ... DW_CFA_advance_loc + CFI_PRIMARY_MAX:
advance_loc:
loc += operand * cie->code_alignment_factor;
@@ -301,7 +301,7 @@ execute_cfi (Dwarf_CFI *cache,
case DW_CFA_restore_extended:
get_uleb128 (operand, program, end);
- /* Fallthrough */
+ FALLTHROUGH;
case DW_CFA_restore + 0 ... DW_CFA_restore + CFI_PRIMARY_MAX:
if (unlikely (abi_cfi) && likely (opcode == DW_CFA_restore))
diff --git a/libdw/dwarf_frame_register.c b/libdw/dwarf_frame_register.c
index 37e8e91..d0159fb 100644
--- a/libdw/dwarf_frame_register.c
+++ b/libdw/dwarf_frame_register.c
@@ -62,7 +62,7 @@ dwarf_frame_register (Dwarf_Frame *fs, int regno, Dwarf_Op *ops_mem,
/* Use the default rule for registers not yet mentioned in CFI. */
if (fs->cache->default_same_value)
goto same_value;
- /*FALLTHROUGH*/
+ FALLTHROUGH;
case reg_undefined:
/* The value is known to be unavailable. */
break;
diff --git a/libdwfl/dwfl_report_elf.c b/libdwfl/dwfl_report_elf.c
index 6950a37..3fc9384 100644
--- a/libdwfl/dwfl_report_elf.c
+++ b/libdwfl/dwfl_report_elf.c
@@ -174,7 +174,7 @@ __libdwfl_elf_address_range (Elf *elf, GElf_Addr base, bool add_p_vaddr,
/* An assigned base address is meaningless for these. */
base = 0;
add_p_vaddr = true;
- /* Fallthrough. */
+ FALLTHROUGH;
case ET_DYN:
default:;
size_t phnum;
diff --git a/libdwfl/frame_unwind.c b/libdwfl/frame_unwind.c
index 4dc9c43..eaea495 100644
--- a/libdwfl/frame_unwind.c
+++ b/libdwfl/frame_unwind.c
@@ -442,7 +442,7 @@ expr_eval (Dwfl_Frame *state, Dwarf_Frame *frame, const Dwarf_Op *ops,
}
if (val1 == 0)
break;
- /* FALLTHRU */
+ FALLTHROUGH;
case DW_OP_skip:;
Dwarf_Word offset = op->offset + 1 + 2 + (int16_t) op->number;
const Dwarf_Op *found = bsearch ((void *) (uintptr_t) offset, ops, nops,
diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c
index f80a1a5..ca4f155 100644
--- a/libebl/eblobjnote.c
+++ b/libebl/eblobjnote.c
@@ -223,7 +223,7 @@ ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
free (buf);
break;
}
- /* FALLTHROUGH */
+ FALLTHROUGH;
default:
/* Unknown type. */
diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c
index a51bf70..5351518 100644
--- a/libelf/elf32_updatenull.c
+++ b/libelf/elf32_updatenull.c
@@ -232,7 +232,7 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
__libelf_seterrno (ELF_E_GROUP_NOT_REL);
return -1;
}
- /* FALLTHROUGH */
+ FALLTHROUGH;
case SHT_SYMTAB_SHNDX:
sh_entsize = elf_typesize (32, ELF_T_WORD, 1);
break;
diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c
index 6f85038..6de206a 100644
--- a/libelf/elf_begin.c
+++ b/libelf/elf_begin.c
@@ -582,7 +582,7 @@ read_unmmaped_file (int fildes, off_t offset, size_t maxsize, Elf_Cmd cmd,
? sizeof (Elf32_Ehdr) : sizeof (Elf64_Ehdr)))
return file_read_elf (fildes, NULL, mem.header, offset, maxsize, cmd,
parent);
- /* FALLTHROUGH */
+ FALLTHROUGH;
default:
break;
@@ -1097,7 +1097,7 @@ elf_begin (int fildes, Elf_Cmd cmd, Elf *ref)
retval = NULL;
break;
}
- /* FALLTHROUGH */
+ FALLTHROUGH;
case ELF_C_READ:
case ELF_C_READ_MMAP:
diff --git a/libelf/elf_cntl.c b/libelf/elf_cntl.c
index ab13ffb..fd68178 100644
--- a/libelf/elf_cntl.c
+++ b/libelf/elf_cntl.c
@@ -62,7 +62,7 @@ elf_cntl (Elf *elf, Elf_Cmd cmd)
result = -1;
break;
}
- /* FALLTHROUGH */
+ FALLTHROUGH;
case ELF_C_FDDONE:
/* Mark the file descriptor as not usable. */
diff --git a/src/addr2line.c b/src/addr2line.c
index ba414a7..444ee52 100644
--- a/src/addr2line.c
+++ b/src/addr2line.c
@@ -618,7 +618,7 @@ handle_address (const char *string, Dwfl *dwfl)
case 1:
addr = 0;
j = i;
- /* Fallthrough */
+ FALLTHROUGH;
case 2:
if (string[j] != '\0')
break;
diff --git a/src/elfcompress.c b/src/elfcompress.c
index 8e0d5c5..25378a4 100644
--- a/src/elfcompress.c
+++ b/src/elfcompress.c
@@ -149,7 +149,7 @@ parse_opt (int key, char *arg __attribute__ ((unused)),
N_("Only one input file allowed together with '-o'"));
/* We only use this for checking the number of arguments, we don't
actually want to consume them. */
- /* Fallthrough */
+ FALLTHROUGH;
default:
return ARGP_ERR_UNKNOWN;
}
diff --git a/src/elflint.c b/src/elflint.c
index 51e53c2..df1b3a0 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -1764,7 +1764,7 @@ section [%2d] '%s': entry %zu: pointer does not match address of section [%2d] '
if (dyn->d_tag < DT_ADDRRNGLO || dyn->d_tag > DT_ADDRRNGHI)
/* Value is no pointer. */
break;
- /* FALLTHROUGH */
+ FALLTHROUGH;
case DT_AUXILIARY:
case DT_FILTER:
@@ -3993,7 +3993,7 @@ section [%2zu] '%s': merge flag set but entry size is zero\n"),
case SHT_NOBITS:
if (is_debuginfo)
break;
- /* Fallthrough */
+ FALLTHROUGH;
default:
ERROR (gettext ("\
section [%2zu] '%s' has unexpected type %d for an executable section\n"),
@@ -4137,7 +4137,7 @@ section [%2zu] '%s': ELF header says this is the section header string table but
ERROR (gettext ("\
section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"),
cnt, section_name (ebl, cnt));
- /* FALLTHROUGH */
+ FALLTHROUGH;
case SHT_SYMTAB:
check_symtab (ebl, ehdr, shdr, cnt);
break;
@@ -4336,7 +4336,7 @@ section [%2d] '%s': unknown core file note type %" PRIu32
if (nhdr.n_namesz == sizeof "Linux"
&& !memcmp (data->d_buf + name_offset, "Linux", sizeof "Linux"))
break;
- /* Fallthrough */
+ FALLTHROUGH;
default:
if (shndx == 0)
ERROR (gettext ("\
diff --git a/src/objdump.c b/src/objdump.c
index 860cfac..0dd9a6a 100644
--- a/src/objdump.c
+++ b/src/objdump.c
@@ -223,7 +223,7 @@ parse_opt (int key, char *arg,
}
/* We only use this for checking the number of arguments, we don't
actually want to consume them. */
- /* Fallthrough */
+ FALLTHROUGH;
default:
return ARGP_ERR_UNKNOWN;
}
diff --git a/src/readelf.c b/src/readelf.c
index 346eccd..6a27e7e 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -465,7 +465,7 @@ parse_opt (int key, char *arg,
print_string_sections = true;
break;
}
- /* Fall through. */
+ FALLTHROUGH;
case 'x':
add_dump_section (arg, false);
any_control_option = true;
@@ -6029,7 +6029,7 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
dwarf_form_name (form), (uintmax_t) num);
return DWARF_CB_OK;
}
- /* else fallthrough */
+ FALLTHROUGH;
/* These cases always take a loclistptr and no constant. */
case DW_AT_location:
@@ -6195,7 +6195,7 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
print_block (block.length, block.data);
break;
}
- /* Fall through. */
+ FALLTHROUGH;
case DW_AT_location:
case DW_AT_data_location:
@@ -9227,7 +9227,7 @@ handle_auxv_note (Ebl *ebl, Elf *core, GElf_Word descsz, GElf_Off desc_pos)
printf (" %s\n", name);
break;
}
- /* Fall through */
+ FALLTHROUGH;
case 'x': /* hex */
case 'p': /* address */
case 's': /* address of string */
diff --git a/src/strings.c b/src/strings.c
index d214356..03d0f13 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -246,7 +246,7 @@ parse_opt (int key, char *arg,
case 'b':
case 'B':
big_endian = true;
- /* FALLTHROUGH */
+ FALLTHROUGH;
case 'l':
case 'L':
diff --git a/tests/backtrace.c b/tests/backtrace.c
index 21abe8a..f5dd761 100644
--- a/tests/backtrace.c
+++ b/tests/backtrace.c
@@ -127,7 +127,7 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
assert (symname2 == NULL || strcmp (symname2, "jmp") != 0);
break;
}
- /* FALLTHRU */
+ FALLTHROUGH;
case 4:
/* Some simple frame unwinders get this wrong and think sigusr2
is calling itself again. Allow it and just pretend there is
diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
index 8d5b53c..62c549d 100644
--- a/tests/elfstrmerge.c
+++ b/tests/elfstrmerge.c
@@ -578,7 +578,8 @@ main (int argc, char **argv)
break;
case SHT_DYNAMIC:
- /* Fallthrough. There are string indexes in here, but
+ FALLTHROUGH;
+ /* There are string indexes in here, but
they (should) point to a allocated string table,
which we don't alter. */
default:
--
2.14.3
@@ -9,6 +9,7 @@ where indirect libraries may be not found by linker
| /mnt/a/oe/build/tmp/work/riscv64-bec-linux/elfutils/0.170-r0/recipe-sysroot/usr/lib/libbz2.so.1: error adding symbols: DSO missing from command line
| collect2: error: ld returned 1 exit status
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/Makefile.am | 4 ++--
@@ -1,3 +1,6 @@
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
From 77cb4a53c270d5854d3af24f19547bc3de825233 Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:16:58 +0000
@@ -3,7 +3,7 @@ From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 29 Jun 2018 15:42:39 +0800
Subject: [PATCH] arm_backend
Upstream-Status: Backport from debian
Upstream-Status: Pending [from debian]
arm_backend.diff and rebase to 0.172
http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.170-0.5.debian.tar.xz
@@ -8,7 +8,7 @@ Last-Update: 2018-01-01
Signed-off-by: Helmut Grohne <helmut@subdivi.de>
Upstream-Status: Backport from debian
Upstream-Status: Pending [from debian]
mdisable_werror.patc and rebase to 0.172
http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.170-0.5.debian.tar.xz
@@ -3,7 +3,7 @@ From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 29 Jun 2018 15:59:57 +0800
Subject: [PATCH] fix gcc7 ftbfs
Upstream-Status: Backport from debian
Upstream-Status: Pending [from debian]
fix-gcc7-ftbfs.diff and rebase to 0.172
http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.170-0.5.debian.tar.xz
@@ -3,7 +3,7 @@ From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 29 Jun 2018 15:39:46 +0800
Subject: [PATCH] hppa_backend
Upstream-Status: Backport from debian
Upstream-Status: Pending [from debian]
hppa_backend.diff and rebase to 0.172
http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.170-0.5.debian.tar.xz
@@ -3,7 +3,7 @@ From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 29 Jun 2018 15:45:58 +0800
Subject: [PATCH] mips_backend
Upstream-Status: Backport from debian
Upstream-Status: Pending [from debian]
mips_backend.diff and rebase to 0.172
http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.170-0.5.debian.tar.xz
@@ -11,7 +11,7 @@ to be filled in by the backend for the arch.
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Upstream-Status: Backport from debian
Upstream-Status: Pending [from debian]
mips_readelf_w.patch and rebase to 0.172
http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.170-0.5.debian.tar.xz
@@ -9,7 +9,7 @@ binutils don't pass elflint. However elfutils shouldn't FTBFS because of this.
So we run the tests on all archs to see what breaks, but if it breaks we ignore
the result (exitcode 77 means: this test was skipped).
Upstream-Status: Backport from debian
Upstream-Status: Pending [from debian]
testsuite-ignore-elflint.diff and rebase to 0.172
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
@@ -1,3 +1,6 @@
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
From fdaab18a65ed2529656baa64cb6169f34d7e507b Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:01 +0000
@@ -1,3 +1,6 @@
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
From 59d4b8c48e5040af7e02b34eb26ea602ec82a38e Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:02 +0000
@@ -1,14 +0,0 @@
Index: elfutils-0.165/tests/run-native-test.sh
===================================================================
--- elfutils-0.165.orig/tests/run-native-test.sh
+++ elfutils-0.165/tests/run-native-test.sh
@@ -83,6 +83,9 @@ native_test()
# "cannot attach to process: Function not implemented".
[ "$(uname)" = "GNU/kFreeBSD" ] && exit 77
+# hurd's /proc/$PID/maps does not give paths yet.
+[ "$(uname)" = "GNU" ] && exit 77
+
native_test ${abs_builddir}/allregs
native_test ${abs_builddir}/funcretval
@@ -1,3 +1,6 @@
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
--- elfutils-0.165.orig/tests/run-strip-strmerge.sh
+++ elfutils-0.165/tests/run-strip-strmerge.sh
@@ -30,7 +30,7 @@ remerged=remerged.elf
@@ -1,17 +0,0 @@
Index: b/tests/run-native-test.sh
===================================================================
--- a/tests/run-native-test.sh
+++ b/tests/run-native-test.sh
@@ -77,6 +77,12 @@ native_test()
test $native -eq 0 || testrun "$@" -p $native > /dev/null
}
+# On the Debian buildds, GNU/kFreeBSD linprocfs /proc/$PID/maps does
+# not give absolute paths due to sbuild's bind mounts (bug #570805)
+# therefore the next two test programs are expected to fail with
+# "cannot attach to process: Function not implemented".
+[ "$(uname)" = "GNU/kFreeBSD" ] && exit 77
+
native_test ${abs_builddir}/allregs
native_test ${abs_builddir}/funcretval