From ffec7b2740bd6377b054438779228989c61ea82c Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 21 Mar 2018 17:25:30 +0000 Subject: [PATCH] Use x86_64 backtrace as generic version. No glibc configuration uses the present debug/backtrace.c, whereas several #include the x86_64 version. The x86_64 version is effectively a generic one (using _Unwind_Backtrace from libgcc, which works much more reliably than the built-in functions used by debug/backtrace.c). This patch moves it to debug/backtrace.c and removes all the #includes of the x86_64 version from other architectures which are no longer required. I do not know whether all the other architecture-specific backtrace implementations that are based on _Unwind_Backtrace are required, or whether, where their differences from the generic version do something useful, suitable hooks could be added to the generic version to reduce the duplication involved. Tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by this patch. * sysdeps/x86_64/backtrace.c: Move to .... * debug/backtrace.c: ... here. * sysdeps/aarch64/backtrace.c: Remove file. * sysdeps/alpha/backtrace.c: Likewise. * sysdeps/hppa/backtrace.c: Likewise. * sysdeps/ia64/backtrace.c: Likewise. * sysdeps/mips/backtrace.c: Likewise. * sysdeps/nios2/backtrace.c: Likewise. * sysdeps/riscv/backtrace.c: Likewise. * sysdeps/sh/backtrace.c: Likewise. * sysdeps/tile/backtrace.c: Likewise. --- ChangeLog | 14 ++++++++++++++ {sysdeps/x86_64 => debug}/backtrace.c | 0 sysdeps/aarch64/backtrace.c | 1 - sysdeps/alpha/backtrace.c | 1 - sysdeps/hppa/backtrace.c | 1 - sysdeps/ia64/backtrace.c | 1 - sysdeps/mips/backtrace.c | 1 - sysdeps/nios2/backtrace.c | 1 - sysdeps/riscv/backtrace.c | 1 - sysdeps/sh/backtrace.c | 1 - sysdeps/tile/backtrace.c | 1 - 11 files changed, 14 insertions(+), 9 deletions(-) rename {sysdeps/x86_64 => debug}/backtrace.c (100%) delete mode 100644 sysdeps/aarch64/backtrace.c delete mode 100644 sysdeps/alpha/backtrace.c delete mode 100644 sysdeps/hppa/backtrace.c delete mode 100644 sysdeps/ia64/backtrace.c delete mode 100644 sysdeps/mips/backtrace.c delete mode 100644 sysdeps/nios2/backtrace.c delete mode 100644 sysdeps/riscv/backtrace.c delete mode 100644 sysdeps/sh/backtrace.c delete mode 100644 sysdeps/tile/backtrace.c diff --git a/ChangeLog b/ChangeLog index c26bdd2194..b3e6b4150f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2018-03-21 Joseph Myers + + * sysdeps/x86_64/backtrace.c: Move to .... + * debug/backtrace.c: ... here. + * sysdeps/aarch64/backtrace.c: Remove file. + * sysdeps/alpha/backtrace.c: Likewise. + * sysdeps/hppa/backtrace.c: Likewise. + * sysdeps/ia64/backtrace.c: Likewise. + * sysdeps/mips/backtrace.c: Likewise. + * sysdeps/nios2/backtrace.c: Likewise. + * sysdeps/riscv/backtrace.c: Likewise. + * sysdeps/sh/backtrace.c: Likewise. + * sysdeps/tile/backtrace.c: Likewise. + 2018-03-20 Joseph Myers [BZ #22987] diff --git a/sysdeps/x86_64/backtrace.c b/debug/backtrace.c similarity index 100% rename from sysdeps/x86_64/backtrace.c rename to debug/backtrace.c diff --git a/sysdeps/aarch64/backtrace.c b/sysdeps/aarch64/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/aarch64/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/alpha/backtrace.c b/sysdeps/alpha/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/alpha/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/hppa/backtrace.c b/sysdeps/hppa/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/hppa/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/ia64/backtrace.c b/sysdeps/ia64/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/ia64/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/mips/backtrace.c b/sysdeps/mips/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/mips/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/nios2/backtrace.c b/sysdeps/nios2/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/nios2/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/riscv/backtrace.c b/sysdeps/riscv/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/riscv/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/sh/backtrace.c b/sysdeps/sh/backtrace.c deleted file mode 100644 index 4f3eafb09c..0000000000 --- a/sysdeps/sh/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include "../x86_64/backtrace.c" diff --git a/sysdeps/tile/backtrace.c b/sysdeps/tile/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/sysdeps/tile/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include -- 2.11.4.GIT