ps4dev / ps4sdk Goto Github PK
View Code? Open in Web Editor NEWModular open source ps4 sdk with user and kernel space support
License: Other
Modular open source ps4 sdk with user and kernel space support
License: Other
I've managed to build LibC++ and link it against the libcinternal using the CXX branch, had few things such as std string/array/atomic working(they probably dont even need the library itself (?) ). but it failed to link when using std::threads due to undefined __dso_handle
.
so I've few questions.
would the sdk resolve symbols ptr that are not functions, as is the case above?
if so would that work the same as functions, aka $(eval $(call generateModule, libScePsm, __dso_handle))
.
lastly according to this that symbol is in libScePsm.sprx could you confirm that? I would have guessed this would be in Libc or libCInternal :/
edit:
as per this post while not linking to shared libraries it's safe to define __dso_handle
manually, so would that be true in our case or would the stub be considered shared libraries, atlas would they be in the case of __dso_handle
:/
P.S Zer0xFF
I tried a while back using several different abstractions (malloc, vm_*, pmap ...) but I couldn't get rwx to stick. I could imagine it's a check ...
Needs to be done, should be stand alone for cleanness and minimalism of the sdk.
The disassembler sadly does not work in kernel space. It is needed for a clean hooking mechanism.
Maybe rename core to sce and common to ps4 (or core)
Fix it.
Before release check all headers for
The new elf-loader just keeps crashing on me, at the final step of loading the loader, it just crashes and a web browser throws There is not enough free system memory.
include/machine/reg.h:41:10: fatal error:
'opt_compat.h' file not found
Works fine once you add an empty header (opt_compat.h) in the include dir. Error occurs when you include sys/ptrace.h in a kernel 'module' (kmain.c).
The compiler puts static consts and multi-dimensional arrays into a special section - which the current (simple) setup of locating text and data to a specific address is not able to handle well (size shoots up due to assigned address).
So far I simply avoided such constructs.
I'm trying to code an homebrew for PS4 and I have succesfully set and compiled an example. But when I try to "fake sign" with make_fself by flatz I have this message: "error: unable to load elf file: ('Unsupported type.')
How can I fix this?
Thanks for all your work!
It's needed, do it.
The (cool) macro logic seems to break the linker somehow. If you have not used ps4KernelExecute anywhere, it does not know that the lib should be included. Need to see if we need to change the function or can fix the pre-processor. ... Ah the pre-processor ...
As it used in the sdk to access variables and somewhat slow it should be improved by a cache or a second cached version (like ps4KernDlSymCached or ps4KernLookupSymbol).
in files ps4_elf_sce.mk ps4_elf_standard.mk
before changes loader from https://github.com/psxdev/ps4link/blob/ps4sdk_work/elfldr/ps4link/Makefile compile fine only i need to add SceNet_stub in Makefile :
clang /usr/local/ps4dev/ps4sdk/crt0.s build/commands.c.o build/debugnet.c.o build/elfloader.c.o build/main.c.o build/ps4link.c.o build/requests.c.o -O3 -Wall -m64 -L. -Llib -nostdlib -L/usr/local/ps4dev/ps4sdk/lib -Wl,-Ttext,0x93a300000 -Wl,-Tdata,0x93a400000 -lSceNet_stub -lPs4_extension_kernel_execute_dynlib_prepare_dlclose -lPs4_common_mixed -lPs4_common_kern -lPs4_common_user -lPs4LibCInternalMixed_stub -lPs4LibKernelMixed_stub -lSceLibcInternal_stub -lkernel_stub -lPs4Kern_stub -lPs4_base_stub_resolve_minimal -lPs4_base_kern_dlsym_standard -lPs4_base_kern_seek_elf_address_standard -lPs4_base_assembler_syscall_rop_0x93a4FFFF8 -lPs4_base_assembler_register_standard -o bin/ldr
objcopy bin/ldr -O binary bin/ldr
however with new changes default libraries are not added by default:
clang /usr/local/ps4dev/ps4sdk/crt0.s build/commands.c.o build/debugnet.c.o build/elfloader.c.o build/main.c.o build/ps4link.c.o build/requests.c.o -O3 -Wall -m64 -L. -Llib -nostdlib -L/usr/local/ps4dev/ps4sdk/lib -Wl,-Ttext,0x93a300000 -Wl,-Tdata,0x93a400000 -lSceNet_stub -o bin/ldr
There are too much files and if we use a large path when compiling we can get that fail
there are 10308 .o files in build/libPs4Kern
We need to fix that
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.