--- kexec/arch/ppc64/crashdump-ppc64.h | 4 ++-- purgatory/Makefile | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) --- a/kexec/arch/ppc64/crashdump-ppc64.h +++ b/kexec/arch/ppc64/crashdump-ppc64.h @@ -6,9 +6,9 @@ int load_crashdump_segments(struct kexec unsigned long max_addr, unsigned long min_base); void add_usable_mem_rgns(unsigned long long base, unsigned long long size); -#define PAGE_OFFSET 0xC000000000000000 +#define PAGE_OFFSET 0xC000000000000000ULL #define KERNELBASE PAGE_OFFSET -#define VMALLOCBASE 0xD000000000000000 +#define VMALLOCBASE 0xD000000000000000ULL #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) #define MAXMEM (-KERNELBASE-VMALLOCBASE) --- a/purgatory/Makefile +++ b/purgatory/Makefile @@ -40,9 +40,14 @@ $(PURGATORY): CPPFLAGS+=-I$(srcdir)/purg $(PURGATORY): LDFLAGS+=--no-undefined -nostartfiles -nostdlib -nodefaultlibs \ -e purgatory_start -r +LDFLAGS_P = $(shell echo $(LDFLAGS) | sed -e 's/-lz//g') +ifeq ($(ARCH),ppc64) +LDFLAGS_P+=-melf64ppc -m64 +endif + $(PURGATORY): $(PURGATORY_OBJS) $(MKDIR) -p $(@D) - $(CC) $(LDFLAGS) -o $@ $^ + $(CC) $(LDFLAGS_P) -o $@ $^ # $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB)