shithub: orca

Download patch

ref: 004e537d30f54fb6beb4d325458ee3b529a7219e
parent: ebbbd27d4be4b830016a66d5c895364bf60a7f5d
author: cancel <cancel@cancel.fm>
date: Fri Nov 30 15:12:58 EST 2018

Fix bad LLD codegen from PIE flags in build tool

--- a/tool
+++ b/tool
@@ -161,7 +161,15 @@
     add cc_flags -fuse-ld=lld
   fi
   if [[ $protections_enabled = 1 ]]; then
-    add cc_flags -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fpie -Wl,-pie
+    add cc_flags -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fpie
+    if [[ $lld_detected = 1 ]]; then
+      # LLD seems to need this or it fails at linking. If we also pass -Wl,-pie
+      # then the built binary will crash before reaching main().
+      add cc_flags -Wl,-z,notext
+    else
+      # This is the one that works everywhere else.. hmm
+      add cc_flags -Wl,-pie
+    fi
   fi
   case "$1" in
     debug)