I'm now porting omniORB3(an ORB from AT&T) to RTLINUX.
I met an error from g++ after I included rtl_cpp.h to this project.
I think that this version of g++(2.95.3) cann't compile inline assembler code in the
appropriate way.
I captured the executing screen as follows.
==============================================================
[root@soando orbcore]# make
/usr/bin/g++ -c -O2 -Wall -Wno-unused -D_REENTRANT -I. -I./.. -I./../..
-DUSE_omniORB_logStream -D_OMNIORB_LIBRARY -DUnixArchitecture
-DCONFIG_DEFAULT_LOCATION='"/etc/omniORB.cfg"' -I. -I../../../../include -D__x86__
-D__linux__ -D__OSVERSION__=2 -DminimumCORBA -DRTLINUX -D__KERNEL__ -Wall
-Wstrict-prototypes -fno-strict-aliasing -pipe -fno-strength-reduce -m486
-malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 -g -D__RTL__ -DMODULE
-D_LOOSE_KERNEL_NAMES -O2 -I/usr/include/rtlinux -I/usr/include/rtlinux/posix -o poa.o
poa.cc
In file included from /usr/include/asm/semaphore.h:39,
.......................
from ../../../../include/omniORB3/CORBA.h:260,
from poa.cc:119:
/usr/include/asm/system.h: In function `void __set_64bit(long long unsigned int *,
unsigned int, unsigned int)':
/usr/include/asm/system.h:152: parse error before `::'
In file included from /usr/include/linux/fs.h:168,
.......................
from poa.cc:119:
/usr/include/asm/semaphore.h: In function `void down_read(rw_semaphore *)':
/usr/include/asm/semaphore.h:286: parse error before `::'
/usr/include/asm/semaphore.h:294: confused by earlier errors, bailing out
cpp0: output pipe has been closed
make: *** [poa.o] Error 1
=============================================================
Inline assembly code which arises an error is as follows.
Tell me how can I make this g++ recognize this C++ code.
============================================================
extern inline void __set_64bit (unsigned long long * ptr,
unsigned int low, unsigned int high)
{
__asm__ __volatile__ (
"1: movl (%0), %%eax;
movl 4(%0), %%edx;
cmpxchg8b (%0);
jnz 1b"
:: "D"(ptr),
"b"(low),
"c"(high)
:
"ax","dx","memory");
}
===========================================================
Thank you
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/