This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

re: Help gcc with inlining/not inlining a little bit


It looks like the hints to the inliner added by
http://sources.redhat.com/ml/libc-hacker/2003-01/msg00219.html
make gcc-3.5-20040718 unhappy.   Here are some of the resulting errors:

do-rel.h: In function `_dl_relocate_object':
../sysdeps/i386/dl-machine.h:630: sorry, unimplemented: inlining failed in call to 'elf_machine_lazy_rel': function not considered for inlining
do-rel.h:69: sorry, unimplemented: called from here
../sysdeps/i386/dl-machine.h:613: sorry, unimplemented: inlining failed in call to 'elf_machine_rel_relative': function not considered for inlining
do-rel.h:105: sorry, unimplemented: called from here
../sysdeps/i386/dl-machine.h:370: sorry, unimplemented: inlining failed in call to 'elf_machine_rel': function not considered for inlining
do-rel.h:120: sorry, unimplemented: called from here
../sysdeps/i386/dl-machine.h:513: sorry, unimplemented: inlining failed in call to 'elf_machine_rela': function not considered for inlining
do-rel.h:128: sorry, unimplemented: called from here
../sysdeps/i386/dl-machine.h:622: sorry, unimplemented: inlining failed in call to 'elf_machine_rela_relative': function not considered for inlining
do-rel.h:105: sorry, unimplemented: called from here

http://gcc.gnu.org/ml/gcc-patches/2004-01/msg01243.html
suggests that this error message could be improved,
and says the problem might be that a function was
declared with two different inlining attributes.
Sure enough, the attribute used in elf/dynamic-link.h is
  auto void __attribute__((always_inline))
but the one used in sysdeps/i386/dl-machine.h is
  static inline void

http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/dl-machine.h.diff?r1=1.126&r2=1.127&cvsroot=glibc
seems to be related; it gives elf_machine_rel and elf_machine_rel_relative
the attributes
   static inline void __attribute ((always_inline))
but applying it doesn't seem to help.

Has anyone looked at this yet?  I imagine the fix is just to
declare these functions the same way everywhere.

Thanks,
Dan

--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change


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