Skip to content

Commit fb9ef4d

Browse files
committed
arcv: Update Newlib and Picolibc sections
Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
1 parent a1d1dc9 commit fb9ef4d

File tree

3 files changed

+28
-21
lines changed

3 files changed

+28
-21
lines changed

docs/arcv/building-newlib.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Building applications with Newlib
22

3+
!!! warning
4+
5+
Newlib is considered as deprecated standard library for ARC-V
6+
GNU toolchain. It will be completely removed in the future
7+
releases. Please, consider migrating to
8+
[the Picolibc-based toolchain](./building-picolibc.md).
9+
310
GNU toolchain for ARC-V targets uses `riscv64-snps-elf` prefix for
411
all tools. For example, GCC binary has name `riscv64-snps-elf-gcc`.
512

@@ -15,7 +22,7 @@ Usually, to compile an application you need to set target options:
1522
All together they correspond to a particular prebuilt standard library. Refer
1623
[Understanding ARC-V configurations](./multilib.md) for details.
1724

18-
## Getting Started
25+
## Getting started
1926

2027
Consider a simple code example:
2128

@@ -51,7 +58,7 @@ $ riscv64-snps-elf-gcc \
5158
Refer to [Running on nSIM](./nsim.md) and [Running on QEMU](./qemu.md) to learn how
5259
to run ARC-V examples on nSIM or QEMU simulator.
5360

54-
## Using Custom Linker Script
61+
## Using custom linker script
5562

5663
GNU toolchain for ARC-V is shipped with a custom ARC-V specific startup code
5764
and a custom linker script. They are intended to be used in pair by passing
@@ -106,7 +113,24 @@ Using custom code and data sections is essential for 64-bit targets. By default,
106113
this memory layout may be not acceptable for 64-bit targets. That is why in
107114
the GNU toolchain 64-bit targets are available only with `medany` memory model.
108115

109-
## Tuning Instruction Scheduling
116+
## Using startup code without CSRs
117+
118+
You can pass `--crt0=no-csr` option to choose a startup code without
119+
CSRs when `-specs=arcv.specs` is passed:
120+
121+
```
122+
$ riscv64-snps-elf-gcc \
123+
-march=rv32ic_zcb_zcmp_zcmt_zba_zbb_zbs_zicsr \
124+
-mabi=ilp32 \
125+
-mtune=arc-v-rmx-100-series \
126+
-specs=semihost.specs \
127+
-specs=arcv.specs \
128+
--crt0=no-csr \
129+
-T arcv.ld \
130+
example.c -o example.elf
131+
```
132+
133+
## Tuning instruction scheduling
110134

111135
GCC instruction scheduling may be tuned for different ARC-V
112136
targets using `-mtune=` option:

docs/arcv/index.md

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,6 @@
22

33
## Overview
44

5-
In `arc-2025.06` release GNU toolchain for ARC-V targets is based on these
6-
tools and libraries:
7-
8-
* GCC 14.2 with ARC-V specific patches
9-
* Uses upstream 14.2 release; see [a release announcement](https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00000.html)
10-
and [a complete list of changes](https://gcc.gnu.org/gcc-14/changes.html).
11-
* Added full support of tuning instructions scheduling for RMX-100, RMX-500 and RHX-100.
12-
* Binutils 2.43 with ARC-V specific patches
13-
* Uses upstream 2.43 release; see [release notes](https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00001.html).
14-
* GDB 15.1
15-
* Uses upstream 15.1 release; see [a release announcement](https://lists.gnu.org/archive/html/info-gnu/2024-07/msg00004.html)
16-
and [a complete list of changes](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-15.1-release).
17-
* Newlib 4.4.0 with ARC-V specific patches
18-
* Uses upstream 4.4.0 release; see [release announcement](https://sourceware.org/pipermail/newlib/2023/020873.html).
19-
* Caches are enabled automatically when a custom startup file is used.
20-
* Added support of passing command line arguments through Semihosting interface (works both for nSIM and QEMU simulators).
21-
225
Supported ARC-V specific features:
236

247
* [Tuning GCC instruction scheduling](#tuning-scheduling) for RMX-100, RMX-500, RHX-100 and RPX-100 targets.

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@ nav:
163163
- eclipse/other/building.md
164164
- ARC-V:
165165
- arcv/index.md
166-
- arcv/building-newlib.md
167166
- arcv/building-picolibc.md
167+
- arcv/building-newlib.md
168168
- arcv/multilib.md
169169
- arcv/nsim.md
170170
- arcv/qemu.md

0 commit comments

Comments
 (0)