Use x86_64 backtrace as generic version.
commitffec7b2740bd6377b054438779228989c61ea82c
authorJoseph Myers <joseph@codesourcery.com>
Wed, 21 Mar 2018 17:25:30 +0000 (21 17:25 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 21 Mar 2018 17:25:30 +0000 (21 17:25 +0000)
tree9cd68fb552c47f2d61284619e76b1d362e2a1f77
parentd0c5d731af73fcd787fb398a34e2431bcb686bd3
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
debug/backtrace.c [moved from sysdeps/x86_64/backtrace.c with 100% similarity]
sysdeps/aarch64/backtrace.c [deleted file]
sysdeps/alpha/backtrace.c [deleted file]
sysdeps/hppa/backtrace.c [deleted file]
sysdeps/ia64/backtrace.c [deleted file]
sysdeps/mips/backtrace.c [deleted file]
sysdeps/nios2/backtrace.c [deleted file]
sysdeps/riscv/backtrace.c [deleted file]
sysdeps/sh/backtrace.c [deleted file]
sysdeps/tile/backtrace.c [deleted file]