path: root/jurt
diff options
authorStephan Bergmann <>2016-11-04 23:06:45 +0100
committerStephan Bergmann <>2016-11-07 08:54:58 +0100
commit9ec4c4ab052c66e9e25c9893bba33b8dee258484 (patch)
tree9b3a8fb20e5dbb47c0017454b9b5ab4b096ee1a4 /jurt
parentc01e02425e3ce7a14f06cfc505cf375a82a7c980 (diff)
Don't rely on __builtin_alloca when creating a call stack
same as 3f7c8ce1dca7eacb511def7799691be2e3d9a4a6 for gcc_linux_x86-64 (see there for a more detailed commit message; plus trivial follow-up 5e04886917abad0541eb3ef6d51cd5dc0395af21 "Remove spurious vertical whitespace"). Except use labels 'Lpush', 'Lpushed' not starting with a dot ('.Lpush', '.Lpushed'), as otherwise at least macOS 10.12.1 linker (ld64-274.1), when building libgcc3_uno.dylib's __TEXT,__unwind_info section, would use callvirtualmethod.o's __LD,__compact_unwind entry---covering the complete callVirtualMethod function---only for the first part of the function up to the .Lpush label, and would mark the remainder as having no unwind information (a compact_unwind_encoding_t value of 0; see the inline comments in the libunwind-35.3 source code, <>). So if an exception shall pass through that latter part it would lead to std::terminate. Change-Id: Ib1e8a5e4534b11ebe96c3ce774f8e5e8d45476cf
Diffstat (limited to 'jurt')
0 files changed, 0 insertions, 0 deletions