2004-11-06 12:28:04

by Dick

[permalink] [raw]
Subject: [Bluez-devel] inline problem gcc 3.4.2 and 2.6.9-mh3

Hi,

GCC 3.4.2 doesn't seem like the prototypes:

static inline u8 l2cap_get_ident(struct l2cap_conn *conn);
static inline int l2cap_send_req(struct l2cap_conn *conn, u8 ident, u8 code,
u16 len, void *data);

output:
# make
<snip>
net/bluetooth/l2cap.c: In function `__l2cap_sock_close':
net/bluetooth/l2cap.c:77: sorry, unimplemented: inlining failed in call to
'l2cap_get_ident': function body not available
net/bluetooth/l2cap.c:284: sorry, unimplemented: called from here
net/bluetooth/l2cap.c:78: sorry, unimplemented: inlining failed in call to
'l2cap_send_req': function body not available
net/bluetooth/l2cap.c:291: sorry, unimplemented: called from here

When I remove inline it seems to compile:
net/bluetooth/l2cap.c:77: warning: 'l2cap_get_ident' declared inline after
being called
net/bluetooth/l2cap.c:77: warning: previous declaration of 'l2cap_get_ident'
was here
net/bluetooth/l2cap.c:78: warning: 'l2cap_send_req' declared inline after
beingcalled
net/bluetooth/l2cap.c:78: warning: previous declaration of 'l2cap_send_req'
washere

Could someone please take a look at this?
Thanks in advance,
Dick


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel/listinfo/bluez-devel


2004-11-06 13:17:25

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] inline problem gcc 3.4.2 and 2.6.9-mh3

Hi Dick,

> GCC 3.4.2 doesn't seem like the prototypes:
>
> static inline u8 l2cap_get_ident(struct l2cap_conn *conn);
> static inline int l2cap_send_req(struct l2cap_conn *conn, u8 ident, u8 code,
> u16 len, void *data);
>
> output:
> # make
> <snip>
> net/bluetooth/l2cap.c: In function `__l2cap_sock_close':
> net/bluetooth/l2cap.c:77: sorry, unimplemented: inlining failed in call to
> 'l2cap_get_ident': function body not available
> net/bluetooth/l2cap.c:284: sorry, unimplemented: called from here
> net/bluetooth/l2cap.c:78: sorry, unimplemented: inlining failed in call to
> 'l2cap_send_req': function body not available
> net/bluetooth/l2cap.c:291: sorry, unimplemented: called from here
>
> When I remove inline it seems to compile:
> net/bluetooth/l2cap.c:77: warning: 'l2cap_get_ident' declared inline after
> being called
> net/bluetooth/l2cap.c:77: warning: previous declaration of 'l2cap_get_ident'
> was here
> net/bluetooth/l2cap.c:78: warning: 'l2cap_send_req' declared inline after
> beingcalled
> net/bluetooth/l2cap.c:78: warning: previous declaration of 'l2cap_send_req'
> washere
>
> Could someone please take a look at this?

this is a know problem and will be fixed in the final 2.6.10 kernel. Use
an older compiler and everything will be fine.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel/listinfo/bluez-devel