diff options
| author | John "Lameguy" Wilbert Villamor <lameguy64@gmail.com> | 2021-08-31 13:23:20 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-31 13:23:20 +0800 |
| commit | ffa679d4d24b891cb59aba10946368f2ec00c391 (patch) | |
| tree | 0cf6061915ebf48acdedf6d77b0c1b76eec5b8c3 /toolchain.txt | |
| parent | 317dc2b91d3afcdbaddb035f38611d12af161970 (diff) | |
| parent | f2fc18f82dd7900465d6ab3ae2080726d5589d39 (diff) | |
| download | psn00bsdk-ffa679d4d24b891cb59aba10946368f2ec00c391.tar.gz | |
Merge pull request #36 from spicyjpeg/dynlink
Dynamic linker, gp-relative addressing, ldscripts and more
Diffstat (limited to 'toolchain.txt')
| -rw-r--r-- | toolchain.txt | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/toolchain.txt b/toolchain.txt index 439f486..e67cfe1 100644 --- a/toolchain.txt +++ b/toolchain.txt @@ -107,12 +107,27 @@ Under Windows, you'll have to add the path to the PATH environment variable through System Properties. -Updating the ldscript: +Note regarding C++ support: + +C++ support in PSn00bSDK only goes as far as basic classes, namespaces and +the ability to dynamically create and delete class objects at any point of +the program. The required dependencies are supplied by libc of libpsn00b. + +Standard C++ libraries are not implemented and likely never going to be +implemented due to bloat concerns that it may introduce. Besides, the official +SDK lacks full C++ support as well. + +If you're trying to compile with C++ code and you get a linker error about +undefined vtables, try specifying --fno-rtti to the g++ command line. + +----------------------------------------------------------------------------- +Updating the ldscript (NO LONGER REQUIRED as PSn00bSDK now ships with its own +linker scripts, the section below is only kept for reference): -The following changes are required in order for basic C++ functionality to work -in PSn00bSDK. The changes define the constructor and deconstructor sections -which are required for the relevant support functions in PSn00bSDK's libc -library to be linked properly for C++. +The following changes used to be required in order for basic C++ functionality +to work in older PSn00bSDK versions. The changes define the constructor and +deconstructor sections which are required for the relevant support functions +in PSn00bSDK's libc library to be linked properly for C++. * Go to mipsel-unknown-elf/lib/ldscripts in the toolchain directory. @@ -150,16 +165,3 @@ Alternatively, you can make a copy of the ldscript file and modify it within your project directory. This is especially useful if your project uses code overlays. - -Note regarding C++ support: - -C++ support in PSn00bSDK only goes as far as basic classes, namespaces and -the ability to dynamically create and delete class objects at any point of -the program. The required dependencies are supplied by libc of libpsn00b. - -Standard C++ libraries are not implemented and likely never going to be -implemented due to bloat concerns that it may introduce. Besides, the official -SDK lacks full C++ support as well. - -If you're trying to compile with C++ code and you get a linker error about -undefined vtables, try specifying --fno-rtti to the g++ command line.
\ No newline at end of file |
