12aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe#! /bin/sh
22aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe
32aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe# prepare the hard or soft link allexec32 and allexec64
42aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe# On 'single arch' compiled Valgrind, allexec32 and allexec64 will point
52aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe# to the same executable.
62aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe# On 'bi-arch', they will point respectively to the executable compiled
72aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe# for the revelant arch.
82aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe# This allows to test the various exec system calls the same way.
92aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe
102aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe
112aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippepair()
122aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe{
132aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe  if ../../tests/arch_test $1 || ../../tests/arch_test $2
142aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe  then
152aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      if ../../tests/arch_test $1
162aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      then
172aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe         ln -f $1/allexec allexec32
182aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      else
192aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe         ln -f -s allexec64 allexec32
202aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      fi
212aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      if ../../tests/arch_test $2
222aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      then
232aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe         ln -f $2/allexec allexec64
242aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      else
252aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe         ln -f -s allexec32 allexec64
262aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe      fi
272aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe  fi
282aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe}
292aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe
302aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe
312aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippepair x86                        amd64
322aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippepair ppc32                      ppc64
332aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippepair s390x_unexisting_in_32bits s390x
34b1a628dc4dbe8eff297a669df28bce612d87d23esewardjpair arm                        arm64
358bea86765355af1c105e866f1b5bfed3ad672209petarjpair mips32                     mips64
36112711afefcfcd43680c7c4aa8d38ef180e8811esewardjpair tilegx_unexisting_32bits   tilegx
372aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippe
382aeaf8e8f171a27a2ca6c2c71df4ba7527099f52philippeexit 0
39