-Wl etc is not a valid linker flag, its a flag for gcc which passes the following flags to the linker. so basicly the LDFLAGS are just wrong. in general no CFLAGS or LDFLAGS should be overriden, since wireguard uses exact he same flags which is used for compiling the kernel. so setting
custom flags should be avoided

Am 23.01.2019 um 22:07 schrieb John:
I am running Arch ARM (aarch64) on an ODROID-C2 using gcc v8.2.1.
Arch ARM which ships with the following LDFLAGS as defaults,
"-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"

When I build wireguard on this device as shown below, I get this error
but am unsure why:

ld: unrecognized option '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
ld: use the --help option for usage information
make[2]: *** [scripts/Makefile.build:393:
/scratch/WireGuard-0.0.20190123/src/wireguard.o] Error 1
make[1]: *** [Makefile:1358:
_module_/scratch/WireGuard-0.0.20190123/src] Error 2
make: *** [Makefile:36: module] Error 2

If I remove the '-Wl' switch from the distro default, it builds
without error.  Any advice is appreciated.

Complete build log and my FLAGS:

% export CPPFLAGS="-D_FORTIFY_SOURCE=2"
% export CFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt"
% export CXXFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt"
% export LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
% export DEBUG_CFLAGS="-g -fvar-tracking-assignments"
% export DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"

% cd WireGuard-0.0.20190123
% make -j5 -C src
make: Entering directory '/scratch/WireGuard-0.0.20190123/src'
   CC      /scratch/WireGuard-0.0.20190123/src/tools/wg.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/config.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/show.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/terminal.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/ipc.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/mnlg.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/encoding.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/curve25519.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/setconf.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/genkey.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/showconf.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/pubkey.o
   CC      /scratch/WireGuard-0.0.20190123/src/tools/set.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/main.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/device.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/noise.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/peer.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/timers.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/queueing.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/send.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/receive.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/socket.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/hashtables.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/allowedips.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/ratelimiter.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/cookie.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/netlink.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20/chacha20.o
   PERLASM 
/scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20/chacha20-arm64.S
   CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/poly1305/poly1305.o
   PERLASM 
/scratch/WireGuard-0.0.20190123/src/crypto/zinc/poly1305/poly1305-arm64.S
   CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20poly1305.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/crypto/zinc/blake2s/blake2s.o
   CC [M]  
/scratch/WireGuard-0.0.20190123/src/crypto/zinc/curve25519/curve25519.o
   LD      /scratch/WireGuard-0.0.20190123/src/tools/wg
   CC [M]  /scratch/WireGuard-0.0.20190123/src/compat/siphash/siphash.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/compat/dst_cache/dst_cache.o
   CC [M]  /scratch/WireGuard-0.0.20190123/src/compat/udp_tunnel/udp_tunnel.o
   AS [M]  
/scratch/WireGuard-0.0.20190123/src/crypto/zinc/chacha20/chacha20-arm64.o
   AS [M]  
/scratch/WireGuard-0.0.20190123/src/crypto/zinc/poly1305/poly1305-arm64.o
   LD [M]  /scratch/WireGuard-0.0.20190123/src/wireguard.o
ld: unrecognized option '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
ld: use the --help option for usage information
make[2]: *** [scripts/Makefile.build:393:
/scratch/WireGuard-0.0.20190123/src/wireguard.o] Error 1
make[1]: *** [Makefile:1358:
_module_/scratch/WireGuard-0.0.20190123/src] Error 2
make: *** [Makefile:36: module] Error 2
make: Leaving directory '/scratch/WireGuard-0.0.20190123/src'
_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard

_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard

Reply via email to