Hi,

I’ve added an additional compiler file for Wind River’s Diab cross-compiler: boost_1_59_0/tools/src/tools/diab.jam

(I based it on the cray.jam in the same directory)

I can successfully compile most of boost with only a handful odd compiler issues.

 

But the assembler rule is all wrong, and I need to override it successfully compile “context”,  the correct tool string is available in the shell as $(AR),

but I’m not sure how to write the jam syntax to propagate that, and override the default that seems to be coming from gcc.jam?

 

(Not sure why “context” is being built when the little summary says it won’t be, but that’s a separate issue?)

 

 

Brian Kuhl

Manager – Information Development

Wind River

 

 

 

source  ./vxworks_env.sh &&      \

./b2 install -j4 --prefix=/opt/vx7/workspace/PowerPC_VSB/usr/root --libdir=/opt/vx7/workspace/PowerPC_VSB/usr/lib/common --includedir=/opt/vx7/workspace/PowerPC_VSB/usr/h/public   \

                  link=static runtime-link=static toolset=diab-vxworks target-os=vxworks \

                  --with-atomic --with-chrono --with-coroutine --with-date_time --with-exception --with-filesystem --with-graph --with-iostreams --with-math --with-program_options --with-random --with-regex --with-serialization --with-system --with-thread --with-timer --with-test

Performing configuration checks

    - 32-bit                   : no  (cached)

    - 64-bit                   : yes (cached)

    - arm                      : no  (cached)

    - mips1                    : no  (cached)

    - power                    : yes (cached)

    - symlinks supported       : yes (cached)

    - lockfree boost::atomic_flag : no  (cached)

    - has_icu builds           : no  (cached)

    - zlib                     : yes (cached)

    - gcc visibility           : no  (cached)

    - long double support      : yes (cached)

Component configuration:

    - atomic                   : building

    - chrono                   : building

    - container                : not building

    - context                  : not building

    - coroutine                : building

    - coroutine2               : not building

    - date_time                : building

    - exception                : building

    - filesystem               : building

    - graph                    : building

    - graph_parallel           : not building

    - iostreams                : building

    - locale                   : not building

    - log                      : not building

    - math                     : building

    - mpi                      : not building

    - program_options          : building

    - python                   : not building

    - random                   : building

    - regex                    : building

    - serialization            : building

    - signals                  : not building

    - system                   : building

    - test                     : building

    - thread                   : building

    - timer                    : building

    - wave                     : not building

...patience...

...patience...

...patience...

...patience...

...found 28712 targets...

...updating 4 targets...

Jamfile</opt/vx7/workspace/PowerPC_VSB/usr/src/BOOST/boost_1_59_0/libs/context/build>.gas64 bin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi/asm/make_ppc64_sysv_elf_gas.o

libs/context/src/asm/make_ppc64_sysv_elf_gas.S: Assembler messages:

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:101: Error: alignment not a power of 2

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:112: Error: junk at end of line, first unrecognized character is `@'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:121: Error: no such instruction: `mflr %r6'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:125: Error: no such instruction: `clrrdi %r3,%r3,4'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:129: Error: no such instruction: `subi %r3,%r3,392'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:138: Error: no such instruction: `ld %r4,0(%r5)'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:139: Error: bad register name `%r4'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:141: Error: no such instruction: `ld %r4,8(%r5)'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:142: Error: bad register name `%r4'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:146: Error: no such instruction: `mflr %r0'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:148: Error: no such instruction: `bl 1f'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:151: Error: no such instruction: `mflr %r4'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:153: Error: no such instruction: `addi %r4,%r4,finish - 1b'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:155: Error: no such instruction: `mtlr %r0'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:158: Error: bad register name `%r4'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:161: Error: no such instruction: `mtlr %r6'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:163: Error: no such instruction: `blr '

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:167: Error: no such instruction: `mflr %r0'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:169: Error: bad register name `%r0'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:171: Error: no such instruction: `stdu %r1,-32(%r1)'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:174: Error: no such instruction: `li %r3,0'

libs/context/src/asm/make_ppc64_sysv_elf_gas.S:176: Error: no such instruction: `bl _exit'

    cpp -x assembler-with-cpp "libs/context/src/asm/make_ppc64_sysv_elf_gas.S" | as --64 -o "bin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi/asm/make_ppc64_sysv_elf_gas.o"

...failed Jamfile</opt/vx7/workspace/PowerPC_VSB/usr/src/BOOST/boost_1_59_0/libs/context/build>.gas64 bin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi/asm/make_ppc64_sysv_elf_gas.o...

Jamfile</opt/vx7/workspace/PowerPC_VSB/usr/src/BOOST/boost_1_59_0/libs/context/build>.gas64 bin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi/asm/jump_ppc64_sysv_elf_gas.o

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S: Assembler messages:

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:101: Error: alignment not a power of 2

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:112: Error: junk at end of line, first unrecognized character is `@'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:121: Error: no such instruction: `subi %r1,%r1,328'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:124: Error: bad register name `%r2'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:126: Error: bad register name `%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:127: Error: bad register name `%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:128: Error: bad register name `%r16'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:129: Error: bad register name `%r17'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:130: Error: bad register name `%r18'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:131: Error: bad register name `%r19'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:132: Error: bad register name `%r20'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:133: Error: bad register name `%r21'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:134: Error: bad register name `%r22'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:135: Error: bad register name `%r23'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:136: Error: bad register name `%r24'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:137: Error: bad register name `%r25'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:138: Error: bad register name `%r26'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:139: Error: bad register name `%r27'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:140: Error: bad register name `%r28'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:141: Error: bad register name `%r29'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:142: Error: bad register name `%r30'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:143: Error: bad register name `%r31'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:146: Error: no such instruction: `mfcr %r0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:147: Error: bad register name `%r0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:149: Error: no such instruction: `mflr %r0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:150: Error: bad register name `%r0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:152: Error: bad register name `%r0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:155: Error: no such instruction: `cmpwi cr7,%r6,0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:156: Error: no such instruction: `beq cr7,1f'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:158: Error: no such instruction: `stfd %f14,0(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:159: Error: no such instruction: `stfd %f15,8(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:160: Error: no such instruction: `stfd %f16,16(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:161: Error: no such instruction: `stfd %f17,24(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:162: Error: no such instruction: `stfd %f18,32(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:163: Error: no such instruction: `stfd %f19,40(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:164: Error: no such instruction: `stfd %f20,48(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:165: Error: no such instruction: `stfd %f21,56(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:166: Error: no such instruction: `stfd %f22,64(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:167: Error: no such instruction: `stfd %f23,72(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:168: Error: no such instruction: `stfd %f24,80(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:169: Error: no such instruction: `stfd %f25,88(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:170: Error: no such instruction: `stfd %f26,96(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:171: Error: no such instruction: `stfd %f27,104(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:172: Error: no such instruction: `stfd %f28,112(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:173: Error: no such instruction: `stfd %f29,120(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:174: Error: no such instruction: `stfd %f30,128(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:175: Error: no such instruction: `stfd %f31,136(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:176: Error: no such instruction: `mffs %f0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:177: Error: no such instruction: `stfd %f0,144(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:181: Error: bad register name `%r1'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:184: Error: no such instruction: `mr %r1,%r4'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:187: Error: no such instruction: `cmpwi cr7,%r6,0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:188: Error: no such instruction: `beq cr7,2f'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:190: Error: no such instruction: `lfd %f14,0(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:191: Error: no such instruction: `lfd %f15,8(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:192: Error: no such instruction: `lfd %f16,16(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:193: Error: no such instruction: `lfd %f17,24(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:194: Error: no such instruction: `lfd %f18,32(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:195: Error: no such instruction: `lfd %f19,40(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:196: Error: no such instruction: `lfd %f20,48(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:197: Error: no such instruction: `lfd %f21,56(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:198: Error: no such instruction: `lfd %f22,64(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:199: Error: no such instruction: `lfd %f23,72(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:200: Error: no such instruction: `lfd %f24,80(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:201: Error: no such instruction: `lfd %f25,88(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:202: Error: no such instruction: `lfd %f26,96(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:203: Error: no such instruction: `lfd %f27,104(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:204: Error: no such instruction: `lfd %f28,112(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:205: Error: no such instruction: `lfd %f29,120(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:206: Error: no such instruction: `lfd %f30,128(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:207: Error: no such instruction: `lfd %f31,136(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:208: Error: no such instruction: `lfd %f0,144(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:209: Error: no such instruction: `mtfsf 0xff,%f0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:213: Error: no such instruction: `ld %r2,152(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:215: Error: no such instruction: `ld %r14,160(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:216: Error: no such instruction: `ld %r15,168(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:217: Error: no such instruction: `ld %r16,176(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:218: Error: no such instruction: `ld %r17,184(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:219: Error: no such instruction: `ld %r18,192(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:220: Error: no such instruction: `ld %r19,200(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:221: Error: no such instruction: `ld %r20,208(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:222: Error: no such instruction: `ld %r21,216(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:223: Error: no such instruction: `ld %r22,224(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:224: Error: no such instruction: `ld %r23,232(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:225: Error: no such instruction: `ld %r24,240(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:226: Error: no such instruction: `ld %r25,248(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:227: Error: no such instruction: `ld %r26,256(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:228: Error: no such instruction: `ld %r27,264(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:229: Error: no such instruction: `ld %r28,272(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:230: Error: no such instruction: `ld %r29,280(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:231: Error: no such instruction: `ld %r30,288(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:232: Error: no such instruction: `ld %r31,296(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:235: Error: no such instruction: `ld %r0,304(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:236: Error: no such instruction: `mtcr %r0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:238: Error: no such instruction: `ld %r0,312(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:239: Error: no such instruction: `mtlr %r0'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:242: Error: no such instruction: `ld %r12,320(%r1)'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:244: Error: no such instruction: `mtctr %r12'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:247: Error: no such instruction: `addi %r1,%r1,328'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:251: Error: no such instruction: `mr %r3,%r5'

libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:254: Error: no such instruction: `bctr'

    cpp -x assembler-with-cpp "libs/context/src/asm/jump_ppc64_sysv_elf_gas.S" | as --64 -o "bin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi/asm/jump_ppc64_sysv_elf_gas.o"

...failed Jamfile</opt/vx7/workspace/PowerPC_VSB/usr/src/BOOST/boost_1_59_0/libs/context/build>.gas64 bin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi/asm/jump_ppc64_sysv_elf_gas.o...

...skipped <pbin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi>libboost_context.a for lack of <pbin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi>asm/make_ppc64_sysv_elf_gas.o...

...skipped <p/opt/vx7/workspace/PowerPC_VSB/usr/lib/common>libboost_context.a for lack of <pbin.v2/libs/context/build/diab-vxworks/release/link-static/runtime-link-static/target-os-vxworks/threading-multi>libboost_context.a...

...failed updating 2 targets...

...skipped 2 targets...