Files
etaHEN/Source Code/fps_elf/linker.x
LightningMods 0fe0407b3a etaHEN 2.4B
etaHEN 2.4B

etaHEN 2.4B Change log

- Updated to support the latest PS5 Payload SDK
- Fixed etaHEN and Cheats support for 8.40-10.01
- Added a Game Overlay menu to show CPU/GPU Temp and utilization, Local IP Address and other future states
- Added a Kstuff menu for options like downloading the latest kstuff from github, turning off kstufff autoload and more
- Added a Custom Background Package Installer for installing PKGs from internal storage from any directory (Requires DPIv2 enabled for 5.50+)
- DPIv2 can now download local files via url example http://192.xxx.xxx.xxx:12800/data/etaHEN/etaHEN.log
- Improved Cheats support, cheats with or without 0 sections are now supported
- Added Fix by TheFlow to Improve 2.xx PS4 PKG speeds
- Replaced the donation links in the etaHEN credits menu with ones to github sponsers
- Removed the non-whitelist app jailbreak option and moved it to an optional Legacy CMD Server option in the etaHEN Settings off by default
- Game Decryptor has been updated for the Itemzflow Dumper
- Updated the Plugin loader System
- The Payload SDK ELFLDR is now REQUIRED for etaHEN to load
- Replaced HTTP2 with Curl for better compatibility
- Added timeout for ShellUI to receive a response (will stop it from freezing if no response is given)

small fix
2025-12-01 20:31:16 -05:00

131 lines
2.5 KiB
Plaintext

PHDRS {
/*
* PF_X = 0x1
* PF_W = 0x2
* PF_R = 0x4
*/
phdr_text PT_LOAD FLAGS(0x5);
phdr_data PT_LOAD FLAGS(0x6);
phdr_rodata PT_LOAD FLAGS(0x4);
phdr_relro PT_LOAD FLAGS(0x4);
phdr_eh_frame PT_GNU_EH_FRAME FLAGS(0x4);
phdr_dynamic PT_DYNAMIC FLAGS(0x0);
}
SECTIONS {
PROVIDE (__payload_start = .);
.text : {
PROVIDE_HIDDEN(__text_start = .);
*(.text .text.*);
PROVIDE_HIDDEN(__text_stop = .);
} : phdr_text
.init : {
*(.init)
} : phdr_text
.fini : {
*(.fini)
} : phdr_text
.plt : {
*(.plt)
} : phdr_text
. = ALIGN(0x4000); /* move to a new page in memory */
.data : {
*(.data);
*(.data.*);
} : phdr_data
.bss (NOLOAD) : {
PROVIDE_HIDDEN (__bss_start = .);
*(.bss .bss.*);
*(COMMON)
PROVIDE_HIDDEN (__bss_end = .);
} : phdr_data
. = ALIGN(0x4000); /* move to a new page in memory */
.rodata : {
*(.rodata .rodata.*);
} : phdr_rodata
.gcc_except_table : {
*(.gcc_except_table*)
} : phdr_rodata
.hash : {
*(.hash);
} : phdr_rodata
. = ALIGN(0x4000); /* move to a new page in memory */
.eh_frame_hdr : ALIGN(0x4000) {
*(.eh_frame_hdr)
} : phdr_eh_frame
.eh_frame : ALIGN(0x10) {
*(.eh_frame)
} : phdr_eh_frame
. = ALIGN(0x4000); /* move to a new page in memory */
.data.rel.ro : {
*(.data.rel.ro .data.rel.ro.*);
} : phdr_relro
.preinit_array : {
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array*))
PROVIDE_HIDDEN (__preinit_array_end = .);
} : phdr_relro
.init_array : {
PROVIDE_HIDDEN(__init_array_start = .);
KEEP (*(.init_array .init_array.*));
PROVIDE_HIDDEN(__init_array_stop = .);
} : phdr_relro
.fini_array : {
PROVIDE_HIDDEN(__fini_array_start = .);
KEEP (*(.fini_array .fini_array.*));
PROVIDE_HIDDEN(__fini_array_stop = .);
} : phdr_relro
.got : {
*(.got);
} : phdr_relro
.got.plt : {
*(.got.plt);
} : phdr_relro
.rela.dyn : {
*(.rela.dyn) *(.rela);
} : phdr_relro
.rela.plt : {
*(rela.plt);
} : phdr_relro
PROVIDE (__payload_end = .);
/* this needs to be forced aligned to 0x4000 */
.dynamic : ALIGN(0x4000) {
PROVIDE_HIDDEN (_DYNAMIC = .);
*(.dynamic);
} : phdr_dynamic
.dynsym : {
*(.dynsym);
} : phdr_dynamic
.dynstr : {
*(.dynstr);
} : phdr_dynamic
}