Binary +x files are not being synced to Linux or Mac with the executable bit set.
Example:
$ p4 files ...//depot/Executable/f2709#1 - add change 2709 (text)//depot/Executable/hello.sh#2 - edit change 2710 (text+x)//depot/Executable/ls#1 - add change 2711 (binary+x)
Build step in job that runs 'ls -l':
[Executable] $ /bin/sh -xe /tmp/jenkins6963197685071756239.sh + ls -l total 144 -r--rw-r-- 1 kwirth kwirth 45 Dec 23 15:14 f2709 -r-xrwxr-x 1 kwirth kwirth 11 Dec 23 15:14 hello.sh -r--rw-r-- 1 kwirth kwirth 138208 Dec 23 15:14 ls
Note no 'x' on 'ls' line.
Reproduction Steps:
(1) Put an executable binary like 'ls' in the workspace and submit it. For example:
cp `which ls` .
p4 add -t binary+x ls
p4 submit -d "Adding binary"
(2) Create a Jenkins jobs that syncs the file.
(3) In the build job include an 'Execute Shell' step that runs 'ls -l'.
(4) Run job.
(5) Look in console log in output from ls for executable bit set on 'ls'.