From ac0d55ebe08f3f8eaeef0ce482838cd398bd2fea Mon Sep 17 00:00:00 2001 From: yellows8 Date: Tue, 12 Jan 2016 11:28:23 -0500 Subject: [PATCH] Updated for latest ctrulib. Switched to using the devkitARM .ld. This fixes building issues with latest ctrulib+devkitARM. --- Makefile | 2 +- hblauncher_loader.ld | 162 ------------------------------------- source/hblauncher_loader.c | 10 +-- 3 files changed, 6 insertions(+), 168 deletions(-) delete mode 100644 hblauncher_loader.ld diff --git a/Makefile b/Makefile index 51e5a10..c21a78d 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,7 @@ CFLAGS += $(INCLUDE) -DARM11 -D_3DS -DVERSION=\"$(VERSION)\" CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 ASFLAGS := -g $(ARCH) -LDFLAGS = -nostartfiles -T../hblauncher_loader.ld -g $(ARCH) -Wl,-Map,$(notdir $*.map) +LDFLAGS = -nostartfiles -T$(DEVKITARM)/arm-none-eabi/lib/3dsx.ld -g $(ARCH) -Wl,-Map,$(notdir $*.map) LIBS := -lctru -lm diff --git a/hblauncher_loader.ld b/hblauncher_loader.ld deleted file mode 100644 index f3d64de..0000000 --- a/hblauncher_loader.ld +++ /dev/null @@ -1,162 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -PHDRS -{ - code PT_LOAD FLAGS(5) /* Read | Execute */; - rodata PT_LOAD FLAGS(4) /* Read */; - data PT_LOAD FLAGS(6) /* Read | Write */; -} - -SECTIONS -{ - /* =========== CODE section =========== */ - - . = 0x100000; - __start__ = . ; - - .text ALIGN(0x1000) : - { - /* .init */ - KEEP( *(.crt0) ) - KEEP( *(.init) ) - . = ALIGN(4); - - /* .text */ - *(.text) - *(.text.*) - *(.glue_7) - *(.glue_7t) - *(.stub) - *(.gnu.warning) - *(.gnu.linkonce.t*) - . = ALIGN(4); - - /* .fini */ - KEEP( *(.fini) ) - . = ALIGN(4); - } : code - - /* =========== RODATA section =========== */ - - .rodata ALIGN(0x1000) : - { - *(.rodata) - *(.roda) - *(.rodata.*) - *all.rodata*(*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); - } : rodata - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } : rodata - __exidx_start = .; - ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } : rodata - __exidx_end = .; - - /* =========== DATA section =========== */ - - .data ALIGN(0x1000) : - { - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } : data - - .preinit_array ALIGN(4) : - { - PROVIDE (__preinit_array_start = .); - KEEP (*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - } : data - - .init_array ALIGN(4) : - { - PROVIDE (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - PROVIDE (__init_array_end = .); - } : data - - .fini_array ALIGN(4) : - { - PROVIDE (__fini_array_start = .); - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - PROVIDE (__fini_array_end = .); - } : data - - .ctors ALIGN(4) : - { - KEEP (*crtbegin.o(.ctors)) /* MUST be first -- GCC requires it */ - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - } : data - - .dtors ALIGN(4) : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - } : data - - __bss_start__ = .; - .bss ALIGN(4) : - { - *(.dynbss) - *(.bss) - *(.bss.*) - *(.gnu.linkonce.b*) - *(COMMON) - . = ALIGN(4); - } : data - __bss_end__ = .; - - __end__ = ABSOLUTE(.) ; - - /* ================== - ==== Metadata ==== - ================== */ - - /* Discard sections that difficult post-processing */ - /DISCARD/ : { *(.group .comment .note) } - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } -} diff --git a/source/hblauncher_loader.c b/source/hblauncher_loader.c index 5182443..b846abd 100644 --- a/source/hblauncher_loader.c +++ b/source/hblauncher_loader.c @@ -26,12 +26,12 @@ char regionids_table[7][4] = {//http://3dbrew.org/wiki/Nandrw/sys/SecureInfo_A void gxlowcmd_4(u32* inadr, u32* outadr, u32 size, u32 width0, u32 height0, u32 width1, u32 height1, u32 flags) { - GX_SetTextureCopy(NULL, inadr, width0 | (height0<<16), outadr, width1 | (height1<<16), size, flags); + GX_TextureCopy(inadr, width0 | (height0<<16), outadr, width1 | (height1<<16), size, flags); } Result gsp_flushdcache(u8* adr, u32 size) { - return GSPGPU_FlushDataCache(NULL, adr, size); + return GSPGPU_FlushDataCache(adr, size); } Result http_getactual_payloadurl(char *requrl, char *outurl, u32 outurl_maxsize) @@ -215,7 +215,7 @@ Result load_hblauncher() printf("Getting system-version/system-info etc...\n"); - ret = initCfgu(); + ret = cfguInit(); if(ret!=0) { printf("Failed to init cfgu: 0x%08x.\n", (unsigned int)ret); @@ -233,9 +233,9 @@ Result load_hblauncher() ret = -9; return ret; } - exitCfgu(); + cfguExit(); - APT_CheckNew3DS(NULL, &new3dsflag); + APT_CheckNew3DS(&new3dsflag); ret = osGetSystemVersionData(&nver_versionbin, &cver_versionbin); if(ret!=0)