From 66d8899aa7e17223276b279f10853ef5fb2a4ea0 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Mon, 8 Jul 2019 00:18:40 +0200 Subject: [PATCH] main: set the current working directory when calling an external linker In particular, while LLVM lld supports -L for linker scripts imported with the `INCLUDE` command, GNU ld does not seem to support this. This is a prerequisite for supporting the HiFive1 board in the TinyGo Playground. --- linker-builtin.go | 1 + linker-external.go | 1 + 2 files changed, 2 insertions(+) diff --git a/linker-builtin.go b/linker-builtin.go index d0a01681..f11d5686 100644 --- a/linker-builtin.go +++ b/linker-builtin.go @@ -63,6 +63,7 @@ func Link(linker string, flags ...string) error { cmd := exec.Command(linker, flags...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr + cmd.Dir = sourceDir() return cmd.Run() } } diff --git a/linker-external.go b/linker-external.go index 48e4d2ec..f114b39b 100644 --- a/linker-external.go +++ b/linker-external.go @@ -20,5 +20,6 @@ func Link(linker string, flags ...string) error { cmd := exec.Command(linker, flags...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr + cmd.Dir = sourceDir() return cmd.Run() }