Allow building with wsl and remove objcopy hack with appropriate change to elf2dol

This commit is contained in:
Thar0 2020-08-30 01:16:07 +01:00
parent c5e2415773
commit 1b91cd8d66
2 changed files with 8 additions and 3 deletions

View File

@ -5,6 +5,11 @@ ifneq ($(findstring MSYS,$(shell uname)),)
WINDOWS := 1
endif
WSLENV ?= ok
ifndef WSLENV
WINDOWS := 1
endif
#-------------------------------------------------------------------------------
# Files
#-------------------------------------------------------------------------------
@ -37,7 +42,7 @@ O_FILES := $(INIT_O_FILES) $(EXTAB_O_FILES) $(EXTABINDEX_O_FILES) $(TEXT_O_FILES
# Tools
#-------------------------------------------------------------------------------
MWCC_VERSION := 1.2.5
MWCC_VERSION := 3.0
# Programs
ifeq ($(WINDOWS),1)
@ -104,7 +109,7 @@ tools:
$(ELF): $(O_FILES) $(LDSCRIPT)
$(LD) $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) $(O_FILES)
# The Metrowerks linker doesn't generate physical addresses in the ELF program headers. This fixes it somehow.
$(OBJCOPY) $@ $@
# $(OBJCOPY) $@ $@
$(BUILD_DIR)/%.o: %.s
$(AS) $(ASFLAGS) -o $@ $<

View File

@ -234,7 +234,7 @@ void read_elf_segments(DOL_map *map, const char *elf, uint32_t sdata_pdhr, uint3
for(i=0; i<phnum; i++) {
if(swap32(phdrs[i].p_type) == PT_LOAD) {
uint32_t offset = swap32(phdrs[i].p_offset);
uint32_t paddr = swap32(phdrs[i].p_paddr);
uint32_t paddr = swap32(phdrs[i].p_vaddr);
uint32_t filesz = swap32(phdrs[i].p_filesz);
uint32_t memsz = swap32(phdrs[i].p_memsz);
uint32_t flags = swap32(phdrs[i].p_flags);