Skip to content

Commit ca64e3b

Browse files
petewardenterryheo
authored andcommitted
Switch Raspberry Pi building to unofficial GCC 6.5 toolchain
PiperOrigin-RevId: 267155769
1 parent ef48214 commit ca64e3b

File tree

5 files changed

+35
-41
lines changed

5 files changed

+35
-41
lines changed

arm_compiler.BUILD

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,56 +3,56 @@ package(default_visibility = ["//visibility:public"])
33
filegroup(
44
name = "gcc",
55
srcs = [
6-
"bin/arm-linux-gnueabihf-gcc",
6+
"bin/arm-rpi-linux-gnueabihf-gcc",
77
],
88
)
99

1010
filegroup(
1111
name = "ar",
1212
srcs = [
13-
"bin/arm-linux-gnueabihf-ar",
13+
"bin/arm-rpi-linux-gnueabihf-ar",
1414
],
1515
)
1616

1717
filegroup(
1818
name = "ld",
1919
srcs = [
20-
"bin/arm-linux-gnueabihf-ld",
20+
"bin/arm-rpi-linux-gnueabihf-ld",
2121
],
2222
)
2323

2424
filegroup(
2525
name = "nm",
2626
srcs = [
27-
"bin/arm-linux-gnueabihf-nm",
27+
"bin/arm-rpi-linux-gnueabihf-nm",
2828
],
2929
)
3030

3131
filegroup(
3232
name = "objcopy",
3333
srcs = [
34-
"bin/arm-linux-gnueabihf-objcopy",
34+
"bin/arm-rpi-linux-gnueabihf-objcopy",
3535
],
3636
)
3737

3838
filegroup(
3939
name = "objdump",
4040
srcs = [
41-
"bin/arm-linux-gnueabihf-objdump",
41+
"bin/arm-rpi-linux-gnueabihf-objdump",
4242
],
4343
)
4444

4545
filegroup(
4646
name = "strip",
4747
srcs = [
48-
"bin/arm-linux-gnueabihf-strip",
48+
"bin/arm-rpi-linux-gnueabihf-strip",
4949
],
5050
)
5151

5252
filegroup(
5353
name = "as",
5454
srcs = [
55-
"bin/arm-linux-gnueabihf-as",
55+
"bin/arm-rpi-linux-gnueabihf-as",
5656
],
5757
)
5858

tensorflow/lite/tools/pip_package/setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
# Setup cross compiling
4444
TARGET = os.environ.get('TENSORFLOW_TARGET', None)
4545
if TARGET == 'rpi':
46-
os.environ['CXX'] = 'arm-linux-gnueabihf-g++'
47-
os.environ['CC'] = 'arm-linux-gnueabihf-gcc'
46+
os.environ['CXX'] = 'arm-rpi-linux-gnueabihf-g++'
47+
os.environ['CC'] = 'arm-rpi-linux-gnueabihf-gcc'
4848
elif TARGET == 'aarch64':
4949
os.environ['CXX'] = 'aarch64-linux-gnu-g++'
5050
os.environ['CC'] = 'aarch64-linux-gnu-gcc'

tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ TOOLCHAIN_INSTALL_PATH=/tmp/toolchain_install/
5757
sudo rm -rf ${TOOLCHAIN_INSTALL_PATH}
5858
mkdir ${TOOLCHAIN_INSTALL_PATH}
5959
cd ${TOOLCHAIN_INSTALL_PATH}
60-
curl -L https://github.com/raspberrypi/tools/archive/0e906ebc527eab1cdbf7adabff5b474da9562e9f.tar.gz -o toolchain.tar.gz
60+
curl -L https://github.com/rvagg/rpi-newer-crosstools/archive/eb68350c5c8ec1663b7fe52c742ac4271e3217c5.tar.gz -o toolchain.tar.gz
6161
tar xzf toolchain.tar.gz
62-
mv tools-0e906ebc527eab1cdbf7adabff5b474da9562e9f/ tools
62+
mv rpi-newer-crosstools-eb68350c5c8ec1663b7fe52c742ac4271e3217c5 tools
6363

64-
CROSSTOOL_CC=${TOOLCHAIN_INSTALL_PATH}/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
64+
CROSSTOOL_CC=${TOOLCHAIN_INSTALL_PATH}/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc
6565

6666
OPENBLAS_SRC_PATH=/tmp/openblas_src/
6767
sudo rm -rf ${OPENBLAS_SRC_PATH}

tensorflow/workspace.bzl

+4-4
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,11 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""):
180180
tf_http_archive(
181181
name = "arm_compiler",
182182
build_file = clean_dep("//:arm_compiler.BUILD"),
183-
sha256 = "4c622a5c7b9feb9615d4723b03a13142a7f3f813f9296861d5401282b9fbea96",
184-
strip_prefix = "tools-0e906ebc527eab1cdbf7adabff5b474da9562e9f/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf",
183+
sha256 = "b9e7d50ffd9996ed18900d041d362c99473b382c0ae049b2fce3290632d2656f",
184+
strip_prefix = "rpi-newer-crosstools-eb68350c5c8ec1663b7fe52c742ac4271e3217c5/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/",
185185
urls = [
186-
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/raspberrypi/tools/archive/0e906ebc527eab1cdbf7adabff5b474da9562e9f.tar.gz",
187-
"https://github.com/raspberrypi/tools/archive/0e906ebc527eab1cdbf7adabff5b474da9562e9f.tar.gz",
186+
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/rvagg/rpi-newer-crosstools/archive/eb68350c5c8ec1663b7fe52c742ac4271e3217c5.tar.gz",
187+
"https://github.com/rvagg/rpi-newer-crosstools/archive/eb68350c5c8ec1663b7fe52c742ac4271e3217c5.tar.gz",
188188
],
189189
)
190190

third_party/toolchains/cpus/arm/cc_config.bzl.tpl

+18-24
Original file line numberDiff line numberDiff line change
@@ -331,17 +331,13 @@ def _impl(ctx):
331331
flags = [
332332
"-std=c++11",
333333
"-isystem",
334-
"%{ARM_COMPILER_PATH}%/arm-linux-gnueabihf/include/c++/4.9.3/",
334+
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-rpi-linux-gnueabihf/6.5.0/include",
335335
"-isystem",
336-
"%{ARM_COMPILER_PATH}%/arm-linux-gnueabihf/sysroot/usr/include/",
336+
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-rpi-linux-gnueabihf/6.5.0/include-fixed",
337337
"-isystem",
338-
"%{ARM_COMPILER_PATH}%/arm-linux-gnueabihf/libc/usr/include/",
338+
"%{ARM_COMPILER_PATH}%/arm-rpi-linux-gnueabihf/sysroot/usr/include/",
339339
"-isystem",
340-
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-linux-gnueabihf/4.9.3/include",
341-
"-isystem",
342-
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-linux-gnueabihf/4.9.3/include-fixed",
343-
"-isystem",
344-
"%{ARM_COMPILER_PATH}%/local_include",
340+
"%{ARM_COMPILER_PATH}%/arm-rpi-linux-gnueabihf/include/c++/6.5.0/",
345341
"-isystem",
346342
"%{PYTHON_INCLUDE_PATH}%",
347343
"-isystem",
@@ -563,12 +559,10 @@ def _impl(ctx):
563559

564560
if (ctx.attr.cpu == "armeabi"):
565561
cxx_builtin_include_directories = [
566-
"%{ARM_COMPILER_PATH}%/arm-linux-gnueabihf/include/c++/4.9.3/",
567-
"%{ARM_COMPILER_PATH}%/arm-linux-gnueabihf/sysroot/usr/include/",
568-
"%{ARM_COMPILER_PATH}%/arm-linux-gnueabihf/libc/usr/include/",
569-
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-linux-gnueabihf/4.9.3/include",
570-
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-linux-gnueabihf/4.9.3/include-fixed",
571-
"%{ARM_COMPILER_PATH}%/local_include",
562+
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-rpi-linux-gnueabihf/6.5.0/include",
563+
"%{ARM_COMPILER_PATH}%/lib/gcc/arm-rpi-linux-gnueabihf/6.5.0/include-fixed",
564+
"%{ARM_COMPILER_PATH}%/arm-rpi-linux-gnueabihf/sysroot/usr/include/",
565+
"%{ARM_COMPILER_PATH}%/arm-rpi-linux-gnueabihf/include/c++/6.5.0/",
572566
"/usr/include",
573567
"/tmp/openblas_install/include/",
574568
]
@@ -585,44 +579,44 @@ def _impl(ctx):
585579
tool_paths = [
586580
tool_path(
587581
name = "ar",
588-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-ar",
582+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-ar",
589583
),
590584
tool_path(name = "compat-ld", path = "/bin/false"),
591585
tool_path(
592586
name = "cpp",
593-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-cpp",
587+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-cpp",
594588
),
595589
tool_path(
596590
name = "dwp",
597-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-dwp",
591+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-dwp",
598592
),
599593
tool_path(
600594
name = "gcc",
601-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-gcc",
595+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-gcc",
602596
),
603597
tool_path(
604598
name = "gcov",
605-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-gcov",
599+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-gcov",
606600
),
607601
tool_path(
608602
name = "ld",
609-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-ld",
603+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-ld",
610604
),
611605
tool_path(
612606
name = "nm",
613-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-nm",
607+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-nm",
614608
),
615609
tool_path(
616610
name = "objcopy",
617-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-objcopy",
611+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-objcopy",
618612
),
619613
tool_path(
620614
name = "objdump",
621-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-objdump",
615+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-objdump",
622616
),
623617
tool_path(
624618
name = "strip",
625-
path = "%{ARM_COMPILER_PATH}%/bin/arm-linux-gnueabihf-strip",
619+
path = "%{ARM_COMPILER_PATH}%/bin/arm-rpi-linux-gnueabihf-strip",
626620
),
627621
]
628622
elif (ctx.attr.cpu == "local"):

0 commit comments

Comments
 (0)