On Thu, Mar 5, 2015 at 2:23 PM, Bruce Richardson <bruce.richardson at intel.com > wrote:
> On Thu, Mar 05, 2015 at 09:15:39PM +0800, Michael Qiu wrote: > > include/rte_cpuflags.h:154:2: error: redeclaration of enumerator > ?REG_EAX? > > In file included from /usr/include/signal.h:358:0, > > from /usr/include/sys/wait.h:30, > > from /root/dpdk/app/test/test_mp_secondary.c:50: > > /usr/include/sys/ucontext.h:180:3: note: previous definition of > ?REG_EAX? was here > > > > In i686, from REG_EAX to REG_EDX are all defined in > > /usr/include/sys/ucontext.h > Well, this is the same for x86_64. $ grep -rl '\<REG_EAX\>' /usr/include/ /usr/include/x86_64-linux-gnu/sys/ucontext.h $ ls -l /usr/include/sys/ucontext.h lrwxrwxrwx 1 root root 34 Feb 22 12:45 /usr/include/sys/ucontext.h -> ../x86_64-linux-gnu/sys/ucontext.h So I am not sure I understand why we redefine stuff already available from the toolchain. Rather than prefixing, I think we should get rid of this and include the right header. -- David Marchand