[PATCH] Revert "os: Prevent backtrace from being stopped in noreturn functions."
Jamey Sharp
jamey at minilop.net
Tue Jun 15 09:33:19 PDT 2010
Cool, glad to hear GCC got magically smarter or something.
Reviewed-by: Jamey Sharp <jamey at minilop.net>
On Tue, Jun 15, 2010 at 5:44 AM, Rami Ylimäki
<ext-rami.ylimaki at nokia.com> wrote:
> This reverts commit 579715f830fbbca9e1ecb17dc18176132f5969e7.
>
> The patch is not needed anymore. I haven't encountered backtrace
> problems with GCC 4.3.3. Even if the problems still persisted, this
> commit should be removed and instead the definition of _X_NORETURN
> should be modified to be empty if GCC/ARM is used. However, currently
> it seems that ARM backtraces are OK even if _X_NORETURN is used and
> -mapcs-frame is not defined in CFLAGS.
>
> Signed-off-by: Rami Ylimäki <ext-rami.ylimaki at nokia.com>
> ---
> configure.ac | 13 -------------
> os/Makefile.am | 17 +++++------------
> 2 files changed, 5 insertions(+), 25 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index c8b49de..b5112e1 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -315,19 +315,6 @@ AC_CHECK_HEADER([execinfo.h],[
> ])]
> )
>
> -dnl ARM needs additional compiler flags for proper backtraces if GCC is
> -dnl used. Compile a dummy program with the -mapcs-frame option. If it
> -dnl succeeds, we know that we are building for ARM with GCC.
> -old_CFLAGS="$CFLAGS"
> -CFLAGS="-mapcs-frame"
> -AC_COMPILE_IFELSE(
> - AC_LANG_PROGRAM([[ ]]),
> - ARM_BACKTRACE_CFLAGS="$CFLAGS",
> - ARM_BACKTRACE_CFLAGS=""
> -)
> -CFLAGS="$old_CFLAGS"
> -AC_SUBST(ARM_BACKTRACE_CFLAGS)
> -
> dnl ---------------------------------------------------------------------------
> dnl Bus options and CPU capabilities. Replaces logic in
> dnl hw/xfree86/os-support/bus/Makefile.am, among others.
> diff --git a/os/Makefile.am b/os/Makefile.am
> index 3e4f2c5..66a4a0f 100644
> --- a/os/Makefile.am
> +++ b/os/Makefile.am
> @@ -1,19 +1,11 @@
> -noinst_LTLIBRARIES = libos.la liblog.la
> +noinst_LTLIBRARIES = libos.la
>
> AM_CFLAGS = $(DIX_CFLAGS) $(SHA1_CFLAGS)
>
> SECURERPC_SRCS = rpcauth.c
> XDMCP_SRCS = xdmcp.c
> STRLCAT_SRCS = strlcat.c strlcpy.c
> -
> -# Build a convenience library liblog.la that will be added into
> -# libos.la. The split is done so that log.c can be built with
> -# different compiler options.
> -liblog_la_SOURCES = log.c
> -# Add flags needed for proper backtraces of functions marked with GCC
> -# __attribute__((noreturn)). Currently those flags are needed for
> -# FatalError and AbortServer in log.c.
> -liblog_la_CFLAGS = $(AM_CFLAGS) $(ARM_BACKTRACE_CFLAGS)
> +XORG_SRCS = log.c
>
> libos_la_SOURCES = \
> WaitFor.c \
> @@ -32,8 +24,9 @@ libos_la_SOURCES = \
> xdmauth.c \
> xsha1.c \
> xstrans.c \
> - xprintf.c
> -libos_la_LIBADD = @SHA1_LIBS@ $(DLOPEN_LIBS) liblog.la
> + xprintf.c \
> + $(XORG_SRCS)
> +libos_la_LIBADD = @SHA1_LIBS@ $(DLOPEN_LIBS)
>
> if SECURE_RPC
> libos_la_SOURCES += $(SECURERPC_SRCS)
> --
> 1.6.3.3
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
More information about the xorg-devel
mailing list