LLD version 8 has added support for armv6m:
    https://reviews.llvm.org/D55555
This means we can use LLD instead of arm-none-eabi-ld, eliminating our
dependency on GNU binutils.

There are small differences in code size, but never more than a few
bytes.
Этот коммит содержится в:
Ayke van Laethem 2019-04-02 19:17:53 +02:00 коммит произвёл Ron Evans
родитель 31d57fd3d1
коммит 2523772b5d
6 изменённых файлов: 5 добавлений и 7 удалений

Просмотреть файл

@ -24,7 +24,6 @@ commands:
libclang<<parameters.llvm>>-dev \
lld<<parameters.llvm>> \
gcc-arm-linux-gnueabihf \
binutils-arm-none-eabi \
libc6-dev-armel-cross \
gcc-aarch64-linux-gnu \
libc6-dev-arm64-cross \

Просмотреть файл

@ -11,11 +11,9 @@ matrix:
addons:
homebrew:
update: true
taps: ArmMbed/homebrew-formulae
packages:
- llvm@8
- qemu
- arm-none-eabi-gcc
install:
- curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

Просмотреть файл

@ -59,7 +59,7 @@ COPY --from=tinygo-base /go/src/github.com/tinygo-org/tinygo/lib /go/src/github.
RUN cd /go/src/github.com/tinygo-org/tinygo/ && \
apt-get update && \
apt-get install -y apt-utils python3 make binutils-arm-none-eabi clang-8 && \
apt-get install -y apt-utils python3 make clang-8 && \
make gen-device-nrf && make gen-device-stm32 && \
apt-get remove -y python3 make && \
apt-get autoremove -y && \
@ -74,7 +74,7 @@ COPY --from=tinygo-base /go/src/github.com/tinygo-org/tinygo/lib /go/src/github.
RUN cd /go/src/github.com/tinygo-org/tinygo/ && \
apt-get update && \
apt-get install -y apt-utils python3 make binutils-arm-none-eabi clang-8 binutils-avr gcc-avr avr-libc && \
apt-get install -y apt-utils python3 make clang-8 binutils-avr gcc-avr avr-libc && \
make gen-device && \
apt-get remove -y python3 make && \
apt-get autoremove -y && \

Просмотреть файл

@ -6,6 +6,6 @@ package main
var commands = map[string]string{
"ar": "llvm-ar",
"clang": "clang-8",
"ld.lld": "ld.lld-8",
"ld.lld": "ld.lld",
"wasm-ld": "wasm-ld",
}

Просмотреть файл

@ -54,6 +54,7 @@ SECTIONS
/DISCARD/ :
{
*(.ARM.exidx) /* causes 'no memory region specified' error in lld */
*(.ARM.exidx.*) /* causes spurious 'undefined reference' errors */
}
}

Просмотреть файл

@ -4,7 +4,7 @@
"goarch": "arm",
"compiler": "clang-8",
"gc": "marksweep",
"linker": "arm-none-eabi-ld",
"linker": "ld.lld",
"rtlib": "compiler-rt",
"cflags": [
"-Oz",