Add _IO_stdin_used in version-script to fix SIGBUSes on Sparc.
authorWalter Doekes <walter+asterisk@wjd.nu>
Thu, 22 Aug 2013 08:26:55 +0000 (08:26 +0000)
committerWalter Doekes <walter+asterisk@wjd.nu>
Thu, 22 Aug 2013 08:26:55 +0000 (08:26 +0000)
commit80edcdcc45c0ed6c9223af59b2c6961df2e7a325
tree53533d506aaff547b2a68911c906c78822070ede
parent75bb247d2b442762243de7bcac293fd003e1c4a2
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
main/asterisk.exports.in