Comments (4)
Fixed by #9
from crosstool-ng-old.
Re-opening, since further optimisation is necessary.
from crosstool-ng-old.
In spite of having implemented a step-level build directory clean-up mechanism, the build still goes over the disk space limit during the final gcc (host-to-target) build process -- implying that this process alone is enough to go over the limit.
A further analysis revealed that the libstdc++-v3 multilib build, which is executed as part of the final gcc build process, is taking up a significant amount of disk space:
471M arc600
471M arc600_mul32x16
471M arc600_mul64
471M arc600_norm
471M arc601
471M arc601_mul32x16
471M arc601_mul64
471M arc601_norm
471M arc700
470M arcem
469M archs
470M em
470M em4
470M em4_dmips
470M em4_fpuda
470M em4_fpus
470M em_mini
469M hs
469M hs34
469M hs38
469M hs38_linux
469M hs4x
469M hs4xd
5.5M libgcc
465M libstdc++-v3
471M nps400
470M quarkse_em
12G .
Since this process is invoked from within the GCC build system, we need to add GCC patches to delete the build files after each libstdc++-v3 multilib build step.
from crosstool-ng-old.
Since the current GCC build process is designed such that all multilib variants are built first (all
target) and then installed (install
target), we need to do either of the following:
- Only preserve the bare minimum (i.e. leave
.a
files while nuking.gch
files which take up most of the disk space) necessary to make library installation successful. - Rework the build process to build-install-prune each multilib variant.
EDIT:
.gch
files are the major offenders:
@ /.build/arc-zephyr-elf/build/build-cc-gcc-final/arc-zephyr-elf/em4/libstdc++-v3/include/arc-zephyr-elf/bits
106M extc++.h.gch
139M stdc++.h.gch
77M stdtr1c++.h.gch
After removing the gch
files, each multilib variant takes up about 150MB. In case of ARC, there are 26 multilib variants, and this means the disk usage will be approx. 4GB, which is reasonable.
from crosstool-ng-old.
Related Issues (20)
- Release tarball file metadata is incorrect HOT 1
- Provide ZIP archive for Windows host build artifacts HOT 1
- GDB build dynamic links extraneous runtime libraries HOT 3
- GDB shell is broken on Windows HOT 5
- Copy Windows runtime DLLs during build process HOT 4
- Fork newlib HOT 12
- Support GDB source highlight HOT 8
- GDB home path reference is broken on Windows
- Copy libgloss for newlib nano variant build HOT 1
- Implement Ubuntu packages HOT 1
- Add Python-less GDB variant
- Inconsistent debug information inclusion in newlib binaries HOT 2
- Migrate Zephyr Xtensa targets to GDB 9.1 HOT 1
- Cache source files in Git repository
- Update to newlib 3.3.0 for Zephyr Xtensa targets HOT 1
- Add ESP32 Xtensa target
- Add ARM EABI big endian target
- Import zephyrproject-rtos/sdk-ng#223
- Linux *-gdb-py crashes when running invalid Python commands
- Support PE/COFF file format for EFI platforms
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crosstool-ng-old.