Bug 147446 - inlined function description results in "sorry, unimplemented" message
Summary: inlined function description results in "sorry, unimplemented" message
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 3
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-02-07 23:36 UTC by Neil O'Sullivan
Modified: 2007-11-30 22:10 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-02-08 08:07:29 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Neil O'Sullivan 2005-02-07 23:36:38 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5)
Gecko/20041217

Description of problem:
Compiling the Cisco 3000 VPN client modules has worked
flawlessly on other RedHat releases and works in 10.0
slackware, but on Fedora Core 3, the compile results is
errors reported on inlined functions.  This is the output
of a simple 'make' which should build the vpn client
software and kernel module:

booger[51] uname -a
Linux booger 2.6.10-1.760_FC3 #1 Wed Feb 2 00:14:23 EST 2005 i686 i686
i386 GNU/Linux
booger[52] gcc --version
gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

booger[53] make
make -C /lib/modules/2.6.10-1.760_FC3/build
SUBDIRS=/home/neilos/src/vpnclient/vpnclient modules
make[1]: Entering directory `/lib/modules/2.6.10-1.760_FC3/build'
  CC [M]  /home/neilos/src/vpnclient/vpnclient/linuxcniapi.o
  CC [M]  /home/neilos/src/vpnclient/vpnclient/frag.o
  CC [M]  /home/neilos/src/vpnclient/vpnclient/IPSecDrvOS_linux.o
  CC [M]  /home/neilos/src/vpnclient/vpnclient/interceptor.o
/home/neilos/src/vpnclient/vpnclient/interceptor.c: In function
`add_netdev':
/home/neilos/src/vpnclient/vpnclient/interceptor.c:59: sorry,
unimplemented: inlining failed in call to 'supported_device': function
body not available
/home/neilos/src/vpnclient/vpnclient/interceptor.c:245: sorry,
unimplemented: called from here
/home/neilos/src/vpnclient/vpnclient/interceptor.c: In function
`recv_ip_packet_handler':
/home/neilos/src/vpnclient/vpnclient/interceptor.c:607: warning:
passing arg 1 of `skb_checksum_help' from incompatible pointer type
/home/neilos/src/vpnclient/vpnclient/interceptor.c: In function
`do_cni_send':
/home/neilos/src/vpnclient/vpnclient/interceptor.c:732: warning:
passing arg 1 of `skb_checksum_help' from incompatible pointer type
make[2]: *** [/home/neilos/src/vpnclient/vpnclient/interceptor.o] Error 1
make[1]: *** [_module_/home/neilos/src/vpnclient/vpnclient] Error 2
make[1]: Leaving directory `/lib/modules/2.6.10-1.760_FC3/build'
make: *** [default] Error 2


Version-Release number of selected component (if applicable):
gcc 3.4.2 20041017 Red Hat 3.4.2-6.fc3

How reproducible:
Always

Steps to Reproduce:
1.unpack vpnclient-linux-4.6.00.0045-k9.tar
2.type 'make'
3.watch it return errors and fail to generate binaries.
    

Actual Results:  Compilation failed to complete and the 'make' aborted.

Expected Results:  Compiled vpn_client software and kernel module.

Additional info:

Migrating to Fedora Core 3 has made it impossible for me
to work from home.  I find it hard to believe that code
which compiles under earlier versions of gcc now fails.

Comment 1 Jakub Jelinek 2005-02-08 08:07:29 UTC
This is not a GCC bug, but combination of vpnclient bug and kernel "feature".
Kernel insists to define inline to inline __attribute__((always_inline))
for certain GCC versions.  This attribute is a requirement that the function
in question must be inlined or the compilation fails if that is not possible.
The problem on vpnclient side is that it declares a function prototype as
inline, without defining its body.
Simply remove the inline keyword from it and it will work.


Note You need to log in before you can comment on or make changes to this bug.