You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Update information for RHEL/AlmaLinux 8 and Ubuntu 22.04 host
systems.
2. Remove examples and provide links to corresponding pages
in documentation.
3. Remove outdated parts.
Signed-off-by: Yuriy Kolerov <[email protected]>
@@ -4,25 +4,14 @@ This is the main Git repository for the ARC GNU toolchain. It contains
4
4
documentation & various supplementary materials required for development,
5
5
verification & releasing of pre-built toolchain artifacts.
6
6
7
-
Branches in this repository are:
8
-
9
-
*`arc-releases` is the stable branch for the toolchain release. Head of
10
-
this branch is a latest stable release. It is a branch recommended for most
11
-
users
12
-
*`arc-dev` is the development branch for the current toolchain release
13
-
14
-
While the top of *development* branches should build and run reliably, there
15
-
is no guarantee of this. Users who encountered an error are welcomed to create
16
-
a new bug report at GitHub Issues for this `toolchain` project.
17
-
18
7
## Documentation
19
8
20
9
There are several documentation sites for ARC GNU toolchain:
21
10
22
11
1.[GNU toolchain documentation site](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation) - the documentation site for ARC Classic targets.
23
12
2.[ARC-V Processors Getting Started](https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started) - the documentation for ARC-V targets.
24
13
3.[Old GNU toolchain documentation site](https://foss-for-synopsys-dwc-arc-processors.github.io/toolchain/) - the documentation site for ARC Classic targets
25
-
for release 2023.03 and earlier.
14
+
for release `arc-2023.03` and earlier.
26
15
27
16
## Build environment
28
17
@@ -64,71 +53,25 @@ execution of a prebuilt toolchain it's necessary to use up-to-date Linux distrib
64
53
65
54
As of today, the oldest supported distributions are:
66
55
67
-
*CentOS/RHEL 7
68
-
*Ubuntu 18.04 LTS
56
+
*Ubuntu 22.04 LTS
57
+
*RHEL/AlmaLinux 8
69
58
70
59
## Prerequisites
71
60
72
61
GNU toolchain for ARC has the same standard prerequisites as an upstream GNU
73
62
toolchain as documented in the GNU toolchain user guide or on the [GCC
# Optionally select its version of choice, for example the one used for creation of `arc-2021.09` release
187
-
git checkout arc-2021.09-release
145
+
# Optionally select its version of choice, for example the one used for creation of `arc-2024.12` release
146
+
git checkout arc-2024.12-release
188
147
189
148
# Configure & build Crosstool-NG
190
-
./bootstrap && ./configure --enable-local && make
149
+
./bootstrap
150
+
./configure --enable-local
151
+
make
191
152
```
192
153
193
154
## Building the Toolchain
@@ -220,7 +181,7 @@ The following pre-defined configurations (they are called "samples" on Crosstool
220
181
1.`snps-arc64-snps-linux-gnu` - Linux glibc cross-toolchain for for ARC HS6x processors for 64-bit Linux hosts
221
182
1.`snps-arc64-snps-native-gnu` - Linux glibc "native" toolchain from ARC HS6x processors
222
183
1.`snps-arc64-unknown-elf` - Bare-metal cross-toolchain for ARC HS6x processors for 64-bit Linux hosts
223
-
1.`snps-riscv64-unknown-elf` - Bare-metal cross-toolchain for ARC-V processors for 64-bit Linux hosts
184
+
1.`snps-riscv64-unknown-elf` - Bare-metal cross-toolchain for ARC-V processors with Newlib standard library for 64-bit Linux hosts
224
185
1.`snps-riscv64-win-elf` - Bare-metal cross-toolchain for ARC-V processors for 64-bit Windows hosts
225
186
226
187
And to get Crosstool-NG configured with either of those samples just say: `./ct-ng sample_name`. For example, to get bare-metal toolchain for ARCompact/ARCv2 processors say: `./ct-ng snps-arc-multilib-elf32`.
@@ -280,8 +241,8 @@ Some limitations apply:
280
241
To do a canadian-cross toolchain on Linux, MinGW toolchain must be installed on the build host.
281
242
There're muliple ways to get MinGW installed:
282
243
283
-
* On Ubuntu 18.04 & 20.04 that can be done with: `sudo apt install mingw-w64`
284
-
* On CentOS/RHEL 8.x it's a bit more challenging:
244
+
* On Ubuntu 22.04 that can be done with: `sudo apt install mingw-w64`
245
+
* On RHEL/AlmaLinux 8.x it's a bit more challenging:
285
246
286
247
```shell
287
248
sudo dnf -y install dnf-plugins-core
@@ -328,154 +289,28 @@ For example:
328
289
* With `snps-arc-multilib-elf32` sample built toolchain will be installed in`~/x-tools/arc-snps-elf`
329
290
* With `snps-arc64-unknown-elf` sample built toolchain will be installed in`~/x-tools/arc64-snps-elf`
330
291
331
-
Prefixes which start with `arc-` correspond to little endian toolchains. Prefixes which start with
332
-
`arceb-` correspond to big endian toolchains. E.g., GDB for big endian ARCv2 baremetal toolchain is
333
-
`arceb-elf32-gdb`. However, big endian tools are not available for ARCv3 yet.
334
-
335
-
You can find more information about variants of toolchains, `-mcpu` values
336
-
and matching TCF files on [Toolchains for ARC Processors](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/toolchain/) page.
337
-
338
-
### Using nSIM simulator to run bare metal ARC applications
339
-
340
-
> Refer to [nSIM](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/simulators/nsim/)
341
-
> page of the documentation for details. Refer to
342
-
> [GNU tools for ARC-V](https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started/synopsys-tools/gnu.html)
343
-
>for details regarding running ARC-V applications on simulators.
344
-
345
-
nSIM simulator supports GNU IO hostlink used by the libc library of bare metal
346
-
GNU toolchain for ARC. nSIM option `nsim_emt=1` enables GNU IO hostlink. nSIM
347
-
simulator also supports semihosting, which is essential for ARC-V targets, more
* [Building baremetal applications for ARC Classic and running them on nSIM](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/baremetal/simulators/nsim/)
304
+
* [Building baremetal applications for ARC Classic and running them on HS Development Kit](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/baremetal/hardware/hsdk/)
305
+
* [Building baremetal applications for ARC Classic and running them on EM Software Development Platform](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/baremetal/hardware/emsdp/)
306
+
* [Debugging applications on Linux](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/linux/hsdk/build/#debugging-applications-using-gdbserver)
460
307
461
-
Copy it to the NFS share, or place it in rootfs, or make it available to target
462
-
system in any way other way. Start gdbserver on target system:
308
+
Usage examples for ARC-V:
463
309
464
-
```shell
465
-
[ARCLinux] # gdbserver :51000 hello_world
466
-
```
467
-
468
-
Start GDB on the host:
469
-
470
-
```shell
471
-
$ arc-linux-gdb --quiet hello_world
472
-
(gdb) set sysroot <buildroot/output/target>
473
-
(gdb) target remote 192.168.218.2:51000
474
-
(gdb) break main
475
-
(gdb) continue
476
-
(gdb) continue
477
-
(gdb) quit
478
-
```
310
+
* [Building applications with Picolibc](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/arcv/building-picolibc/)
311
+
* [Building applications with Newlib](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/arcv/building-newlib/)
312
+
* [Running on nSIM](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/arcv/nsim/)
313
+
* [Running on QEMU](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.06/arcv/qemu/)
0 commit comments