Possible gcc 4.3 error on ppc64
Adrian Reber
adrian at lisas.de
Mon Feb 25 18:01:05 UTC 2008
On Mon, Feb 25, 2008 at 11:44:25AM -0500, Jakub Jelinek wrote:
> On Mon, Feb 25, 2008 at 12:02:27PM +0100, Adrian Reber wrote:
> >
> > During mass rebuild one of packages (gmpc) failed to rebuild:
> >
> > http://koji.fedoraproject.org/koji/taskinfo?taskID=436024
> >
> > /usr/bin/ld: misc.o(.text+0x450): unresolvable R_PPC64_REL24 relocation against symbol `mpd_data_get_next_real'
> > /usr/bin/ld: misc.o(.text+0x4ac): unresolvable R_PPC64_REL24 relocation against symbol `mpd_data_get_next_real'
[...]
> > If anyone has any information if this a bug in gcc or what needs to be
> > fixed to get this running again... that would be great.
>
> No, this is just buggy libmpd-devel. The header has:
>
> /* Internal Data struct functions */
> inline MpdData * mpd_new_data_struct (void);
> inline MpdData * mpd_new_data_struct_append (MpdData * data);
> inline MpdData * mpd_data_concatenate (MpdData * const first, MpdData * const second);
> inline MpdData * mpd_data_get_next_real (MpdData * const data, int kill_list);
> /* more internal stuff*/
>
> but the inline functions aren't defined anywhere in the current
> TU, so ISO C99, 6.7.4(6) is violated:
> "Any function with internal linkage can be an inline function. For a function
> with external linkage, the following restrictions apply: If a function is
> declared with an inline function specifier, then it shall also be defined
> in the same translation unit."
>
> So, either the inline keywords need to be dropped from the prototypes,
> or the inline definition needs to be provided.
Thanks a lot. That was it. But do you have any idea why it only
happened on ppc64?
Adrian
More information about the fedora-devel-list
mailing list