From 0644e90c5d6429e86c084346e6a7fd96787dbee0 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Mon, 11 May 2015 16:59:42 +0200 Subject: [PATCH] Fixes for building with GCC 4.9 This commit can be removed when updating to the latest Fiasco.OC version. Fixes ssumpf/foc#10 --- kernel/fiasco/src/drivers/arm/processor-arm.cpp | 3 ++- kernel/fiasco/src/kern/arm/sys_call_page-arm.cpp | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/kernel/fiasco/src/drivers/arm/processor-arm.cpp b/kernel/fiasco/src/drivers/arm/processor-arm.cpp index 2dcfdd16..5ed83314 100644 --- a/kernel/fiasco/src/drivers/arm/processor-arm.cpp +++ b/kernel/fiasco/src/drivers/arm/processor-arm.cpp @@ -75,7 +75,8 @@ void Proc::stack_pointer(Mword sp) IMPLEMENT static inline Mword Proc::program_counter() { - register Mword pc asm ("pc"); + Mword pc; + asm ("mov %0, pc" : "=r" (pc)); return pc; } diff --git a/kernel/fiasco/src/kern/arm/sys_call_page-arm.cpp b/kernel/fiasco/src/kern/arm/sys_call_page-arm.cpp index 407ef8e9..6f21d062 100644 --- a/kernel/fiasco/src/kern/arm/sys_call_page-arm.cpp +++ b/kernel/fiasco/src/kern/arm/sys_call_page-arm.cpp @@ -43,8 +43,8 @@ Sys_call_page::init() Vmem_alloc::NO_ZERO_FILL, Vmem_alloc::User)) panic("FIASCO: can't allocate system-call page.\n"); - for (unsigned i = 0; i < Config::PAGE_SIZE; i += sizeof(Mword)) - *(sys_calls++) = 0xef000000; // svc + for (unsigned i = 0; i < Config::PAGE_SIZE / sizeof(Mword); i++) + sys_calls[i] = 0xef000000; // svc set_utcb_get_code((Mword*)(Mem_layout::Syscalls + 0xf00));