[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Different symbols for different architectures



On 12/29/2013 04:24 AM, Mattia Rizzolo wrote:
> I maintain a new package, licenseutils, for witch I had a very bad
> response from buildd:
> https://buildd.debian.org/status/package.php?p=licenseutils&suite=sid
> 
> Seems that different architectures have different symbols. So I'm
> looking for a way to address this issue.
> As dh_makeshlibs(1) states if I need to provide different symbols file
> for different architectures I have to append $arch at the end of the
> file name, but in this way I have to ship 12 symbols files! Doesn't
> seem a very clean solution to me.
> 
> Anybody has a better solution than mine?

You can also tag symbols in your symbols file with (optional=32bit) or whatever annotation makes sense.  You really need
to make sure this makes sense.  The optimizer can play havoc with inlining on different architectures, so it happens.

If you find you're leaking third-party symbols, you might want to add a symbol versioning script to your DSO link stage.
 This means you would only ever export the symbols from your DSO, which is really what you want in a shared library.
Versioned symbols can also help with maintaining backwards ABI compatibility across releases.

-- 
Stephen M. Webb  <stephen.webb@bregmasoft.ca>


Reply to: