References to values and weak references.
Fergus Henderson
fjh at cs.mu.oz.au
Wed Nov 8 14:23:34 EST 2000
On 08-Nov-2000, Simon Marlow <simonmar at microsoft.com> wrote:
> > (2) the ability for FFI to link in values as weak external
> > references. (In other words
> > the reference doesn't have to be resolved and you can
> > find out if it has been.)
> > So assuming (1) has been implemented, I might want
> > something additionally like
> > foreign import weak "default_arguments"
> > getDefaultArguments :: IO (Maybe Addr)
> > Now while I would LIKE these features, they aren't there, and
> > it won't cause me great
> > distress to work around their absence. But why not implement
> > them anyway?
>
> Do you know how to use existing support for weak references in the
> linker/assembler? I believe GNU as/ld has them, but I can't find any
> reference in the docs.
In GNU C:
extern int foo __attribute__((weak));
int main() {
printf("%p", &foo);
}
This is documented in the gcc info pages.
In GNU as:
.weak foo
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
More information about the FFI
mailing list