Could you try to narrow it down to one file or the other? The atomicops.h
header
<https://github.com/google/protobuf/blob/ce5160b83b03c29fd27fc9f58370092b321bf2bc/src/google/protobuf/stubs/atomicops.h#L195>
pulls
in the right atomic operations implementation based on the platform, so
with a little debugging it should be possible to see whether it's pulling
the _power.h implementation or the _ppc_gcc.h implementation for your build.

On Wed, Nov 9, 2016 at 6:59 AM, Bob Wilkinson <wilkinson....@gmail.com>
wrote:

> I am trying to build version 3.1 of the cpp protobuffer on AIX (with g++)
> and see the build fail. I think it is due to incorrect inline assembler
> code in google/protobuf/stubs/atomicops_internals_power.h or
> google/protobuf/stubs/atomicops_internals_ppc_gcc.h?
>
> bash-4.4$ cd -
> /home/bob/src/protobuf-3.1.0/src
> bash-4.4$ make
> depbase=`echo google/protobuf/stubs/common.lo | sed
> 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
> /bin/sh ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.
> -I..    -D_THREAD_SAFE  -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall
> -Wno-sign-compare -O2 -g -DNDEBUG -MT google/protobuf/stubs/common.lo -MD
> -MP -MF $depbase.Tpo -c -o google/protobuf/stubs/common.lo
> google/protobuf/stubs/common.cc &&\
> mv -f $depbase.Tpo $depbase.Plo
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -D_THREAD_SAFE
> -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall -Wno-sign-compare -O2 -g -DNDEBUG -MT
> google/protobuf/stubs/common.lo -MD -MP -MF 
> google/protobuf/stubs/.deps/common.Tpo
> -c google/protobuf/stubs/common.cc  -DPIC -o google/protobuf/stubs/.libs/
> common.o
> Assembler:
> /tmp//ccSswhyP.s: line 2762: Error In Syntax
> /tmp//ccSswhyP.s: line 2764: Error In Syntax
> /tmp//ccSswhyP.s: line 6784: Error In Syntax
> /tmp//ccSswhyP.s: line 6786: Error In Syntax
> /tmp//ccSswhyP.s: line 8729: Error In Syntax
> /tmp//ccSswhyP.s: line 8731: Error In Syntax
> /tmp//ccSswhyP.s: line 8911: Error In Syntax
> /tmp//ccSswhyP.s: line 8913: Error In Syntax
> /tmp//ccSswhyP.s: line 9144: Error In Syntax
> /tmp//ccSswhyP.s: line 9146: Error In Syntax
> /tmp//ccSswhyP.s: line 9745: Error In Syntax
> /tmp//ccSswhyP.s: line 9747: Error In Syntax
> Makefile:3922: recipe for target 'google/protobuf/stubs/common.lo' failed
> make: *** [google/protobuf/stubs/common.lo] Error 1
> bash-4.4$ g++ -DHAVE_CONFIG_H -I. -I.. -D_THREAD_SAFE -DHAVE_PTHREAD=1
> -DHAVE_ZLIB=1 -Wall -Wno-sign-compare -O2 -g -DNDEBUG -MT
> google/protobuf/stubs/common.lo -MD -MP -MF 
> google/protobuf/stubs/.deps/common.Tpo
> -S google/protobuf/stubs/common.cc -DPIC -o google/protobuf/stubs/.libs/
> common.s
> bash-4.4$ as -a64 google/protobuf/stubs/.libs/common.s
> Assembler:
> google/protobuf/stubs/.libs/common.s: line 2762: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 2764: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 6784: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 6786: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8729: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8731: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8911: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8913: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9144: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9146: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9745: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9747: 1252-142 Syntax error.
> bash-4.4$ cd -
> /home/bob/src/protobuf-3.1.0/src
> bash-4.4$ make
> depbase=`echo google/protobuf/stubs/common.lo | sed
> 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
> /bin/sh ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.
> -I..    -D_THREAD_SAFE  -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall
> -Wno-sign-compare -O2 -g -DNDEBUG -MT google/protobuf/stubs/common.lo -MD
> -MP -MF $depbase.Tpo -c -o google/protobuf/stubs/common.lo
> google/protobuf/stubs/common.cc &&\
> mv -f $depbase.Tpo $depbase.Plo
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -D_THREAD_SAFE
> -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall -Wno-sign-compare -O2 -g -DNDEBUG -MT
> google/protobuf/stubs/common.lo -MD -MP -MF 
> google/protobuf/stubs/.deps/common.Tpo
> -c google/protobuf/stubs/common.cc  -DPIC -o google/protobuf/stubs/.libs/
> common.o
> Assembler:
> /tmp//ccSswhyP.s: line 2762: Error In Syntax
> /tmp//ccSswhyP.s: line 2764: Error In Syntax
> /tmp//ccSswhyP.s: line 6784: Error In Syntax
> /tmp//ccSswhyP.s: line 6786: Error In Syntax
> /tmp//ccSswhyP.s: line 8729: Error In Syntax
> /tmp//ccSswhyP.s: line 8731: Error In Syntax
> /tmp//ccSswhyP.s: line 8911: Error In Syntax
> /tmp//ccSswhyP.s: line 8913: Error In Syntax
> /tmp//ccSswhyP.s: line 9144: Error In Syntax
> /tmp//ccSswhyP.s: line 9146: Error In Syntax
> /tmp//ccSswhyP.s: line 9745: Error In Syntax
> /tmp//ccSswhyP.s: line 9747: Error In Syntax
> Makefile:3922: recipe for target 'google/protobuf/stubs/common.lo' failed
> make: *** [google/protobuf/stubs/common.lo] Error 1
>
> Looking at the generated assembler code ...
>
> bash-4.4$ g++ -DHAVE_CONFIG_H -I. -I.. -D_THREAD_SAFE -DHAVE_PTHREAD=1
> -DHAVE_ZLIB=1 -Wall -Wno-sign-compare -O2 -g -DNDEBUG -MT
> google/protobuf/stubs/common.lo -MD -MP -MF 
> google/protobuf/stubs/.deps/common.Tpo
> -S google/protobuf/stubs/common.cc -DPIC -o google/protobuf/stubs/.libs/
> common.s
> bash-4.4$ as -a64 google/protobuf/stubs/.libs/common.s
> Assembler:
> google/protobuf/stubs/.libs/common.s: line 2762: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 2764: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 6784: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 6786: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8729: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8731: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8911: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 8913: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9144: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9146: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9745: 1252-142 Syntax error.
> google/protobuf/stubs/.libs/common.s: line 9747: 1252-142 Syntax error.
> bash-4.4$ sed -n -e '9745,9747p' google/protobuf/stubs/.libs/common.s
>         1:     lwz 9, 12(31)
>                cmpw 9, 9
>                bne- 1b
> bash-4.4$ grep -l bne- google/protobuf/stubs/*.h
> google/protobuf/stubs/atomicops_internals_power.h
> google/protobuf/stubs/atomicops_internals_ppc_gcc.h
> bash-4.4$
>
> --
> 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 https://groups.google.com/group/protobuf.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to