[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: oskit/mach entropy trouble
From: |
ddavies |
Subject: |
Re: oskit/mach entropy trouble |
Date: |
05 Apr 2003 15:27:47 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
I suspect that what's happening too. The trouble is that
liboskit_dev.a hasn't changed! It's nm output is the same with and
without my changes. Do you happen to know what the size refered to in
the message actually means?
Thanks,
Derek
neal@cs.uml.edu (Neal H. Walfield) writes:
> > Also, does anyone know what is meant by the 'size' of a function
> > symbol? Ie, "/usr/bin/ld: Warning: size of symbol `osenv_wakeup'
> > changed from 26 to 42 in
> > /usr/local/lib/oskit/../liboskit_dev.a(sleep.o)". What does the size
> > mean? Reading the ELF spec hasn't helped me with this, nor has
> > googling, nor has asking in #hurd at random times.
>
> I suspect you have the following problem: you are adding a file,
> `new.o', which contains a function `foo'. There is a module `m' which
> which references functions `foo' and `bar'. There is a second file,
> `orig.o', which contains functions `foo' and `bar'. The link order
> is:
>
> gcc m new.o orig.o
>
> Thus, `foo' is taken from `new.o' (since `foo' is undefined after
> reading `m'). Then `orig.o' is added (since `bar' is undefined at
> that point in the link) but since we must add files (and not
> functions) we end up with `foo' being redefined!