https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86215

            Bug ID: 86215
           Summary: Exceptions are broken on OSX when linking with
                    -static-libgcc
           Product: gcc
           Version: 7.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ryan.burn at gmail dot com
  Target Milestone: ---

If I compile program below with g++-7 main.cpp -static-libgcc -static-libstdc++
and run it on OSX, I get

$ ./a.out
Abort trap: 6
$ echo $?
134

instead of printing abc123 as expected

/////////// main.cpp
#include <exception>
#include <iostream>

int main() try {
  throw std::runtime_error{"abc123"};
  return 0;
} catch (const std::runtime_error& e) {
  std::cout << e.what() << "\n";
  return 0;
}
//////////////////////


Additional information about the environment

$ uname -a
Darwin Ryans-MacBook-Pro.local 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15
17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64

$ g++-7 --version
g++-7 (Homebrew GCC 7.3.0_1) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See also https://stackoverflow.com/q/50920999/4447365

Reply via email to