-
Notifications
You must be signed in to change notification settings - Fork 48
/
NEWS
611 lines (491 loc) · 21.5 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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
Major Changes in 2020.03 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.34 with ARC patches
* GCC 9.3 with ARC patches
* GDB 10-prerelease with ARC patches
* newlib 3.2.0 with ARC patches
* uClibc-ng v1.0.31
* glibc 2.30 with ARC patches
* Eclipse 2020-03 4.15.0 with CDT 9.11.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 and later.
New Features and Enhancements
-----------------------------
* Binary distribution
* Supported host operating systems: Windows 10 64-bit, Ubuntu 16.04.x, 18.04.x, CentOS/RHEL 7.x
* No longer compatible with CentOS/RHEL 6.x due to GDB 8.3 and newer requirement for C++11 support in the compiler.
Still it's perfectly possible to build Elf32 & uClibc toolchains without GDB on CentOS/RHEL 6.x.
* Toolchain Build Scripts
* Documentation update
* GCC
* Update to GCC 9.3, see upstream release notes for more details: https://gcc.gnu.org/pipermail/gcc/2020-March/000037.html
* Significantly improved handling of uncached data
* Bug fixes
* GDB
* Binutils & GDB now use the same code base. Though for simplisity & compatibility of build-system we still keep separate branches for each component.
* GDB code is based on what will become v10.0.
* Binutils
* Updated to Binutils 2.34, see upstream release notes for more details: https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00000.html
* Bug fixes
* glibc
* No changes since 2019.09 release
* Eclipse plugins
* Eclipse 2020-03 is used as a base
* Bug fixes
Major Changes in 2019.09 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.33.1 with ARC patches
* GCC 9.2.1 with ARC patches
* GDB 8.3.1 with ARC patches
* newlib newlib-snapshot-20180831 with ARC patches
* uClibc-ng v1.0.31
* glibc 2.30 with ARC patches
* Eclipse 2018-12 4.10.0 with CDT 9.6.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 and later.
New Features and Enhancements
-----------------------------
* Binary distribution
* Supported host operating systems: Windows 10 64-bit, Ubuntu 16.04.x, 18.04.x, CentOS/RHEL 7.x
* No longer compatible with CentOS/RHEL 6.x due to GDB 8.3 requirement for C++11 support in the compiler.
Still it's perfectly possible to build Elf32 & uClibc toolchains without GDB on CentOS/RHEL 6.x.
* Toolchain Build Scripts
* Documentation update
* GCC
* Update to GCC 9.2.1, see upstream release notes for more details: https://gcc.gnu.org/gcc-9/changes.html
* Refurbished interrupt handling code
* Use of GP & FP registers as general-purpose registers
* Bug fixes
* Binutils
* Updated to Binutils 2.33, see upstream release notes for more details: https://lists.gnu.org/archive/html/info-gnu/2019-10/msg00006.html
* Implemented relaxation from BL to BL_S instruction
* Bug fixes
* glibc
* Updated to upstream 2.30, see upstream release notes for more details: https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html
* ARC patches submitted for upstream submission as of Jan 2019
* MMU page size gets detected automatically in run-time via getpagesize()
* Added hardware floating point support
* Enabled big-endian ARC support
* Eclipse plugins
* Bug fixes
Major Changes in 2019.03 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.32.51.20190308 with ARC patches
* GCC 8.3.1 with ARC patches
* GDB 8.0.50 with ARC patches
* newlib newlib-snapshot-20180831 with ARC patches
* uclibc-ng v1.0.31
* glibc 2.29 with ARC patches
* Eclipse 2018-12 4.10.0 with CDT 9.6.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 and later.
New Features and Enhancements
-----------------------------
* Binary distribution
* Replaced Oracle Java runtime with OpenJ9 Java runtime.
* Toolchain Build Scripts
* Documentation update.
* GCC
* Update to GCC 8.3.1.
* Enable code density frame option for elf targets
* Fix logic set UNALIGNED_ACCESS
* Emit blockage also in epilogue
* Remove d0d1 from GENERAL_REGS
* Emit blockage regardless to avoid delay slot scheduling
* Fix millicode wrong blink restore.
* Binutils
* Update to Binutils 2.32.
* glibc
* Upstream 2.29
* ARC patches submitted for upstream submission as of Jan 2019
* Eclipse plugins
* Fix NPE in compiler plugin
* Add project templates for ARC EM SDP, HSDK and IoTDK
* Cleanup Hello world template sources
* Multiple improvements to the internal structure of project templates
* Fix error when viewing compiler or linker settings if build directory doesn't exist yet
* Update to OpenJDK11/OpenJ9
* Update to Eclipse 2018-12, CDT 9.6, Tycho 1.3.0
* Remove support for x86 runtime architecture for Linux and Windows
Major Changes in 2018.09 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.31.51 with ARC patches
* GCC 8.2.1 with ARC patches
* GDB 8.0.50 with ARC patches
* newlib newlib-snapshot-20170922 with ARC patches
* uclibc-ng v1.0.29
* Eclipse Oxygen 4.7.1 with CDT 9.3.2
* 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 and later.
New Features and Enhancements
-----------------------------
* Toolchain Build Scripts
* Documentation update.
* GCC
* Update to GCC 8.2.1.
* Binutils
* Update to Binutils 2.31.
* uClibc-ng
* Update to uClibc-ng 1.0.29.
* Eclipse plugins
* Add support for --specs= options of ARC GCC.
* Add Support import of C_defines from TCF.
* Update template projects for EM Starter Kit to use new --specs values.
* Fix errors in template projects where -mcpu wasn't set correctly.
* Fix crash in uClibc plugin when building an application.
* Fix -mmpy-option not being updated properly when -mcpu was changed.
Major Changes in 2018.03 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.29.51 with ARC patches
* GCC 7.3.1 with ARC patches
* GDB 8.0.50 with ARC patches
* newlib newlib-snapshot-20170922 with ARC patches
* uclibc-ng v1.0.27
* Eclipse Oxygen 4.7.1 with CDT 9.3.2
* 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 and later.
New Features and Enhancements
-----------------------------
* Binary distributables
* Fixed missing "nano" libraries in Windows release.
* Update to Linux 4.15 for toolchain headers.
* Toolchain Build Scripts
* Update documentation, including list of prerequisites.
* GCC
* Update to GCC 7.3.1
* Binutils
* Rebase on upstream commit 8e68731.
* GDB
* Rebase on upstream commit 6abc18b.
* Eclipse plugins
* Fix errors in template projects.
* Allow TCF path in compiler project to contain Eclipse variables.
* Add button to allow disable of application load.
* Migrate to cdtserial from RxTx.
* Use named -mpy-option values.
* uClibc-ng
* Switched to upstream Git repository instead of ARC fork.
Major Changes in 2017.09 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.29 with additonal ARC patches
* GCC 7.1.1 with additional ARC patches
* GDB 8.0 (upstream commit 9a24775) with ARC patches
* newlib 2.5 (upstream tag newlib-snapshot-20170519) with ARC patches
* uclibc-ng 1.0.26 with few ARC patches
* Eclipse Neon 4.6.3 with CDT 9.2.1
* 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 and later.
New Features and Enhancements
-----------------------------
* Binary distributables
* Glibc toolchain for ARC HS
* Update to Linux headers 4.12
* Toolchain Build Scripts
* Support for Glibc toolchain
* Support for latest uClibc
* Remove several outdated and unused files
* GCC
* Update to upstream 7.1.1 version
* Support for reduced 16-entry register file
* Support for non-32bit LP_COUNT
* Support for ARC EM DSP instructions via builtins
* Reworked hardware loop support implementation
* Binutils
* Update to upstream 2.29 version
* GDB
* Update to upstream 8.0 version
* Support for R30, R58 and R59 register on ARC HS Linux targets
* Eclipse plugins
* Upgrade to Eclipse Neon and CDT 9.2
* Fix invalid default value of Ashling XML file
Major Changes in 2017.03 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.28 with additonal ARC patches
* GCC 6.3.0 with additional ARC patches
* GDB 7.12 (upstream commit 5f8cf6c) with ARC patches
* newlib 2.4 (upstream commit e6413b0) with ARC patches
* uclibc-ng 1.0.17 with few ARC patches
* 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 and later.
New Features and Enhancements
-----------------------------
* Binary distributables
* ARC HS toolchain now includes sysroot for -mcpu=hs38_linux.
* New documentation site.
* Toolchain Build Scripts
* Removed obsolete unsupported scripts.
* macOS support.
* Import documentation from wiki. Build it with Sphinx.
* Added tcftool binary to toolchain for Windows and x86 Linux hosts.
* GCC
* Update to version 6.3.0.
* Binutils
* Update to version 2.28.
* OpenOCD
* Support Secure MPU registers.
Major Changes in 2016.09 Release
================================
Toolchain and IDE Components Versions
-------------------------------------
* Binutils 2.27+ (upstream commit decf5bd and ARC patches)
* GCC 6.2.1 (upstream commit e061fbe and ARC patches)
* GDB 7.12 (upstream commit 5f8cf6c and ARC patches)
* newlib 2.4 (upstream commit e6413b0 and ARC patches)
* uclibc-ng 1.0.17 (plus few ARC patches)
* 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 and later.
GNU IDE 2016.09 will be supported in next embARC OSP release, planned for
January 2017.
New Features and Enhancements
-----------------------------
* Toolchain build scripts
* Use GNU FTP server to download GMP, MPFR and MPC, update to latest
versions of those libraries and download .tar.xz files of GMP and MPFR.
* GCC
* Support -fstack-protector and -fstack-protector-all.
* Remove support for -mabi option. Now GCC always generates function calls
compatible with MetaWare compiler.
* Avoid unnecessary dependency of libgcc on newlib.
* GDB
* Support multi-target GDB in ARC code. GDB for baremetal targets now can
debug Linux targets as well.
* uClibc
* Migrated to uClibc-ng
* IDE
* Migrated to use DSF instead of obsolete CDT for debugging, which brings
in multiple usability enhancements.
* Updated to latest version of TerminalView plugins.
* Detect if projects has been created with an older version of IDE and show
user a warning that there could be compatibility issues.
* Removed support for -mabi option that has been removed from ARC GCC.
* OpenOCD
* Add support for DCCM version 4.
* CGEN
* Removed formal dependency on CGEN repository - it wasn't used anyway.
Bugs Fixed in This Release (Summary)
------------------------------------
* Newlib
* Fixed a bug in implementation for strcmp function for big endian -mcpu=em4
targets.
* IDE
* Changing linker options was breaking project building.
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