From 80edcdcc45c0ed6c9223af59b2c6961df2e7a325 Mon Sep 17 00:00:00 2001 From: Walter Doekes Date: Thu, 22 Aug 2013 08:26:55 +0000 Subject: Add _IO_stdin_used in version-script to fix SIGBUSes on Sparc. The --version-script,asterisk.exports linker flag (and the module exports) didn't provide _IO_stdin_used in the list of exported symbols. That causes some kind of libc compatibility mode to kick in, where stdio file structures (stdout/stderr) land somewhere else. In the case of the Sparc, they landed on misaligned memory. This became apparent first after r376428 (Reorder startup sequence) when a lot of ast_log's were replaced with fprintf's. Writing to stderr triggered a SIGBUS. (Compared to x86 and amd64 architectures, the Sparc is very picky about memory alignment.) (issue ASTERISK-21763) (issue ASTERISK-21665) Reported by: Jeremy Kister Review: https://reviewboard.asterisk.org/r/2760/ ........ Merged revisions 397377 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 397378 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397379 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- default.exports | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'default.exports') diff --git a/default.exports b/default.exports index 5e767549c..6d9344d3b 100644 --- a/default.exports +++ b/default.exports @@ -1,4 +1,8 @@ { + global: + /* See main/asterisk.exports.in for an explanation why this is + * needed. */ + _IO_stdin_used; local: *; }; -- cgit v1.2.3