wut 1.0.0-beta9 - #105
Merged
Merged
Conversation
- Added wut_rules and wut/rpx/rpl.specs to share/ - Replaced wut's CMake-based buildsystem with a standard Makefile - Conflated all wut libraries into a single libwut.a library - wut's old buildsystems (CMake & plain make) are broken as a result, this will be fixed in the future - Docs, tests and samples are not buildable either at the moment - wutcrt/wutnewlib: - RPX start function is __rpx_start, while RPL is __rpl_start - __init/fini_wut_* functions are no longer weak - __init_wut/__fini_wut are instead weak - Removed _exit implementation - exit syscall now points to _Exit instead of pointing to itself - wutstdc++: - Renamed .cc files to .cpp - Temporarily disabled, due to an issue that will be addressed shortly - wutdevoptab: - Fixed uninitialized variable warnings in __wut_fs_read/write
- Added (dummy) __init/fini_wut_malloc stubs called by wutcrt in order to ensure that wutmalloc gets linked in - malloc/realloc/calloc now properly set errno to ENOMEM during failure - realloc no longer fails if ptr==NULL (in this case it works like a regular malloc) - realloc no longer does an out of bounds copy if the new size is smaller than the old size - free(NULL) is now supported as per the C standard - Disabled sbrk/malloc-lock support code in wutnewlib because newlib's malloc is replaced with wutmalloc
I was getting issues with __volatile__ for unknown reason, so moving this to a dedicated file sidesteps the issue entirely and passes this straight to GAS.
This reverts commit 370eeb2. I didn't know what this did, sorry.
Who knows? not me. Seems to work okay without it
wut_stdcpp.cpp
/home/ash/src/wut/libraries/wutstdc++/wut_stdcpp.cpp:3:9: error:
expected '(' before '__volatile__'
__asm__ __volatile__(
^~~~~~~~~~~~
(
/home/ash/src/wut/libraries/wutstdc++/wut_stdcpp.cpp:4:4: error:
expected unqualified-id before string constant
"\t.section\t.text.__wrap___gxx_personality_v0,\"ax\",@progbits\n"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ash/src/wut/libraries/wutstdc++/wut_stdcpp.cpp:3:22: error:
expected ')' before string constant
__asm__ __volatile__(
~^
)
"\t.section\t.text.__wrap___gxx_personality_v0,\"ax\",@progbits\n"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [/opt/devkitpro/devkitPPC/base_rules:13: wut_stdcpp.o]
Error 1
This made _start be an always undefined symbol, which kinda backdoors ld's existing system for determining entrypoints. This will be important in the next commit ;D
ld will now auto-link everything to __rpx_start and pull in the correct crt *unless* rpl.specs is given on the commandline
apparently cmake also has a CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.