CosmicScale
Developer
I'm trying to compile PS1VModeNeg from source but just like many homebrew apps, it will not compile on the latest SDK without modifications. I've resolved a number of the errors and warnings, but now I'm stuck.
The app compiles but I get the below warning. The ELF file just displays a black screen when run.
_start is defined in "linkfile" as follows:
Never experienced this one before. Any help would be appreciated. Thanks.
The app compiles but I get the below warning. The ELF file just displays a black screen when run.
Code:
mips64r5900el-ps2-elf-gcc -D_EE -Os -mno-gpopt -G0 -Wall -I/usr/local/ps2dev/ps2sdk/ee/include -I/usr/local/ps2dev/ps2sdk/common/include -I. -Tlinkfile -L/usr/local/ps2dev/ps2sdk/ee/lib -s -o PS1VModeNeg.elf main.o cnf_lite.o -lcdvd -ldebug -lc -lkernel
/usr/local/ps2dev/ee/bin/../lib/gcc/mips64r5900el-ps2-elf/14.1.0/../../../../mips64r5900el-ps2-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 00084000
Code:
ENTRY(_start);
SECTIONS {
.text 0x00084000: {
_ftext = . ;
*(.text)
*(.text.*)
*(.gnu.linkonce.t*)
KEEP(*(.init))
KEEP(*(.fini))
QUAD(0)
}
PROVIDE(_etext = .);
PROVIDE(etext = .);
.reginfo : { *(.reginfo) }
/* Global/static constructors and deconstructors. */
.ctors ALIGN(16): {
KEEP(*crtbegin*.o(.ctors))
KEEP(*(EXCLUDE_FILE(*crtend*.o) .ctors))
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
}
.dtors ALIGN(16): {
KEEP(*crtbegin*.o(.dtors))
KEEP(*(EXCLUDE_FILE(*crtend*.o) .dtors))
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
}
/* Static data. */
.rodata ALIGN(128): {
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r*)
}
.data ALIGN(128): {
_fdata = . ;
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
SORT(CONSTRUCTORS)
}
.rdata ALIGN(128): { *(.rdata) }
.gcc_except_table ALIGN(128): { *(.gcc_except_table) }
_gp = ALIGN(128) + 0x7ff0;
.lit4 ALIGN(128): { *(.lit4) }
.lit8 ALIGN(128): { *(.lit8) }
.sdata ALIGN(128): {
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s*)
}
_edata = .;
PROVIDE(edata = .);
/* Uninitialized data. */
.sbss ALIGN(128) : {
_fbss = . ;
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb*)
*(.scommon)
}
.bss ALIGN(128) : {
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b*)
*(COMMON)
}
_end_bss = .;
/* Symbols needed by crt0.s. */
PROVIDE(_heap_size = 0x2000);
PROVIDE(_stack_size = 0x2000);
_stack = ALIGN(128);
PROVIDE(_stack = .);
. = _stack + _stack_size;
_end = .;
PROVIDE(end = .);
/* Unwanted stuff */
/DISCARD/ : {
* ( .MIPS.abiflags )
}
}