rebuild bsnes, update link script / emulibc.h to work with clang-18
This commit is contained in:
parent
18a1fe4afd
commit
880d8d9f07
Binary file not shown.
|
@ -36,10 +36,10 @@ void *alloc_plain(size_t size);
|
||||||
void _debug_puts(const char *);
|
void _debug_puts(const char *);
|
||||||
|
|
||||||
// put data in a section that will have similar behavior characteristics to alloc_sealed
|
// put data in a section that will have similar behavior characteristics to alloc_sealed
|
||||||
#define ECL_SEALED __attribute__((section(".sealed")))
|
#define ECL_SEALED __attribute__((section(".ldata.sealed")))
|
||||||
|
|
||||||
// put data in a section that will have similar behavior characteristics to alloc_invisible
|
// put data in a section that will have similar behavior characteristics to alloc_invisible
|
||||||
#define ECL_INVISIBLE __attribute__((section(".invis")))
|
#define ECL_INVISIBLE __attribute__((section(".ldata.invis")))
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,15 @@ SECTIONS
|
||||||
/* .gnu.warning sections are handled specially by elf.em. */
|
/* .gnu.warning sections are handled specially by elf.em. */
|
||||||
*(.gnu.warning)
|
*(.gnu.warning)
|
||||||
}
|
}
|
||||||
|
.ltext :
|
||||||
|
{
|
||||||
|
*(.ltext.unlikely .ltext.*_unlikely .ltext.unlikely.*)
|
||||||
|
*(.ltext.exit .ltext.exit.*)
|
||||||
|
*(.ltext.startup .ltext.startup.*)
|
||||||
|
*(.ltext.hot .ltext.hot.*)
|
||||||
|
*(SORT(.ltext.sorted.*))
|
||||||
|
*(.ltext .stub .ltext.*)
|
||||||
|
}
|
||||||
.fini :
|
.fini :
|
||||||
{
|
{
|
||||||
KEEP (*(SORT_NONE(.fini)))
|
KEEP (*(SORT_NONE(.fini)))
|
||||||
|
@ -163,10 +172,10 @@ SECTIONS
|
||||||
/* waterbox sections that are eventually RO at runtime */
|
/* waterbox sections that are eventually RO at runtime */
|
||||||
. = ALIGN(CONSTANT (MAXPAGESIZE));
|
. = ALIGN(CONSTANT (MAXPAGESIZE));
|
||||||
.wbxsyscall : { *(.wbxsyscall) }
|
.wbxsyscall : { *(.wbxsyscall) }
|
||||||
.sealed : { *(.sealed) }
|
.sealed : { *(.ldata.sealed) }
|
||||||
. = ALIGN(CONSTANT (MAXPAGESIZE));
|
. = ALIGN(CONSTANT (MAXPAGESIZE));
|
||||||
/* Put the invisible section by itself */
|
/* Put the invisible section by itself */
|
||||||
.invis : { *(.invis) }
|
.invis : { *(.ldata.invis) }
|
||||||
. = ALIGN(CONSTANT (MAXPAGESIZE));
|
. = ALIGN(CONSTANT (MAXPAGESIZE));
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
|
@ -201,6 +210,7 @@ SECTIONS
|
||||||
{
|
{
|
||||||
*(.lrodata .lrodata.* .gnu.linkonce.lr.*)
|
*(.lrodata .lrodata.* .gnu.linkonce.lr.*)
|
||||||
}
|
}
|
||||||
|
. = ALIGN(64 / 8);
|
||||||
.ldata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
|
.ldata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
|
||||||
{
|
{
|
||||||
*(.ldata .ldata.* .gnu.linkonce.l.*)
|
*(.ldata .ldata.* .gnu.linkonce.l.*)
|
||||||
|
@ -246,9 +256,15 @@ SECTIONS
|
||||||
/* DWARF 3 */
|
/* DWARF 3 */
|
||||||
.debug_pubtypes 0 : { *(.debug_pubtypes) }
|
.debug_pubtypes 0 : { *(.debug_pubtypes) }
|
||||||
.debug_ranges 0 : { *(.debug_ranges) }
|
.debug_ranges 0 : { *(.debug_ranges) }
|
||||||
/* DWARF Extension. */
|
/* DWARF 5. */
|
||||||
.debug_macro 0 : { *(.debug_macro) }
|
|
||||||
.debug_addr 0 : { *(.debug_addr) }
|
.debug_addr 0 : { *(.debug_addr) }
|
||||||
|
.debug_line_str 0 : { *(.debug_line_str) }
|
||||||
|
.debug_loclists 0 : { *(.debug_loclists) }
|
||||||
|
.debug_macro 0 : { *(.debug_macro) }
|
||||||
|
.debug_names 0 : { *(.debug_names) }
|
||||||
|
.debug_rnglists 0 : { *(.debug_rnglists) }
|
||||||
|
.debug_str_offsets 0 : { *(.debug_str_offsets) }
|
||||||
|
.debug_sup 0 : { *(.debug_sup) }
|
||||||
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
|
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
|
||||||
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
|
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue