forked from foss-for-synopsys-dwc-arc-processors/toolchain
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
222 lines (198 loc) · 9.69 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
Major Changes in 2016.03 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils v2.26+ (upstream commit id 202ac19 with additional ARC patches)
* GCC v4.8.5
* GDB 7.10
* newlib v2.3
* uclibc (upstream commit 94340ce with backported patches from uClibc-ng)
* Eclipse Mars (4.5.1) with CDT 8.8.0
* OpenOCD 0.9+ upstream commit 30203b3d8b, with ARC support.
This release of GNU toolchain and IDE is supported by CGEN IPlib (TCF
generator) version 1.0.53.
New Features and Enhancements
-----------------------------
* Binutils
* Binutils for ARC has been rewritten from the scratch, based on upstream
release 2.26.
* GCC
* New values for `-mcpu` option and new set of multilib libraries built for
those processor configurations.
* Support for text values of `-mmpy-option`, same as in hardware IP
libraries.
* Fixed runtime issues on 32-bit hosts.
* Eclipse IDE
* Support for new GCC `-mcpu` option values.
* If TCF is used, then options in GUI are now synchronized with it.
* Now it is possible to select current working directory when using nSIM.
* OpenOCD
* Added a separate configuration file for ARC EM Starter Kit v2.2, which
requries reduced JTAG Frequency of 5 MHz, compared to 7.5 MHz that has
been used for versions 2.0 and 2.1.
* Toolchain build scripts
* Option `--cpu` now accepts different values that are supported by GCC as
values for `-mcpu` option. List of supported values is dynamic and
evaluated based on GCC configuration.
* Support for building of native (self-hosting) Linux/uClibc toolchain.
* New option of build-all.sh script:
* `--native` - specifies whether script is building native
(self-hosting) toolchain. That affects location of header files and
standard library archvies. It is still required to pass `--host`
option to specify cross-toolchain to build native toolchain.
Bugs Fixed in This Release (Summary)
------------------------------------
* GCC
* There was no multilib configuration without multiplier for ARC 700, EM
and HS processors.
* Newlib
* Fixed a bug in crt0.S file that was using optional ASR a,b,u6 instruction
without checking if barrel shifter is enabled.
* Eclipse IDE
* Path to standard headers was calculated improperly for big-endian
projects.
* Fixed an inconsistency where if toolchain is present both in the PATH and
relatively to eclipse installation, compiler plugin would use one
toolchain from ../bin to build project, but would use toolchain from the
PATH to get information about standard headers.
* OpenOCD
* OpenOCD didn't worked with HS36 in AXS103.
* Toolchain build scripts
* XML files for Ashling Opella-XD GDBserver were broken for Windows systems.
* Memory maps for AXS10x boards were broken - there was a link error when
using them.
Major changes in 2015.12 release
================================
Toolchain and IDE Components Versions
-------------------------------------
* GCC v4.8.5
* Binutils v2.23
* newlib v2.3
* uclibc (upstream HEAD at the moment of release)
* GDB 7.10
* Eclipse Mars (4.5.1) with CDT 8.8.0
* OpenOCD 0.9+ upstream commit 30203b3d8b, with ARC support.
New Features and Enhancements
----------------------------------------------
* GCC
* Source update to v4.8.5
* New preprocessor defines for processor optional features, like -mnorm,
-mll64, etc.
* Fast interrupt (FIRQ) function attribute support
* Naked function attribute support
* GDB
* Updated to upstream 7.10 release.
* Pre-built binaries
* Baremetal toolchain now contains additional set of libc/libstdc++ binaries
compiled with optimization for code size. Can be selected by passing
`--specs=nano.specs` to gcc.
* Standard libraries in baremetal toolchain are now stripped of debug
information, except for `.debug_frame` section.
* Linux toolchain for ARC HS now contains sysroot for ARC 700. It is now
possible to build ARC 700 application using ARC HS toolchain, by passing
an option `--sysroot=$INSTALLDIR/arc-snps-linux-uclibc/sysroot-arc700` to
arc-linux-gcc, where `$INSTALLDIR` is a path to toolchain installation
folder. This is implemented for both little end big endian toolchains.
* Toolchain binaries are linked dynamically
* Eclipse IDE
* Removed redundant "hostname" text field from debugger configuration when
locally started gdbserver are used.
* ARC template projects have been reorganized. They are now grouped by
target ARC development system.
* Added validation for text fields in debugger configuration.
* TCF support to build configurations
* Debugger configuration UI now has a full support of Synopsys ARC
development systems for OpenOCD
* Reworked template projects for Synopsys ARC development systems
* Updated processor option in compiler pluging to adhere to GCC in this
release
* Newlib
* Updated to upstream 2.3 release
* Added support for newlib-nano
* OpenOCD
* Support for the actionpoints. OpenOCD will automatically detect actions
points in ARC EM and ARC HS targets. Hardware breakpoints are set via GDB
command `hbreak`, while hardware watchpoints via GDB command `watch`.
* Toolchain build scripts
* 2-stage build process for baremetal toolchain
* Can now build libc and libstdc++ optimized for size along the "normal" set
of libraries.
* Support for Linux toolchains with multiple sysroots. Buildscripts
themselves can build a toolchain with only one sysroot, however that
arc-snps-linux-uclibc/sysroot folder may be now freely used with other
toolchains. That wasn't possible with previous releases, because some
libraries were outside of the sysroot.
* New options of build-all.sh script:
* `--[no-]elf32-gcc-stage1` - defines whether to build of stage 1
compiler for baremetal toolchain. Means that runnable ARC compiler
should be already in the PATH to build newlib. Disable first stage
compiler is needed for canadian cross builds. Default is
`--elf32-gcc-stage1`.
* `--[no-]optsze-newlib` - defines whether to build newlib optimized for
code size. Default is `--optsize-newlib`.
* `--[no-]optsze-libstdc++` - defines whether to build libstdc++
optimized for code size. Default is `--optsize-libstdc++`. This is
independent from newlib option, however nano.specs will be copied to
target toolchain installation only when `--optsize-newlib` is used.
* `--[no-]elf32-strip-target-libs` - defines whether to string target
libraries of the debug symbols (except for .debug_frame section).
Default is off `--no-elf32-strip-target-libs`.
Bugs Fixed in This Release (Summary)
----------------------------------------
* Pre-built binaries
* Fixed broken shortcut to documentation folder in installer for Windows
* Fixed a bug where uninstaller for Windows wouldn't remove some shortcuts
* Eclipse IDE
* Fixed compatibility with Ashling Opella-XD gdbserver
* Fixed an case where in C++ projects standard library functions were
highlighted as unknown by Eclipse syntax checker.
* Fix crash in IDE on Linux when connecting to target UART
* Fixed: IDE template projects for C++ were not linking
* Fixed: printf() is highlighted by Eclipse as an unknown function in C++
project, but projects builds without error
* Newlib
* Fixed an issue with string and memory routines using instructions which
are not available for selected ARC processor configuration.
* OpenOCD
* Fixed support of EM7DFPU image in EM Starter Kit 2.1: JTAG frequency was
too high.
* Toolchain build scripts
* Fixed an issue where custom baremetal toolchain built with -mnorm option
wouldn't link C++ applications
Major changes in 2015.06 release
================================
Build process:
- Added NPTL Support (--nptl/--no-nptl options of build-all.sh). NPTL is now
default threading library for Linux uClibc toolchain.
- Major change in toolchain build process - unified source tree is not used
anymore. Options --unisrc/--no-unisrc removed.
- Added custom "configuration" files, that contain branches to be checked out.
Option --checkout-config added.
- Added --host option to build-all.sh that allows to choose runtime host of
toolchain build. That allows to do a Canadian cross build without modifying
build scripts.
- Linux is now configured out of source tree.
- Error during PDF documentation build on RHEL 6
- Improve performance of branch checkout phase.
- It is now not required to copy `auto-host.h` file while doing Canadian
cross-build for Windows - root bug in GCC has been fixed.
- Removed support for the old style uClibc "full" configurations, only defconfig
is supported now.
- Removed option `--force`.
- Changed default Linux branch from 3.13 to 3.18.
- Added a new "TCF" wrapper for GCC. Script `arc-elf32-tcf-gcc` accepts `--tcf`
option with path to TCF file, from which GCC options will be automatically
extracted. Compatible TCF file is required (compatible TCF file have
"gcc_compiler" section).
Release process:
- Extracted push-release.sh script from tag-release.sh.
- Makefile.release now automatically builds Linux IDE release tarball.
- Windows installer build script now automatically installs ARC plugins to
vanilla Eclipse and creates installers after that.
- Changed naming convention of release tarballs to ensure consistent naming
across different products: arc_gnu_{release}_{product}[_{os}_install].
- Automated process of OpenOCD building for release.
- Components in Windows installer can now be installed separately.
DejaGNU boards:
- Added DejaGNU board for OpenOCD.
- Fix numerous issues with nSIM-GDB DejaGNU board