diff --git a/sys/kernel/ld.c b/sys/kernel/ld.c index 61b61b2..43c47b5 100644 --- a/sys/kernel/ld.c +++ b/sys/kernel/ld.c @@ -145,7 +145,12 @@ case PT_GNU_STACK: - kprintf("[%s:%i] PT_GNU_STACK - p_vaddr: 0x%X, p_offset: 0x%X, p_filesz: 0x%X\n", __FILE__, __LINE__, programHeader[i].p_vaddr, programHeader[i].p_offset, programHeader[i].p_filesz ); + if( programHeader[i].p_filesz > 0 ) { + + kprintf("[%s:%i] PT_GNU_STACK - p_vaddr: 0x%X, p_offset: 0x%X, p_filesz: 0x%X\n", __FILE__, __LINE__, programHeader[i].p_vaddr, programHeader[i].p_offset, programHeader[i].p_filesz ); + + } + /* Tells us if the stack should be executable. Failsafe to executable until we add checking */ break; diff --git a/sys/sys/idt.c b/sys/sys/idt.c index 271e345..8ad4671 100644 --- a/sys/sys/idt.c +++ b/sys/sys/idt.c @@ -382,6 +382,8 @@ ); void __doubleFault(struct trapframe *frame) { + // XXX - Double Fault temp kpanic! + kpanic("Double Fault"); die_if_kernel("double fault", frame, 0x8); endTask(_current->id); sched_yield();