ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] extern inline function redifinition
@ 2007-10-23 21:05 Peter V. Saveliev
  2007-10-23 21:16 ` Konstantin A. Lepikhov
  0 siblings, 1 reply; 5+ messages in thread
From: Peter V. Saveliev @ 2007-10-23 21:05 UTC (permalink / raw)
  To: ALT Linux Team development discussions

...

Знатокам С вопрос: я получаю такую ошибку:

/bin/sh ./libtool --tag=CC --mode=compile 
gcc -DHAVE_CONFIG_H -I. -I. -I. -I./ -I./compat     -O2 -Wall -g -DPATH_HONEYDINCLUDE="\"/usr/local/include/honeyd\"" -DPATH_HONEYDDATA="\"/usr/local/share/honeyd\"" -DPATH_HONEYDLIB="\"/usr/local/lib/honeyd\"" -DHONEYD_PLUGINS_DECLARE="" -DHONEYD_PLUGINS="" -DPATH_RRDTOOL="\"/usr/bin/rrdtool\"" -c -o 
honeyd_overload.lo honeyd_overload.c
 
gcc -DHAVE_CONFIG_H -I. -I. -I. -I./ -I./compat -O2 -Wall -g -DPATH_HONEYDINCLUDE=\"/usr/local/include/honeyd\" -DPATH_HONEYDDATA=\"/usr/local/share/honeyd\" -DPATH_HONEYDLIB=\"/usr/local/lib/honeyd\" -DHONEYD_PLUGINS_DECLARE= -DHONEYD_PLUGINS= -DPATH_RRDTOOL=\"/usr/bin/rrdtool\" -c 
honeyd_overload.c  -fPIC -DPIC -o .libs/honeyd_overload.o
honeyd_overload.c: In function 'recvmsg':
honeyd_overload.c:738: sorry, unimplemented: inlining failed in call 
to 'recvfrom': redefined extern inline functions are not considered for 
inlining
honeyd_overload.c:873: sorry, unimplemented: called from here
make[2]: *** [honeyd_overload.lo] Error 1
make[2]: Leaving directory `/var/lib/home/peet/RPM/BUILD/honeyd-1.5c'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/lib/home/peet/RPM/BUILD/honeyd-1.5c'
make: *** [all] Error 2


Что это за шайтан?

-- 
Peter V. Saveliev


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] extern inline function redifinition
  2007-10-23 21:05 [devel] extern inline function redifinition Peter V. Saveliev
@ 2007-10-23 21:16 ` Konstantin A. Lepikhov
  2007-10-23 22:01   ` Peter V. Saveliev
  0 siblings, 1 reply; 5+ messages in thread
From: Konstantin A. Lepikhov @ 2007-10-23 21:16 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1554 bytes --]

Hi Peter!

Wednesday 24, at 01:05:14 AM you wrote:

> ...
> 
> Знатокам С вопрос: я получаю такую ошибку:
> 
> /bin/sh ./libtool --tag=CC --mode=compile 
> gcc -DHAVE_CONFIG_H -I. -I. -I. -I./ -I./compat     -O2 -Wall -g -DPATH_HONEYDINCLUDE="\"/usr/local/include/honeyd\"" -DPATH_HONEYDDATA="\"/usr/local/share/honeyd\"" -DPATH_HONEYDLIB="\"/usr/local/lib/honeyd\"" -DHONEYD_PLUGINS_DECLARE="" -DHONEYD_PLUGINS="" -DPATH_RRDTOOL="\"/usr/bin/rrdtool\"" -c -o 
> honeyd_overload.lo honeyd_overload.c
>  
> gcc -DHAVE_CONFIG_H -I. -I. -I. -I./ -I./compat -O2 -Wall -g -DPATH_HONEYDINCLUDE=\"/usr/local/include/honeyd\" -DPATH_HONEYDDATA=\"/usr/local/share/honeyd\" -DPATH_HONEYDLIB=\"/usr/local/lib/honeyd\" -DHONEYD_PLUGINS_DECLARE= -DHONEYD_PLUGINS= -DPATH_RRDTOOL=\"/usr/bin/rrdtool\" -c 
> honeyd_overload.c  -fPIC -DPIC -o .libs/honeyd_overload.o
> honeyd_overload.c: In function 'recvmsg':
> honeyd_overload.c:738: sorry, unimplemented: inlining failed in call 
> to 'recvfrom': redefined extern inline functions are not considered for 
> inlining
> honeyd_overload.c:873: sorry, unimplemented: called from here
> make[2]: *** [honeyd_overload.lo] Error 1
> make[2]: Leaving directory `/var/lib/home/peet/RPM/BUILD/honeyd-1.5c'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/var/lib/home/peet/RPM/BUILD/honeyd-1.5c'
> make: *** [all] Error 2
> 
> 
> Что это за шайтан?
а что в коде? Помойму просто надо убрать inline декларирование из
extern'ов, такое даже в ядре не используют.

-- 
WBR et al.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] extern inline function redifinition
  2007-10-23 21:16 ` Konstantin A. Lepikhov
@ 2007-10-23 22:01   ` Peter V. Saveliev
  2007-10-23 22:37     ` Konstantin A. Lepikhov
  0 siblings, 1 reply; 5+ messages in thread
From: Peter V. Saveliev @ 2007-10-23 22:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В сообщении от Wednesday 24 October 2007 01:16:00 Konstantin A. Lepikhov 
написал(а):
<skip />
> а что в коде? Помойму просто надо убрать inline декларирование из
> extern'ов, такое даже в ядре не используют.

сам вызов:

        /* Now we have successfully converted the call into a recvmsg call */
        ret = recvfrom(sock, data, len, flags,
            msg->msg_name, &msg->msg_namelen);

что вызывает (в этом же файле):

ssize_t
recvfrom(int sock, void *buf, size_t len, int flags, struct sockaddr *from,
    socklen_t *fromlen)
{

как оно прототипировано там же:

#define DECLARE(name, ret, args) static ret (*libc_##name) args
DECLARE(recvfrom, ssize_t, (int, void *, size_t, int, struct sockaddr *,
            socklen_t *));

Можешь подсказать, _зачем_ оно так? :)

-- 
Peter V. Saveliev

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] extern inline function redifinition
  2007-10-23 22:01   ` Peter V. Saveliev
@ 2007-10-23 22:37     ` Konstantin A. Lepikhov
  2007-10-24 16:35       ` Alexey I. Froloff
  0 siblings, 1 reply; 5+ messages in thread
From: Konstantin A. Lepikhov @ 2007-10-23 22:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]

Hi Peter!

Wednesday 24, at 02:01:19 AM you wrote:

> В сообщении от Wednesday 24 October 2007 01:16:00 Konstantin A. Lepikhov 
> написал(а):
> <skip />
> > а что в коде? Помойму просто надо убрать inline декларирование из
> > extern'ов, такое даже в ядре не используют.
> 
> сам вызов:
> 
>         /* Now we have successfully converted the call into a recvmsg call */
>         ret = recvfrom(sock, data, len, flags,
>             msg->msg_name, &msg->msg_namelen);
> 
> что вызывает (в этом же файле):
> 
> ssize_t
> recvfrom(int sock, void *buf, size_t len, int flags, struct sockaddr *from,
>     socklen_t *fromlen)
> {
> 
> как оно прототипировано там же:
> 
> #define DECLARE(name, ret, args) static ret (*libc_##name) args
> DECLARE(recvfrom, ssize_t, (int, void *, size_t, int, struct sockaddr *,
>             socklen_t *));
> 
> Можешь подсказать, _зачем_ оно так? :)
они редефайнят глибцовые функции, но вот зачем непонятно - может, это для
совместимости с win32 сделано. Попробуй выкинуть все эти DECLARE, и
добавить обычные глибцовые заголовки.

-- 
WBR et al.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] extern inline function redifinition
  2007-10-23 22:37     ` Konstantin A. Lepikhov
@ 2007-10-24 16:35       ` Alexey I. Froloff
  0 siblings, 0 replies; 5+ messages in thread
From: Alexey I. Froloff @ 2007-10-24 16:35 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 366 bytes --]

* Konstantin A. Lepikhov <lakostis@> [071024 02:38]:
> > Можешь подсказать, _зачем_ оно так? :)
> они редефайнят глибцовые функции, но вот зачем непонятно - может, это для
> совместимости с win32 сделано.
Это же honeypot.  Оно переопределяет эти функции и вешает свои
обработчики.  Примерно также как всякие fakeroot'ы это делают.

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-10-24 16:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-23 21:05 [devel] extern inline function redifinition Peter V. Saveliev
2007-10-23 21:16 ` Konstantin A. Lepikhov
2007-10-23 22:01   ` Peter V. Saveliev
2007-10-23 22:37     ` Konstantin A. Lepikhov
2007-10-24 16:35       ` Alexey I. Froloff

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git