mirror of
https://github.com/wiiu-env/WUMSLoader.git
synced 2024-11-23 08:19:16 +01:00
Use bin2s instead of xxd to include the relocator.elf
This commit is contained in:
parent
d1581b392f
commit
3853f3876e
10
Makefile
10
Makefile
@ -86,7 +86,7 @@ endif
|
||||
|
||||
export OFILES_BIN := $(addsuffix .o,$(BINFILES))
|
||||
export OFILES_SRC := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
|
||||
export OFILES := $(OFILES_BIN) $(OFILES_SRC)
|
||||
export OFILES := $(OFILES_BIN) $(OFILES_SRC) relocator.elf.o
|
||||
export HFILES_BIN := $(addsuffix .h,$(subst .,_,$(BINFILES)))
|
||||
|
||||
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
|
||||
@ -108,7 +108,6 @@ $(BUILD):
|
||||
#-------------------------------------------------------------------------------
|
||||
clean:
|
||||
@echo clean ...
|
||||
@rm -rf source/relocator.h
|
||||
make clean -C relocator
|
||||
@rm -fr $(BUILD) $(TARGET).rpx $(TARGET).elf
|
||||
|
||||
@ -129,10 +128,9 @@ all : $(OUTPUT).rpx
|
||||
$(relocator_elf):
|
||||
make -C ../relocator
|
||||
|
||||
|
||||
$(OUTPUT).rpx : $(OUTPUT).elf
|
||||
$(OUTPUT).elf : $(OFILES)
|
||||
$(OFILES) : relocator.h
|
||||
$(OFILES) : relocator_elf.h
|
||||
|
||||
$(OFILES_SRC) : $(HFILES_BIN)
|
||||
|
||||
@ -149,8 +147,8 @@ $(OFILES_SRC) : $(HFILES_BIN)
|
||||
@echo $(notdir $<)
|
||||
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER)
|
||||
|
||||
relocator.h: $(relocator_elf)
|
||||
xxd -i $< | sed "s/unsigned/static const unsigned/g;s/loader/loader/g;s/build_//g" > ../source/$@
|
||||
relocator_elf.h: $(relocator_elf)
|
||||
bin2s -a 32 -H `(echo $(<F) | tr . _)`.h $< | $(AS) -o $(<F).o
|
||||
|
||||
-include $(DEPENDS)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include "kernel.h"
|
||||
#include "relocator.h"
|
||||
#include "relocator_elf.h"
|
||||
#include "ElfUtils.h"
|
||||
#include <coreinit/cache.h>
|
||||
#include <coreinit/memorymap.h>
|
||||
@ -14,7 +14,7 @@ void SetupRelocator() {
|
||||
kern_write((void *) (KERN_SYSCALL_TBL_4 + (0x25 * 4)), (unsigned int) SCKernelCopyData);
|
||||
kern_write((void *) (KERN_SYSCALL_TBL_5 + (0x25 * 4)), (unsigned int) SCKernelCopyData);
|
||||
|
||||
uint32_t entryPoint = load_loader_elf(0, (char *) ___relocator_relocator_elf, ___relocator_relocator_elf_len);
|
||||
uint32_t entryPoint = load_loader_elf(0, (char *) relocator_elf, relocator_elf_size);
|
||||
|
||||
unsigned int repl_addr = ADDRESS_main_entry_hook;
|
||||
KernelWriteU32(repl_addr, 0x48000003 | entryPoint);
|
||||
|
Loading…
Reference in New Issue
Block a user