[arch-general] REG_RIP undeclared

Alexander 'hatred' Drozdoff adrozdoff at gmail.com
Sun Jun 6 11:32:09 EDT 2010


В Sun, 6 Jun 2010 16:38:43 +0200
Lukáš Jirkovský <l.jirkovsky at gmail.com> пишет:

LJ> Hello everyone,
LJ> recently I've a problem building rawstudio-svn on x86_64.
LJ> Unfortunately it seems that the problem doesn't lie in the rawstudio
LJ> itself, because I'm not able to build any older revision which I was
LJ> able to build before.
LJ> 
LJ> The error is:
LJ> application.c: In function ‘segfault_sigaction’:
LJ> application.c:599:56: error: ‘REG_RIP’ undeclared (first use in this function)
LJ> application.c:599:56: note: each undeclared identifier is reported
LJ> only once for each function it appears in
LJ> application.c:617:44: error: ‘REG_RAX’ undeclared (first use in this function)
LJ> application.c:619:30: error: ‘REG_RBX’ undeclared (first use in this function)
LJ> application.c:621:30: error: ‘REG_RCX’ undeclared (first use in this function)
LJ> application.c:623:30: error: ‘REG_RDX’ undeclared (first use in this function)
LJ> application.c:625:30: error: ‘REG_RSI’ undeclared (first use in this function)
LJ> application.c:627:30: error: ‘REG_RDI’ undeclared (first use in this function)
LJ> application.c:629:30: error: ‘REG_R8’ undeclared (first use in this function)
LJ> application.c:631:30: error: ‘REG_R9’ undeclared (first use in this function)
LJ> application.c:633:30: error: ‘REG_R10’ undeclared (first use in this function)
LJ> application.c:635:30: error: ‘REG_R11’ undeclared (first use in this function)
LJ> application.c:637:30: error: ‘REG_R12’ undeclared (first use in this function)
LJ> application.c:639:30: error: ‘REG_R13’ undeclared (first use in this function)
LJ> application.c:641:30: error: ‘REG_R14’ undeclared (first use in this function)
LJ> application.c:643:30: error: ‘REG_R15’ undeclared (first use in this function)
LJ> application.c:645:30: error: ‘REG_RSP’ undeclared (first use in this function)
LJ> 
LJ> I did a grep on /usr/include and /usr/lib but nothing defines any of
LJ> these. My guess is that the problem may be caused by a new gcc. I
LJ> should note I already searched on google but without any success (most
LJ> results were saying that instead of REG_EIP, REG_EAX and others the
LJ> REG_RIP etc. should be used on 64bit systems).
LJ> 
LJ> What do you think where is the source of the problem?
LJ> 

On my 64bit this macros defined in /usr/include/sys/ucontext.h

Try at the top of source.c add:
#define __USE_GNU
#include <sys/ucontext.h>

-- 
WBR
Alexander Drozdov
FIDO: 2:5045/41.84
Site: http://hatred.homelinux.net
Site: http://archlinux.org.ru


More information about the arch-general mailing list