Date: Thu, 3 Sep 1998 02:21:38 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: cracauer@cons.org (Martin Cracauer) Cc: tlambert@primenet.com, dawes@rf900.physics.usyd.edu.au, mike@smith.net.au, jb@cimlogic.com.au, freebsd-current@FreeBSD.ORG Subject: Re: Standardizing a BSD/ELF ABI... Message-ID: <199809030221.TAA06719@usr07.primenet.com> In-Reply-To: <19980903013509.A12206@cons.org> from "Martin Cracauer" at Sep 3, 98 01:35:09 am
next in thread | previous in thread | raw e-mail | index | archive | help
> > It is easy to implement a data-content dependent example of a
> > library that fails the LGPL relink clause because of this.
> >
> > Techinically, one need only increase the size of a statically
> > initialized data area.
>
> Are you sure about this? The appended tarfile contains two
> implementations of a shared library, one with more statically
> initialized data and some variables in different order, besides
> different initial values for all variables.
I meant "non-statically"; sorry.
Please see sited references from DejaNews...
char x[ 4];
char foo[ 4]; /* 4 vs. 16 */
char y[ 4];
initme()
{
x[ 0] = '0';
y[ 3] = '3';
y[ 0] = '0';
y[ 3] = '3';
strncpy( foo, "XXXXXXXXXXXXXXXX", sizeof(foo)-1);
foo[ sizeof(foo)-1] = 0;
}
> On FreeBSD-2.2.7-stable and Linux (Debian-1.3) this gives correct
> results. I have not been able to reproduce a case where data from the
> library I linked against is used instead of data from the .so file
> that happens to be in place when the program runs. See the 'make run'
> target.
See "__error undefined" and "sys_errlist[]: conflicting type for decl".
You need to create cases that are not resolved at runtime (like sizeof(),
above).
Terry Lambert
terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809030221.TAA06719>
