summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2020-08-29 23:20:04 -0400
committerGitHub <noreply@github.com>2020-08-29 23:20:04 -0400
commitc72fc0c64a79a2fa8b55192efb511fc5c3555f53 (patch)
tree9812209b08bc0c11802eda70e879b054ea49ae89
parentc5e2415773723273ebbcac84b62a8e8e69966595 (diff)
parent1b91cd8d6646bdf9dae6d900a0b6e13f9b61edc2 (diff)
Merge pull request #1 from Thar0/makefile-changes
Makefile changes: Remove objcopy hack and allow building with WSL
-rw-r--r--Makefile9
-rw-r--r--tools/elf2dol.c2
2 files changed, 8 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 173eadeb8a..8294a15f00 100644
--- a/Makefile
+++ b/Makefile
@@ -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 $@ $<
diff --git a/tools/elf2dol.c b/tools/elf2dol.c
index 9da8b3cb29..b201dd3189 100644
--- a/tools/elf2dol.c
+++ b/tools/elf2dol.c
@@ -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);