vanilla build of 7.7p1 release on linux/4.17 fails with gcc8 @ "/usr/bin/ld: unrecognized option '-Wl,-z,retpolineplt'"

Darren Tucker dtucker at
Fri Jun 8 10:37:21 AEST 2018

One difference I notice is that in your failing example you are
invoking /usr/bin/ld directly to link:

               /usr/bin/ld -o ssh ssh.o readconf.o clientloop.o
sshtty.o sshconnect.o sshconnect2.o mux.o -L. -Lopenbsd-compat/
-Wl,-z,retpolineplt -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack
-fstack-protector-strong -pie  -lssh -lopenbsd-compat  -lutil -lz
-lcrypt -lresolv

whereas my example is invoking via gcc.  I assume you are explicitly
setting the LD env var?

To narrow this down I suggest:
a) take the failing link command line and delete -Wl, options other
than retpoline and see if it will link at any point.  Perhaps the
problem is the problem is occurs due to an interaction with other
b) try using LD=gcc and see if it behaves any different (also, see if
the list of options it detects is different).

Darren Tucker (dtucker at
GPG key 11EAA6FA / A86E 3E07 5B19 5880 E860  37F4 9357 ECEF 11EA A6FA (new)
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.

More information about the openssh-unix-dev mailing list