Skip to content

Commit 6e13a19

Browse files
Merge branch 'arc-dev' into arc-staging
2 parents f6d5ecc + 32a6ecf commit 6e13a19

File tree

5 files changed

+58
-23
lines changed

5 files changed

+58
-23
lines changed

NEWS

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,19 @@ Major Changes in 2016.09 Release
44
Toolchain and IDE Components Versions
55
-------------------------------------
66

7-
* GDB 7.11+
7+
* Binutils 2.27+ (upstream commit decf5bd and ARC patches)
8+
* GCC 6.2.1 (upstream commit e061fbe and ARC patches)
9+
* GDB 7.12 (upstream commit 5f8cf6c and ARC patches)
10+
* newlib 2.4 (upstream commit e6413b0 and ARC patches)
11+
* uclibc-ng 1.0.17 (plus few ARC patches)
12+
* Eclipse Mars (4.5.1) with CDT 8.8.0
13+
* OpenOCD 0.9+ upstream commit 30203b3d8b, with ARC support.
14+
15+
This release of GNU toolchain and IDE is supported by CGEN IPlib (TCF
16+
generator) version 1.0.53 and later.
17+
18+
GNU IDE 2016.09 will be supported in next embARC OSP release, planned for
19+
January 2017.
820

921

1022
New Features and Enhancements
@@ -13,15 +25,37 @@ New Features and Enhancements
1325
* Toolchain build scripts
1426
* Use GNU FTP server to download GMP, MPFR and MPC, update to latest
1527
versions of those libraries and download .tar.xz files of GMP and MPFR.
28+
* GCC
29+
* Support -fstack-protector and -fstack-protector-all.
30+
* Remove support for -mabi option. Now GCC always generates function calls
31+
compatible with MetaWare compiler.
32+
* Avoid unnecessary dependency of libgcc on newlib.
1633
* GDB
17-
* Update to upstream master (7.11+).
34+
* Support multi-target GDB in ARC code. GDB for baremetal targets now can
35+
debug Linux targets as well.
36+
* uClibc
37+
* Migrated to uClibc-ng
38+
* IDE
39+
* Migrated to use DSF instead of obsolete CDT for debugging, which brings
40+
in multiple usability enhancements.
41+
* Updated to latest version of TerminalView plugins.
42+
* Detect if projects has been created with an older version of IDE and show
43+
user a warning that there could be compatibility issues.
44+
* Removed support for -mabi option that has been removed from ARC GCC.
45+
* OpenOCD
46+
* Add support for DCCM version 4.
1847
* CGEN
1948
* Removed formal dependency on CGEN repository - it wasn't used anyway.
2049

2150

2251
Bugs Fixed in This Release (Summary)
2352
------------------------------------
2453

54+
* Newlib
55+
* Fixed a bug in implementation for strcmp function for big endian -mcpu=em4
56+
targets.
57+
* IDE
58+
* Changing linker options was breaking project building.
2559

2660

2761
Major Changes in 2016.03 Release

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ the toolchain. These should be peers of this `toolchain` directory.
111111
https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb.git gdb
112112
$ git clone https://github.com/foss-for-synopsys-dwc-arc-processors/newlib.git
113113
$ git clone https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc.git
114-
$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
114+
$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git \
115+
linux
115116

116117
The binutils and gdb share the same repository, but must be in separate
117118
directories, because they use different branches. Option `--reference` passed

build-all.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,8 +1001,8 @@ cpus_def=$ARC_GNU/gcc/gcc/config/arc/arc-cpus.def
10011001
if [ -f $cpus_def ]; then
10021002
# New GCC (2016.03 and later).
10031003
# allowed_cpus should be a string wil values delimited by spaces.
1004-
allowed_cpus=$(awk -v FS="[(, ]+" '/^ARC/{printf " "$2}' $cpus_def)
1005-
allowed_linux_cpus=$(awk -v FS="[(, ]+" \
1004+
allowed_cpus=$(awk -v FS="[(, \t]+" '/^ARC/{printf " "$2}' $cpus_def)
1005+
allowed_linux_cpus=$(awk -v FS="[(, \t]+" \
10061006
'/^ARC/{if($3=="hs"||$3=="700")printf " "$2}' $cpus_def)
10071007
else
10081008
# Old GCC (2015.12 and earlier)
@@ -1019,7 +1019,7 @@ fi
10191019
if [ "x${uclibc}" = "x--uclibc" ]; then
10201020
if [[ " ${allowed_linux_cpus[*]} " != *" $ISA_CPU "* ]]; then
10211021
echo "ERROR: uClibc tool chain cannot be built for this CPU family."\
1022-
"Choose one of the supprted CPU familes or disable building of"\
1022+
"Choose one of the supported CPU familes or disable building of"\
10231023
"uClibc tool chain with option --no-uclibc."\
10241024
"Supported values are: $allowed_linux_cpus."
10251025
exit 1

build-elf32.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ fi
186186
# started to cause build issues. As a result it is required to disable them
187187
# explicitly - otherwise either there would a build failure or a bunch of
188188
# useless but large files.
189-
if [ $IS_CROSS_COMPILING ]; then
189+
if [ $IS_CROSS_COMPILING = yes ]; then
190190
pch_opt=--disable-libstdcxx-pch
191191
else
192192
pch_opt=
@@ -378,7 +378,7 @@ fi
378378
# Similar to ARC Linux targets, on Windows there are issues with exceptions when
379379
# GDB is compiled as a C++ applications, so as a temporary measure disable C++
380380
# when doing canadian cross.
381-
if [ $IS_CROSS_COMPILING ]; then
381+
if [ $IS_CROSS_COMPILING = yes ]; then
382382
cxx_build=--disable-build-with-cxx
383383
else
384384
cxx_build=

doc/linux/kernel-build.rst

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,22 +62,22 @@ Check `Buildroot downloads page <http://buildroot.org/download.html>` for
6262
latest release. This guide further assumes latest snapshot. Get Buildroot
6363
sources::
6464

65-
$ mkdir arc-2016.03-linux-guide
66-
$ cd arc-2016.03-linux-guide
65+
$ mkdir arc-2016.09-linux-guide
66+
$ cd arc-2016.09-linux-guide
6767
$ wget https://buildroot.org/downloads/buildroot-snapshot.tar.bz2
6868
$ tar xaf buildroot-snapshot.tar.bz2
6969

7070
To build Linux and rootfs Buildroot should be configured. For the purpose of
7171
this guide, a custom "defconfig" file will be created and then will be used to
7272
configure Buildroot. Custom "defconfig" file can be located anywhere and have
73-
any name. For example it can be ``arc-2016.03-linux-guide/hs_defconfig``.
73+
any name. For example it can be ``arc-2016.09-linux-guide/hs_defconfig``.
7474
Contents of this file should be following::
7575

7676
BR2_arcle=y
7777
BR2_archs38=y
7878
BR2_TOOLCHAIN_EXTERNAL=y
7979
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
80-
BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.03/arc_gnu_2016.03_prebuilt_uclibc_le_archs_linux_install.tar.gz"
80+
BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-rc1/arc_gnu_2016.09-rc1_prebuilt_uclibc_le_archs_linux_install.tar.gz"
8181
BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
8282
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y
8383
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
@@ -97,12 +97,12 @@ Important notes about modifying Buildroot defconfig:
9797
* ``BR2_TOOLCHAIN_EXTERNAL_URL`` should point to a valid URL of GNU Toolchain
9898
for ARC distributable.
9999
* ``BR2_TOOLCHAIN_EXTERNAL_HEADERS_X_XX`` should be aligned to Linux headers
100-
version used for the toolchain build. It is 4.6 for toolchain release
101-
2016.03, it is 3.18 for toolchain releases 2015.06 and 2015.12, it is 3.13
102-
for earlier toolchain versions. This parameter identifies version of Linux
103-
that was used to build toolchain and is not related to version of Linux that
104-
will be *built by* toolchain or where applications compiled by this toolchain
105-
will run.
100+
version used for the toolchain build. It is 4.8 for toolchain release
101+
2016.09, it is 4.6 for toolchain release 2016.03, it is 3.18 for toolchain
102+
releases 2015.06 and 2015.12, it is 3.13 for earlier toolchain versions. This
103+
parameter identifies version of Linux that was used to build toolchain and is
104+
not related to version of Linux that will be *built by* toolchain or where
105+
applications compiled by this toolchain will run.
106106
* Other Linux kernel defconfigs can be used.
107107
* Building GDB or GDBserver is not necessary.
108108

@@ -120,7 +120,7 @@ To build Linux kernel image using that defconfig::
120120
$ make
121121

122122
After that there will be Linux kernel image file
123-
``arc-2016.03-linux-guide/output/images/vmlinux``.
123+
``arc-2016.09-linux-guide/output/images/vmlinux``.
124124

125125

126126
Running on nSIM
@@ -129,7 +129,7 @@ Running on nSIM
129129
Linux configuration in the provided Buildroot defconfig is for the standalone
130130
nSIM. This kernel image can be run directly on nSIM, without any other
131131
additional software. Assuming current directory is
132-
``arc-2016.03-linux-guide``::
132+
``arc-2016.09-linux-guide``::
133133

134134
$ $NSIM_HOME/bin/nsimdrv -propsfile archs38.props output_hs/images/vmlinux
135135

@@ -183,9 +183,9 @@ Process of building kernel for ARC 770 is similar to what is for ARC HS. It is
183183
required only to change several option in Buildroot defconfig:
184184

185185
* ``BR2_archs38=y`` with ``BR2_arc770d=y``
186-
* ``BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.03/arc_gnu_2016.03_prebuilt_uclibc_le_archs_linux_install.tar.gz"``
186+
* ``BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-rc1/arc_gnu_2016.09-rc1_prebuilt_uclibc_le_archs_linux_install.tar.gz"``
187187
with
188-
``BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.03/arc_gnu_2016.03_prebuilt_uclibc_le_arc700_linux_install.tar.gz"``
188+
``BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-rc1/arc_gnu_2016.09-rc1_prebuilt_uclibc_le_arc700_linux_install.tar.gz"``
189189
* ``BR2_LINUX_KERNEL_DEFCONFIG="nsim_hs"`` with
190190
``BR2_LINUX_KERNEL_DEFCONFIG="nsim_700"``
191191

@@ -230,7 +230,7 @@ With those changes Buildroot defconfig for ARC HS VDK is::
230230
BR2_archs38=y
231231
BR2_TOOLCHAIN_EXTERNAL=y
232232
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
233-
BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.03/arc_gnu_2016.03_prebuilt_uclibc_le_archs_linux_install.tar.gz"
233+
BR2_TOOLCHAIN_EXTERNAL_URL="http://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-rc1/arc_gnu_2016.09-rc1_prebuilt_uclibc_le_archs_linux_install.tar.gz"
234234
BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
235235
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y
236236
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y

0 commit comments

Comments
 (0)