This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

-finline creates undefined reference errors on arm-linux


Hi,

When compiling an ARMLinux kernel with egcs, many files threw up
errors along the lines of "undefined reference to `.Lxxx'". AIUI,
these are internal labels created by the compiler.

After a bit of investigation (I chose `drivers/char/vt.c' for my
tests) I found that the `-finline' flag provoked these errors. It
would appear that egcs creates a reference to a label at the same time
that it removes the label from another part of the code.

The following files may be of use:

http://www.sandy.force9.co.uk/vt.tar.gz
http://www.sandy.force9.co.uk/vt-no-inline.tar.gz

Both contain `vt.i', `vt.s' and `vt-compile.out'. The first file is
simply with -O2, the second with -O2 -fno-inline.

In the first set of files, the labels .L829 and .L846 are
undefined. They are however, present in the second set.

My system is an `i686-pc-linux-gnu', using a cross compiler configured
for an `arm-linux' target. Using egcs-2.93.09 and binutils 2.9.1.0.21

Please e-mail me if you require further details. I rarely have time to
read the lists at the moment.

-- 
Chris Butler


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]