Hello,

I am building Protocol Buffers from github for RTEMS 
(http://www.rtems.org/) to run on a Xilinx Zynq (ARM CortexA9) and I am 
making some progress but I have some questions.

I am using the current development head for RTEMS which is called 4.11 and 
it is stable and almost about to be released. The gcc is:

$ arm-rtems4.11-gcc -v
Using built-in specs.
COLLECT_GCC=/opt/work/rtems/4.11/bin/arm-rtems4.11-gcc
COLLECT_LTO_WRAPPER=/opt/work/rtems/4.11/libexec/gcc/arm-rtems4.11/4.9.2/lto
-wrapper
Target: arm-rtems4.11 
Configured with: ../gcc-4.9.2/configure --prefix=/opt/work/rtems/4.11 --
bindir=/opt/work/rtems/4.11/bin --exec_prefix=/opt/work/rtems/4.11 --
includedir=/opt/work/rtems/4.11/include --libdir=/opt/work/rtems/4.11/lib --
libexecdir=/opt/work/rtems/4.11/libexec --mandir=/opt/work/rtems/4.11/share/man 
--infodir=/opt/work/rtems/4.11/share/info --datadir=/opt/work/rtems/4.11/share 
--build=x86_64-freebsd10.0 --host=x86_64-freebsd10.0 --target=arm-rtems4.11 
--disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib 
--with-system-zlib --disable-nls --without-included-gettext 
--disable-win32-registry 
--enable-version-specific-runtime-libs --disable-lto 
--enable-newlib-io-c99-formats 
--enable-newlib-iconv --enable-newlib-iconv-encodings=big5,cp775,cp850,cp852
,cp855,cp866,euc_jp,euc_kr,euc_tw,iso_8859_1,iso_8859_10,iso_8859_11,
iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,iso_8859_3,iso_8859_4,
iso_8859_5,iso_8859_6,iso_8859_7,iso_8859_8,iso_8859_9,iso_ir_111,koi8_r,
koi8_ru,koi8_u,koi8_uni,ucs_2,ucs_2_internal,ucs_2be,ucs_2le,ucs_4,
ucs_4_internal,ucs_4be,ucs_4le,us_ascii,utf_16,utf_16be,utf_16le,utf_8,
win_1250,win_1251,win_1252,win_1253,win_1254,win_1255,win_1256,win_1257,win_1258
 
--enable-threads --disable-plugin --enable-obsolete --enable-languages=c,c++ 
Thread model: rtems 
gcc version 4.9.2 20141030 (RTEMS 4.11, RSB 
e7cbf74fe2c94f0a233b8a7efcac3e75c239333c, Newlib 
de616601501c4f82968683e80c112604a2d40222) (GCC)


The first are errors related to Atromics. We are adding -fpermissive to 
make then warning. Here are a few of the many warnings we are seeing:

                 from ../../protobuf.git/src/google/protobuf/arenastring.h:
40,
                 from ../../protobuf.git/src/google/protobuf/descriptor.pb.h
:23,
                 from ../../protobuf.git/src/google/protobuf/compiler/ruby/
ruby_generator.cc:36:
../../protobuf.git/src/google/protobuf/stubs/once.h: In function 'void 
google::protobuf::GoogleOnceInit(google::protobuf::ProtobufOnceType*, void 
(*)())':
../../protobuf.git/src/google/protobuf/stubs/once.h:125:34: warning: 
invalid conversion from 'google::protobuf::ProtobufOnceType* {aka int*}' to 
'const 
volatile Atomic32* {aka const volatile long int*}' [-fpermissive]
  if (internal::Acquire_Load(once) != ONCE_STATE_DONE) {
                                 ^

In file included from ../../protobuf.git/src/google/protobuf/stubs/atomicops
.h:205:0,
                 from ../../protobuf.git/src/google/protobuf/stubs/
atomic_sequence_num.h:33,
                 from ../../protobuf.git/src/google/protobuf/arena.h:38,
                 from ../../protobuf.git/src/google/protobuf/descriptor.pb.h
:22,
                 from ../../protobuf.git/src/google/protobuf/compiler/ruby/
ruby_generator.cc:36:
../../protobuf.git/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h:
136:17: note: initializing argument 1 of 'google::protobuf::internal::Atomic32 
google::protobuf::internal::Acquire_Load(const volatile Atomic32*)'


The other issue is RTEMS is not self hosting and so always cross-compiled. 
Is there a way to disable running tests ? It makes no sense to run the 
tests when the build and host are not the same.

Thanks

Chris

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to