Skip site navigation (1)Skip section navigation (2)
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>