Skip to content
  • Rami Ylimaki's avatar
    os: Prevent backtrace from being stopped in noreturn functions. · 579715f8
    Rami Ylimaki authored and Keith Packard's avatar Keith Packard committed
    
    
    There are two noreturn functions in the X server: FatalError and
    AbortServer. Having any of those two functions in the middle of a call
    stack will prevent unwinding the program properly and stops the
    backtrace at those functions in gdb.
    
    The file containing FatalError and AbortServer, os/log.c, has to be
    compiled with the -mapcs-frame option on ARM to get proper
    backtraces. Automake imposes its own restrictions on compiling
    individual source files with different options. The recommended way to
    do this is to put os/log.c into a convenience library and add this
    library inside os/libos.la. See the documentation of GNU Automake
    manual, version 1.11.1, section 27.8 Per-Object Flags Emulation, for
    details.
    
    Signed-off-by: default avatarRami Ylimaki <ext-rami.ylimaki@nokia.com>
    Reviewed-by: Daniel Stone's avatarDaniel Stone <daniel@fooishbar.org>
    Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
    579715f8