• Karthik Kamath's avatar
    MDEV-15961: Fix stacktraces under FreeBSD (aarch64) · e6cb263e
    Karthik Kamath authored
    Largely based on MySQL commit
    https://github.com/mysql/mysql-server/commit/75271e51d60bce8683423b208cbb43b11ca6060e
    
    MySQL Ref:
        BUG#24566529: BACKPORT BUG#23575445 TO 5.6
    
        (cut)
        Also, the PTR_SANE macro which tries to check if a pointer
        is invalid (used when printing pointer values in stack traces)
        gave false negatives on OSX/FreeBSD. On these platforms we
        now simply check if the pointer is non-null. This also removes
        a sbrk() deprecation warning when building on OS X. (It was
        before only disabled with building using XCode).
    
    Removed execinfo path of MySQL patch that was already included.
    
    sbrk doesn't exist on FreeBSD aarch64.
    
    Removed HAVE_BSS_START based detection and replaced with __linux__
    as it doesn't exist on OSX, Solaris or Windows.  __bss_start
    exists on mutiple Linux architectures.
    
    Tested on FreeBSD and Linux x86_64. Being in FreeBSD ports for 2
    years implies a good testing there on all FreeBSD architectures there
    too. MySQL-8.0.21 code is functionally identical to original commit.
    e6cb263e
stacktrace.c 19.4 KB