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
Once Crosstool-NG is built and ready fo use it's very easy to get a toolchain
151
+
Once Crosstool-NG is built and ready for use it's very easy to get a toolchain
152
152
of choice to be built. One just needs to decide on configuration options
153
153
to be used for toolchain building or use one of the existing pre-defined
154
154
settings (which mirror configuration of pre-built toolchains we distribute
@@ -176,43 +176,42 @@ And to get Crosstool-NG configured with either of those samples just say: `./ct-
176
176
177
177
## Crosstool-NG configuration: manual tuning
178
178
179
-
If pre-defined "sample" doesn't meet one's requirements it's possible to either fine-tune some existing sample or start over from scratch
179
+
If pre-defined "sample" doesn't meet one's requirements, it's possible to either fine-tune some existing sample or start over from scratch
180
180
and make all the settings manually. For that just say `./ct-ng menuconfig` and use [menuconfig](https://en.wikipedia.org/wiki/Menuconfig) interface in the same way as it's done in many other projects like the Linux kernel, uClibc, Buildroot and many others.
181
181
182
-
> :warning: To start configuration from scratch make sure `.config` file doesn't exist in the Crosstool's root directory or say `./ct-ng distclean`.
182
+
> :warning: To start configuration from scratch, make sure `.config` file doesn't exist in the Crosstool's root directory or say `./ct-ng distclean`.
183
183
184
184
The most interesting options for toolchain users might be:
185
185
186
186
* Selection of the default target CPU model. To change it go to `Target options -> Emit assembly for CPU` and specify one of the possible values for GCC's `-mcpu` option, see <https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/wiki/Understanding-GCC-mcpu-option> for the reference.
187
187
* Selection of ARC64 processors. For that go to `Target options -> Bitness` and select `64-bit`.
188
-
*`CFLAGS` to be used for compilation of libraries for the target. Those might be set in `Target options -> Targte CFLAGS`.
188
+
*`CFLAGS` to be used for compilation of libraries for the target. Those might be set in `Target options -> Target CFLAGS`.
189
189
190
190
## Building a toolchain with Crosstool-NG
191
191
192
192
All the information above was on how to get Crosstool-NG prepared for operation and how to get it configured to perform a toolchain build with needed settings.
193
-
And now when all the preparations are done it's required only to start build process with:
193
+
And now, when all the preparations are done, it's required only to start build process with:
194
194
195
195
```shell
196
196
./ct-ng build
197
197
```
198
198
199
199
## Building toolchain for Windows
200
200
201
-
To build toolchain for Windows hosts it is recommended to do a "Canadian
202
-
cross-compilation" on Linux, that is toolchain for ARC targets that runs on
203
-
Windows hosts is built on Linux host. Build scripts expect to be run in
201
+
To build a toolchain for Windows hosts it is recommended to do a "Canadian
202
+
cross-compilation" on Linux, that is a toolchain for ARC targets that runs on
203
+
Windows hosts is built on Linux host. Build scripts expected to be run in
204
204
Unix-like environment, so it is often faster and easier to build toolchain on
205
205
Linux, than do this on Windows using environments like Cygwin and MSYS. While
206
206
those allow toolchain to be built on Windows natively this way is not
207
207
officially supported and not recommended by Synopsys, due to severe performance
208
208
penalty of those environments on build time and possible compatibility issue.
209
209
210
-
Some limitation apply:
210
+
Some limitations apply:
211
211
212
212
* Only bare metal toolchain can be built this way.
213
213
* It is required to have toolchain for Linux hosts in the `PATH` for Canadian
214
-
cross-build to succeed - it will be used to compile standard library of tool
215
-
chain.
214
+
cross-build to succeed - it will be used to compile standard library of toolchain.
216
215
217
216
To do a canadian-cross toolchain on Linux, MinGW toolchain must be installed on the build host.
218
217
There're muliple ways to get MinGW installed:
@@ -237,7 +236,7 @@ Once the MinGW is available on the build host just make sure its binaries are av
237
236
238
237
## Usage examples
239
238
240
-
In all of the following examples it is expected that GNU toolchain for ARC has
239
+
In all of the following examples, it is expected that GNU toolchain for ARC has
241
240
been added to the user's `PATH` environment variable. Please note that built toolchain by default gets installed in the current users's `~/x-tools/TOOLCHAIN_TUPLE` folder, where `TOOLCHAIN_TUPLE` is by default dynamically generated based on the toolchain type (bare-metal, glibc or uclibc), CPU's bitness (32- or 64-bit), provided vendor name etc.
242
241
243
242
For example:
@@ -364,8 +363,8 @@ $ arc-elf32-gdb --quiet a.out
364
363
> The Ashling Opella-XD debug probe and its drivers are not part of the GNU
365
364
> tools distribution and should be obtained separately.
366
365
367
-
The Ashling Opella-XD drivers distribution contains gdbserver for GNU tool
368
-
chain. Command to start it:
366
+
The Ashling Opella-XD drivers distribution contains gdbserver for GNU toolchain.
0 commit comments