Pass through flags to the compiler

We need to arrange to build specific architecture
exectutables, such as 64 bit where the compiler
would normally build 32, so we need environment flags
to make it through to the compiler.

Change-Id: Iac73ee36407b3e3e85cdaa84a596944e51d6864e
Reviewed-on: https://gerrit.teamwpc.local/199
Reviewed-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Tested-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Implement mintomic for PPC 64 on GCC for AIX.

Not known to work on any other PPC variation.
Includes cmake bodging to get the appropriate flags
through to the compiler/linker for 64 bit executables
otherwise we get 32 bit ones.

Change-Id: I6029716198b0cbb4426f349c4df52014e3d84ccd
Reviewed-on: https://gerrit.teamwpc.local/200
Reviewed-by: Tom Quarendon <tom.quarendon@teamwpc.co.uk>
Tested-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Add blank content to libmintomic.a

Solaris's ld gets upset by a completely empty .a file
so add something to make it happy

Change-Id: I7905791d97d4b0760489f38623c7103879527b36
Reviewed-on: https://gerrit.teamwpc.local/201
Reviewed-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Tested-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Implementation of mintomic for Sparc 64/GCC/Solaris

Change-Id: Id99491af05c2f57a142dc3e432ebd11c4f6ae87b
Reviewed-on: https://gerrit.teamwpc.local/202
Reviewed-by: Tom Quarendon <tom.quarendon@teamwpc.co.uk>
Reviewed-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Tested-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Implementation of mintomic for zLinux

Works on 32 and 64 bit S390 compiled with GCC
Assumes that older hardware may be targetted so
cannot use more modern instruction

Change-Id: Iacba891083f23c6094d7f46f89bb8734c8b3a97c
Reviewed-on: https://gerrit.teamwpc.local/203
Reviewed-by: Tom Quarendon <tom.quarendon@teamwpc.co.uk>
Reviewed-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Tested-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
A shell script to build test suite on zos

As I don't have cmake for zos, this shell script lets me
test it. This relies on generating the generated...cpp tests
on another platform, linux/x86_64 worked for me

Change-Id: I8440d23db13d3f3d5777f579c0edfb7d1c36c54a
Reviewed-on: https://gerrit.teamwpc.local/204
Reviewed-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Tested-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Mintomic for S390 on zOS

This is for 31bit AMODE only, XPLINK linkage.
Extending for 64 bit should be easy based on zLinux
64bit implementation and this.
Inefficient barriers as they are function calls. In
fact whole implementation is function call based.

No idea if mintsystem or mintpack work outside of the
parts necessary for the test suite.

This is based on using xlC as the compiler, and that the
resulting calls will be used in C++. xlc suite doesn't
allow inlined asm in C++, but it could be done for C.

Again, uses older instructions, assuming old hardware could
be the target.

Many of the _gcc files should really be _pthreads, and as zos has
pthreads, I'm using them unadulterated. Unlike the other unices
encountered zos won't cast pthread_t to uint32, so we mangle it to
do so.

Change-Id: Ic486f73d292479bdc7f675e8057dbacf0b361098
Reviewed-on: https://gerrit.teamwpc.local/205
Reviewed-by: Tom Quarendon <tom.quarendon@teamwpc.co.uk>
Reviewed-by: Alan Clucas <alan.clucas@teamwpc.co.uk>
Tested-by: Alan Clucas <alan.clucas@teamwpc.co.uk>