Date: Tue, 8 Sep 1998 17:28:07 +0200 From: Martin Cracauer <cracauer@cons.org> To: Terry Lambert <tlambert@primenet.com>, Martin Cracauer <cracauer@cons.org> Cc: freebsd-current@FreeBSD.ORG Subject: Re: Standardizing a BSD/ELF ABI... Message-ID: <19980908172807.A12626@cons.org> In-Reply-To: <199809040003.RAA06884@usr09.primenet.com>; from Terry Lambert on Fri, Sep 04, 1998 at 12:03:49AM %2B0000 References: <19980903122603.A24806@cons.org> <199809040003.RAA06884@usr09.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In <199809040003.RAA06884@usr09.primenet.com>, Terry Lambert wrote: > > I didn't see anyone posting a piece of code to show the problem, maybe > > I overlooked something? > > Your program is: > > main() > { > extern char foo[]; > > initme(); /* get from shared library*/ > /* override default initilization from library*/ > strcpy( foo, "up to 16 bytes"); > } > > Link it against a library with a foo of size 16, and then run it with > a (newer) library with a foo of size 4. [...] That's all? I'm afraid I have to rate that as lame :-) You are using data from a library or provide data to a library that is not specified in the interface. It could have been declared in an interface file with a certain size, in that case, you wouldn't be able to compile the pieces of code that don't fit together. Or you declare a pointer only, in that case you can't make any assumptions about the size, all you can do is to call a function in the same unit the data has been declared in, which knows the real size. So no problem either way as long as you strickly implement and obey to the published interfaces. Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@cons.org> http://www.cons.org/cracauer Tel.: (private) +4940 5221829 Fax.: (private) +4940 5228536 Paper: (private) Waldstrasse 200, 22846 Norderstedt, Germany 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?19980908172807.A12626>