libstdc++-v3: the free-standing subset compiles

This commit is contained in:
Lephenixnoir 2021-06-13 18:07:27 +02:00
parent 9f33074c10
commit 954e3ccd08
No known key found for this signature in database
GPG key ID: 1BBA026E13FC0495

View file

@ -60,21 +60,29 @@ For some reason OpenLibm installs its headers in the `include/openlibm` subfolde
% for x in "$SRC"/*.h; do ln -s "$x" "$DST/${x#$SRC/}"; done % for x in "$SRC"/*.h; do ln -s "$x" "$DST/${x#$SRC/}"; done
``` ```
After this, come back to the build folder, run the build command for libstdc++-v3, and hope it works out. I recommend not using `-j` as it makes error messages and logs more linear. After this, come back to the build folder, run the build command for libstdc++-v3, and hope it works out. I recommend not using `-j` as it makes error messages and logs more linear, and the library builds very fast anyway.
``` ```
% make all-target-libstdc++-v3 % make all-target-libstdc++-v3
``` ```
Since this will likely fail, check out `sh3eb-elf/libstdc++-v3/config.log` for configure errors, or other log files if you make it past the configuration step. `config.log` has many details on programs that failed to compile; not all failures to build are fatal for the configuration step, but some are. If it fails, check out `sh3eb-elf/libstdc++-v3/config.log` for configure errors, or other log files if you make it past the configuration step. `config.log` has many details on programs that failed to compile; not all failures to build are fatal for the configuration step, but some are.
If it succeeds, install.
```
% make install-strip-target-libstdc++-v3
```
### Current problems ### Current problems
Hard limits: Hard problems:
* `<stdio.h>` is not complete yet. * None. The free-standing subset compiles.
Suspected problems: Things that look like they could be involved in problems:
* Anything that is not in the fxlibc can fail to link.
* The conftest programs are built without `-ffreestanding`, which means autoconf cannot really link stuff. This is probably not too much of a problem, because it's cross-compiled anyway so there's nothing to do with a linked program, but who knows. * The conftest programs are built without `-ffreestanding`, which means autoconf cannot really link stuff. This is probably not too much of a problem, because it's cross-compiled anyway so there's nothing to do with a linked program, but who knows.