control: tag -1 + patch

On 2016-02-26 21:08, James McCoy wrote:
> Package: lua5.2
> Version: 5.2.4-1
> Severity: important
> File: /usr/bin/lua5.2
> 
> Taking the first few lines of lua output (piped through "cat -A" to show
> the non-printables) from the Vim build on mips64el[0]:
> 
>     checking Lua version... 5.2$
>     5.2$
>     $
>     ^H^B$
>     ^H^W$
>     ^H,$
>     ^A$
>     ^HA$
>     ^A^K^A^SY^Q^A^T^\k$
>     ^Hk$
>     @^B^L@^P$
>     ^B^A^C$H#^R^B^C$$
>     ^C$
>     ^C$
>     ^C$
>     ^B^H$
>     @^B$
>     $$
>     ^C$
>     
> memorybtblcrcsclcecdCCcmdohoviCMvendllupvsdcdldshdasmbmdtidmmhimmkmpmrsousecaeedeiseuevbfffsi1isi3ificipkbkakCktkDkLkdkMkEkSk0k1k;k2k3k4k5k6k7k8k9khkIkAklkHkNkPkrkFkRkTkukeksl0l1lal2l3l4l5l6l7l8l9mommnwpcDCDLDOICSFALLERISRUPpkplpxpspfporpr1r2r3rfrccvscsfsrsastwitatsuchuiPK1K3K2K4K5pOrPacpnkBSXRXSARAXNXFeALOLF@1@2@3@4@5@6@7@8@9@0%1%2%3%4%5%6%7%8%9%0&1&2&3&4&5&6&7&8&9&0*1*2*3*4*5*6*7*8*9*0#1#2#3#4%a%b%c%d%e%f%g%h%i%j!1!2!3RFF1F2F3F4F5F6F7F8F9FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZFaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrcbMCMLMRLfSCDKRCCWWGHUDIQDTOPUfhPAWAu0u1u2u3u4u5u6u7u8u9opocIcIpspSfSbZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyKmMiRQGmAFABxldvcis0s1s2s3MTXyZzYvYwYxYyYzYZS1S2S3S4S5S6S7S8XhXlXoXrXtXvsAYIi2nlbckomaG2G3G1G4GRGLGUGDGHGVGCmlmubxcoitlilmsgpbvtwsNllhlwMWCopaNCYaYbYcYdYeYfYgYhYiYjYkYlYmYnBTYoYpugdCdNdBdTknbwamxbxsxneognhckmhsindadbmimsosesxthzulxonx5iHCNRNPNDccuthlYAYBYCYDYEYFYGnsncNLptxr^F^K^O^U^Z^^$)-38<BGKPUfont0s0dsIBMfont1s1dsIBMfont2s2dsIBMfont3s3dsIBMkbtabkcbtIBMkselksltIBM
> 
> Something similar can also be seen by running lua5.2's REPL in the
> mips64el chroot on etler.debian.org.  Just start it up and then exit.

The problem is that the lua5.2 package in debian adds symbol versioning
to the lua5.2 binary. By doing so it fails to correctly export the 
_IO_stdin_used symbol added by the GNU libc.

The patch below fixes the problem.

Aurelien


diff -Nru lua5.2-5.2.4/debian/version-script lua5.2-5.2.4/debian/version-script
--- lua5.2-5.2.4/debian/version-script
+++ lua5.2-5.2.4/debian/version-script
@@ -152,6 +152,16 @@
                luaopen_package;
                luaopen_string;
                luaopen_table;
+
+               /* The _IO_stdin_used symbol is used by the GNU libc determine
+                  which version of the I/O function should be used.  Not
+                  exporting it means that the "old" version is used, causing
+                  crashes or other issues on some architectures.  It should be
+                  exported as an anonymous tag, but ld does not support mixing
+                  anonymous version tags with other version tags.  Fortunately
+                  the GNU libc is able to cope with the symbol having the wrong
+                  version tag.  */
+               _IO_stdin_used;
        local :
                *;
 };

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                 http://www.aurel32.net

Reply via email to