How long does it take to compile your OS?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
bewing
Member
Member
Posts: 1401
Joined: Wed Feb 07, 2007 1:45 pm
Location: Eugene, OR, US

Post by bewing »

Currently my entire OS consists of a kernel, an MBR program, a bootloader, an INIT application, the scheduler, a mouse utility, a CLI shell, a LS application, a little test app, a bochs VBE GUI stub, a mini-VFS manager, and a stubbed manager manager. About 20K lines of ASM, total.

It takes about a half a second to compile/link all of it in a DOS window on my 2GHz Celeron machine.
tadada
Member
Member
Posts: 42
Joined: Sun Apr 20, 2008 5:32 pm
Location: Index 0 of the nearest Array

Post by tadada »

my OS takes my 1.8GHz core 2 dou uhhh. . . Too fast to count.

Though for the record the boot loader is 470 bytes not including the filling up to 510 with 0's and then the boot signature and the the kernel is exactly 31 bytes at the moment. =] Also to top it off my OS is all assembly which I would think assembles faster then a compiler could compile even a kernel as small as mine.
My OS: SOS (Simple Operating System).
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Post by neon »

My new system builds in less then a minute.

...Our engine on the other hand takes 1.5 mins to build (Its big; 100+ files) I am one day hoping to integrate it with the system.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
User avatar
CmpXchg
Member
Member
Posts: 61
Joined: Mon Apr 28, 2008 12:14 pm
Location: Petrozavodsk, Russia during school months, Vänersborg Sweden in the summertime

Post by CmpXchg »

Ok, I see that small asm OS'es are rather quick to compile. DexOS is written in asm, if I'm not much mistaken?
robos wrote:nmake? comes standard with Visual Studio 2003 / 2005 (assuming that you're using the Microsoft tools)... I assume it (or something else) also comes with 2008.
I'm pretty sure there are also third party build tools available if nmake wouldn't suffice for some reason.
Oh yes, I never thought about VS 2008.
The problem is that I'm coding a DOS application to play WAV files on my VIA8237 built-in soundchip (well, just for fun, it involves much of lowlevel programming, and it's already working). So I need to be able to compile it under DOS as well. For this reason I won't be able to use nmake for this, I probably will resort to Borland's old MAKER.

When I'm done with this, I'll probably embark on OS development, where I will be able to use nmake or even switch to Linux tools.

Well, I see your compiling times are different. Just of mere curiosity, how long do you think it would take to compile Windows? :lol: A whole day, perhaps?
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Post by neon »

CmpXchg wrote:how long do you think it would take to compile Windows? :lol: A whole day, perhaps?
...That sounds about right. Keep in mind this includes alot of different software.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Post by 01000101 »

My OS takes about 2 seconds to compile. I'm on a C2D e6600 and my kernel + drivers adds up to around 40+ files.
User avatar
milyges
Member
Member
Posts: 40
Joined: Fri Nov 03, 2006 1:48 pm
Location: Poland
Contact:

Post by milyges »

My OS:

Code: Select all

milyges@colossus ~/projects/idyllaos $ time make isoimage
 CC      stdio/doprintf.o
 CC      stdio/sprintf.o
 CC      stdlib/atoi.o
 CC      stdlib/malloc.o
 CC      string/memcmp.o
 CC      string/memcpy.o
 CC      string/memset.o
 CC      string/memsetw.o
 CC      string/strcmp.o
 CC      string/strcpy.o
 CC      string/strlen.o
 CC      string/strncmp.o
 CC      string/strncpy.o
 CC      string/strdup.o
 CC      string/strndup.o
 CC      queue/create.o
 CC      queue/destroy.o
 CC      queue/put.o
 CC      queue/get.o
 AR      klibc.a
 AS      start.o
 CC      init.o
 CC      io.o
 CC      cr.o
 CC      console.o
 CC      fm.o
 CC      multiboot.o
 CC      cpu.o
 CC      gdt.o
 CC      tss.o
 CC      idt.o
 AS      handlers.o
 CC      irq.o
 AS      irqroute.o
 CC      exc.o
 CC      timer.o
 CC      page.o
 CC      elf.o
 CC      syscall.o
syscall.c: In function 'do_syscall':
syscall.c:251: warning: implicit declaration of function 'sys_times'
 CC      procdata.o
 LD      loader.o
 CC      init.o
 CC      panic.o
 CC      memcore.o
 CC      proc.o
 CC      cdev.o
 CC      bdev.o
 CC      vfs.o
 CC      rootfs.o
rootfs.c:66: warning: 'rootfs_pop_element' defined but not used
 CC      export.o
 CC      mm.o
 CC      heap.o
 CC      exit.o
 CC      fork.o
 CC      sched.o
 CC      sysreq.o
 CC      module.o
 CC      waitpid.o
 CC      execve.o
 CC      zombied.o
 CC      backtrace.o
backtrace.c: In function 'do_backtrace':
backtrace.c:56: warning: assignment makes pointer from integer without a cast
 CC      uname.o
 CC      ipc.o
 LD      kernel.sys
 INSTALL kernel.sys
 CC      null.o
 LD      null.ko
 INSTALL null.ko
 CC      tty.o
 CC      kbd.o
 LD      tty.ko
 INSTALL tty.ko
 CC      rtc.o
 LD      rtc.ko
 INSTALL rtc.ko
 CC      ata.o
 CC      controller.o
 CC      device.o
 CC      ide.o
 CC      pio.o
 CC      atapi.o
 LD      ata.ko
 INSTALL ata.ko
 CC      iso9660.o
 LD      iso9660.ko
 INSTALL iso9660.ko
 CC      tmpfs.o
 LD      tmpfs.ko
 INSTALL tmpfs.ko
 CC      init.o
 LD      init
 STRIP   init
 INSTALL init
 CC      false.o
 LD      false
 STRIP   false
 INSTALL false
 CC      cat.o
 LD      cat
 STRIP   cat
 INSTALL cat
 CC      vssh.o
 LD      vssh
 STRIP   vssh
 INSTALL vssh
 CC      ls.o
 LD      ls
 STRIP   ls
 INSTALL ls
 CC      true.o
 LD      true
 STRIP   true
 INSTALL true
 CC      insmod.o
 LD      insmod
 STRIP   insmod
 INSTALL insmod
 CC      sync.o
 LD      sync
 STRIP   sync
 INSTALL sync
 CC      mkdir.o
 LD      mkdir
 STRIP   mkdir
 INSTALL mkdir
 CC      uname.o
 LD      uname
 STRIP   uname
 INSTALL uname
 CC      mount.o
 LD      mount
 STRIP   mount
 INSTALL mount
 CC      date.o
 LD      date
 STRIP   date
 INSTALL date
 CC      touch.o
 LD      touch
 STRIP   touch
 INSTALL touch
 CC      memstat.o
 LD      memstat
 STRIP   memstat
 INSTALL memstat
 CC      ps.o
 LD      ps
 STRIP   ps
 INSTALL ps
Warning: creating filesystem that does not conform to ISO-9660.

real    0m5.686s
user    0m4.580s
sys     0m1.128s
milyges@colossus ~/projects/idyllaos $ free -m
             total       used       free     shared    buffers     cached
Mem:          2009       1763        245          0         50       1275
-/+ buffers/cache:        437       1571
Swap:            0          0          0
milyges@colossus ~/projects/idyllaos $ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 107
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
stepping        : 2
cpu MHz         : 2812.961
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips        : 5630.08
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 107
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
stepping        : 2
cpu MHz         : 2812.961
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips        : 5625.95
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

milyges@colossus ~/projects/idyllaos $   
User avatar
suthers
Member
Member
Posts: 672
Joined: Tue Feb 20, 2007 3:00 pm
Location: London UK
Contact:

Post by suthers »

My kernel takes about 2 seconds to compile on aQ6600. My OS is currently 4.77Kb, but most of that is actually because of the ISR (Yes, I have made a separate function for each interrupt and yes my source is full of the same function over and over again with minute differences, but i'm planning on fixing that soon).
To milyges:
Is it just me or do you have a separate file for nearly all of your functions?

Jules
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Post by piranha »

Image

-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Post by xyzzy »

Code: Select all

[07:41:08] [ alex in ~/src/exclaim/svn/trunk ] $ time rant
/usr/bin/ruby1.8 util/genbuildconf.rb rant build.conf .buildconf.rant
ln -s ../arch/ia32/include include/arch
(in kernel)
mkdir -p ../build/ia32/kernel
scanning src/main/ksyms.c
scanning src/main/fatal.c
scanning src/main/kmain.c
scanning src/debug/kdbg.c
scanning src/time/clock.c
scanning src/time/timer.c
scanning src/console/kprintf.c
scanning src/console/console.c
scanning src/lib/string.c
scanning src/lib/vsnprintf.c
scanning src/proc/sched.c
scanning src/proc/proc.c
scanning src/proc/thread.c
scanning src/types/list.c
scanning src/types/hash.c
scanning src/sync/mutex.c
scanning src/sync/semaphore.c
scanning src/sync/spinlock.c
scanning src/sync/wait.c
scanning src/mm/vmem.c
scanning src/mm/vmm.c
scanning src/mm/pmm.c
scanning src/mm/malloc.c
scanning src/mm/kheap.c
scanning arch/ia32/src/intr.c
scanning arch/ia32/src/tls.c
scanning arch/ia32/src/gdt.c
scanning arch/ia32/src/kdbg.c
scanning arch/ia32/src/apic.c
scanning arch/ia32/src/debug.c
scanning arch/ia32/src/smp.c
scanning arch/ia32/src/proc/thread.c
scanning arch/ia32/src/init.c
scanning arch/ia32/src/pit.c
scanning arch/ia32/src/console.c
scanning arch/ia32/src/mm/vmspace.c
scanning arch/ia32/src/mm/page.c
scanning arch/ia32/src/mm/kheap.c
scanning arch/ia32/src/boot.S
scanning arch/ia32/src/smp_boot.S
scanning arch/ia32/src/proc/switch.S
scanning arch/ia32/src/entry.S
scanning include/arch/asm.h
scanning include/arch/multiboot.h
scanning include/arch/msr.h
scanning include/arch/atomic.h
scanning include/arch/debug.h
scanning include/arch/kdbg.h
scanning include/arch/io.h
scanning include/arch/smp.h
scanning include/arch/types.h
scanning include/arch/idt.h
scanning include/arch/apic.h
scanning include/arch/_asm.h
scanning include/arch/proc/thread.h
scanning include/arch/intr.h
scanning include/arch/gdt.h
scanning include/arch/pit.h
scanning include/arch/tls.h
scanning include/arch/mm/vmspace.h
scanning include/arch/mm/mem.h
scanning include/arch/mm/page.h
scanning include/arch/mm/kheap.h
scanning include/arch/tss.h
scanning include/assert.h
scanning include/fatal.h
scanning include/debug/kdbg.h
scanning include/time/clock.h
scanning include/time/timer.h
scanning include/console/console.h
scanning include/console/kprintf.h
scanning include/lib/math.h
scanning include/lib/refcount.h
scanning include/lib/string.h
scanning include/lib/vsnprintf.h
scanning include/proc/sched.h
scanning include/proc/proc.h
scanning include/proc/thread.h
scanning include/types/vaarg.h
scanning include/types/hash.h
scanning include/types/ctype.h
scanning include/types/types.h
scanning include/types/list.h
scanning include/ksyms.h
scanning include/sync/spinlock.h
scanning include/sync/wait.h
scanning include/sync/mutex.h
scanning include/sync/semaphore.h
scanning include/mm/vmem.h
scanning include/mm/malloc.h
scanning include/mm/pmm.h
scanning include/mm/kheap.h
scanning include/mm/vmm.h
scanning include/error.h
(in /home/alex/src/exclaim/svn/trunk)
/usr/bin/ruby1.8 util/genbuildconf.rb header build.conf build/ia32/config.h
(in kernel)
mkdir -p ../build/ia32/kernel/src/main
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/main/ksyms.o src/main/ksyms.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/main/fatal.o src/main/fatal.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/main/kmain.o src/main/kmain.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/debug
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/debug/kdbg.o src/debug/kdbg.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/time
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/time/clock.o src/time/clock.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/time/timer.o src/time/timer.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/console
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/console/kprintf.o src/console/kprintf.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/console/console.o src/console/console.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/lib
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/lib/string.o src/lib/string.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/lib/vsnprintf.o src/lib/vsnprintf.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/proc
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/proc/sched.o src/proc/sched.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/proc/proc.o src/proc/proc.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/proc/thread.o src/proc/thread.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/types
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/types/list.o src/types/list.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/types/hash.o src/types/hash.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/sync
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/sync/mutex.o src/sync/mutex.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/sync/semaphore.o src/sync/semaphore.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/sync/spinlock.o src/sync/spinlock.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/sync/wait.o src/sync/wait.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/src/mm
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/mm/vmem.o src/mm/vmem.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/mm/vmm.o src/mm/vmm.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
In file included from src/mm/vmm.c:27:
include/mm/vmm.h:33: warning: struct has no members
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/mm/pmm.o src/mm/pmm.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/mm/malloc.o src/mm/malloc.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/src/mm/kheap.o src/mm/kheap.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/arch/ia32/src
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/intr.o arch/ia32/src/intr.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/tls.o arch/ia32/src/tls.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/gdt.o arch/ia32/src/gdt.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/kdbg.o arch/ia32/src/kdbg.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/apic.o arch/ia32/src/apic.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/debug.o arch/ia32/src/debug.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/smp.o arch/ia32/src/smp.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/arch/ia32/src/proc
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/proc/thread.o arch/ia32/src/proc/thread.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/init.o arch/ia32/src/init.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/pit.o arch/ia32/src/pit.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/console.o arch/ia32/src/console.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
mkdir -p ../build/ia32/kernel/arch/ia32/src/mm
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/mm/vmspace.o arch/ia32/src/mm/vmspace.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/mm/page.o arch/ia32/src/mm/page.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/mm/kheap.o arch/ia32/src/mm/kheap.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/boot.o arch/ia32/src/boot.S -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32 -D__ASM__
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/smp_boot.o arch/ia32/src/smp_boot.S -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32 -D__ASM__
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/proc/switch.o arch/ia32/src/proc/switch.S -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32 -D__ASM__
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/arch/ia32/src/entry.o arch/ia32/src/entry.S -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32 -D__ASM__
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/fake-ksyms.o ../build/ia32/kernel/fake-ksyms.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-ld -T arch/ia32/link.ld -o ../build/ia32/kernel/exclaim-pass1.elf ../build/ia32/kernel/src/main/ksyms.o ../build/ia32/kernel/src/main/fatal.o ../build/ia32/kernel/src/main/kmain.o ../build/ia32/kernel/src/debug/kdbg.o ../build/ia32/kernel/src/time/clock.o ../build/ia32/kernel/src/time/timer.o ../build/ia32/kernel/src/console/kprintf.o ../build/ia32/kernel/src/console/console.o ../build/ia32/kernel/src/lib/string.o ../build/ia32/kernel/src/lib/vsnprintf.o ../build/ia32/kernel/src/proc/sched.o ../build/ia32/kernel/src/proc/proc.o ../build/ia32/kernel/src/proc/thread.o ../build/ia32/kernel/src/types/list.o ../build/ia32/kernel/src/types/hash.o ../build/ia32/kernel/src/sync/mutex.o ../build/ia32/kernel/src/sync/semaphore.o ../build/ia32/kernel/src/sync/spinlock.o ../build/ia32/kernel/src/sync/wait.o ../build/ia32/kernel/src/mm/vmem.o ../build/ia32/kernel/src/mm/vmm.o ../build/ia32/kernel/src/mm/pmm.o ../build/ia32/kernel/src/mm/malloc.o ../build/ia32/kernel/src/mm/kheap.o ../build/ia32/kernel/arch/ia32/src/intr.o ../build/ia32/kernel/arch/ia32/src/tls.o ../build/ia32/kernel/arch/ia32/src/gdt.o ../build/ia32/kernel/arch/ia32/src/kdbg.o ../build/ia32/kernel/arch/ia32/src/apic.o ../build/ia32/kernel/arch/ia32/src/debug.o ../build/ia32/kernel/arch/ia32/src/smp.o ../build/ia32/kernel/arch/ia32/src/proc/thread.o ../build/ia32/kernel/arch/ia32/src/init.o ../build/ia32/kernel/arch/ia32/src/pit.o ../build/ia32/kernel/arch/ia32/src/console.o ../build/ia32/kernel/arch/ia32/src/mm/vmspace.o ../build/ia32/kernel/arch/ia32/src/mm/page.o ../build/ia32/kernel/arch/ia32/src/mm/kheap.o ../build/ia32/kernel/arch/ia32/src/boot.o ../build/ia32/kernel/arch/ia32/src/smp_boot.o ../build/ia32/kernel/arch/ia32/src/proc/switch.o ../build/ia32/kernel/arch/ia32/src/entry.o ../build/ia32/kernel/fake-ksyms.o /home/alex/bin/exclaim32/lib/gcc/i686-pc-exclaim/4.3.0/libgcc.a
i686-pc-exclaim-nm ../build/ia32/kernel/exclaim-pass1.elf | sort | ../util/gensyms.rb > ../build/ia32/kernel/ksymtab-pass1.c
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/ksymtab-pass1.o ../build/ia32/kernel/ksymtab-pass1.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-ld -T arch/ia32/link.ld -o ../build/ia32/kernel/exclaim-pass2.elf ../build/ia32/kernel/src/main/ksyms.o ../build/ia32/kernel/src/main/fatal.o ../build/ia32/kernel/src/main/kmain.o ../build/ia32/kernel/src/debug/kdbg.o ../build/ia32/kernel/src/time/clock.o ../build/ia32/kernel/src/time/timer.o ../build/ia32/kernel/src/console/kprintf.o ../build/ia32/kernel/src/console/console.o ../build/ia32/kernel/src/lib/string.o ../build/ia32/kernel/src/lib/vsnprintf.o ../build/ia32/kernel/src/proc/sched.o ../build/ia32/kernel/src/proc/proc.o ../build/ia32/kernel/src/proc/thread.o ../build/ia32/kernel/src/types/list.o ../build/ia32/kernel/src/types/hash.o ../build/ia32/kernel/src/sync/mutex.o ../build/ia32/kernel/src/sync/semaphore.o ../build/ia32/kernel/src/sync/spinlock.o ../build/ia32/kernel/src/sync/wait.o ../build/ia32/kernel/src/mm/vmem.o ../build/ia32/kernel/src/mm/vmm.o ../build/ia32/kernel/src/mm/pmm.o ../build/ia32/kernel/src/mm/malloc.o ../build/ia32/kernel/src/mm/kheap.o ../build/ia32/kernel/arch/ia32/src/intr.o ../build/ia32/kernel/arch/ia32/src/tls.o ../build/ia32/kernel/arch/ia32/src/gdt.o ../build/ia32/kernel/arch/ia32/src/kdbg.o ../build/ia32/kernel/arch/ia32/src/apic.o ../build/ia32/kernel/arch/ia32/src/debug.o ../build/ia32/kernel/arch/ia32/src/smp.o ../build/ia32/kernel/arch/ia32/src/proc/thread.o ../build/ia32/kernel/arch/ia32/src/init.o ../build/ia32/kernel/arch/ia32/src/pit.o ../build/ia32/kernel/arch/ia32/src/console.o ../build/ia32/kernel/arch/ia32/src/mm/vmspace.o ../build/ia32/kernel/arch/ia32/src/mm/page.o ../build/ia32/kernel/arch/ia32/src/mm/kheap.o ../build/ia32/kernel/arch/ia32/src/boot.o ../build/ia32/kernel/arch/ia32/src/smp_boot.o ../build/ia32/kernel/arch/ia32/src/proc/switch.o ../build/ia32/kernel/arch/ia32/src/entry.o ../build/ia32/kernel/ksymtab-pass1.o /home/alex/bin/exclaim32/lib/gcc/i686-pc-exclaim/4.3.0/libgcc.a
i686-pc-exclaim-nm ../build/ia32/kernel/exclaim-pass2.elf | sort | ../util/gensyms.rb > ../build/ia32/kernel/ksymtab-pass2.c
i686-pc-exclaim-gcc -g -c -o ../build/ia32/kernel/ksymtab-pass2.o ../build/ia32/kernel/ksymtab-pass2.c -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -fno-exceptions -fno-leading-underscore -fno-stack-protector -Wall -Wextra -std=gnu99 -Wno-variadic-macros -Wno-unused-parameter -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wstrict-prototypes -pedantic -O2 -include ../build/ia32/config.h -include ../build/ia32/build.h -Iinclude -m32
i686-pc-exclaim-ld -T arch/ia32/link.ld -o ../build/ia32/kernel/exclaim.debug -Map ../build/ia32/kernel/exclaim.map ../build/ia32/kernel/src/main/ksyms.o ../build/ia32/kernel/src/main/fatal.o ../build/ia32/kernel/src/main/kmain.o ../build/ia32/kernel/src/debug/kdbg.o ../build/ia32/kernel/src/time/clock.o ../build/ia32/kernel/src/time/timer.o ../build/ia32/kernel/src/console/kprintf.o ../build/ia32/kernel/src/console/console.o ../build/ia32/kernel/src/lib/string.o ../build/ia32/kernel/src/lib/vsnprintf.o ../build/ia32/kernel/src/proc/sched.o ../build/ia32/kernel/src/proc/proc.o ../build/ia32/kernel/src/proc/thread.o ../build/ia32/kernel/src/types/list.o ../build/ia32/kernel/src/types/hash.o ../build/ia32/kernel/src/sync/mutex.o ../build/ia32/kernel/src/sync/semaphore.o ../build/ia32/kernel/src/sync/spinlock.o ../build/ia32/kernel/src/sync/wait.o ../build/ia32/kernel/src/mm/vmem.o ../build/ia32/kernel/src/mm/vmm.o ../build/ia32/kernel/src/mm/pmm.o ../build/ia32/kernel/src/mm/malloc.o ../build/ia32/kernel/src/mm/kheap.o ../build/ia32/kernel/arch/ia32/src/intr.o ../build/ia32/kernel/arch/ia32/src/tls.o ../build/ia32/kernel/arch/ia32/src/gdt.o ../build/ia32/kernel/arch/ia32/src/kdbg.o ../build/ia32/kernel/arch/ia32/src/apic.o ../build/ia32/kernel/arch/ia32/src/debug.o ../build/ia32/kernel/arch/ia32/src/smp.o ../build/ia32/kernel/arch/ia32/src/proc/thread.o ../build/ia32/kernel/arch/ia32/src/init.o ../build/ia32/kernel/arch/ia32/src/pit.o ../build/ia32/kernel/arch/ia32/src/console.o ../build/ia32/kernel/arch/ia32/src/mm/vmspace.o ../build/ia32/kernel/arch/ia32/src/mm/page.o ../build/ia32/kernel/arch/ia32/src/mm/kheap.o ../build/ia32/kernel/arch/ia32/src/boot.o ../build/ia32/kernel/arch/ia32/src/smp_boot.o ../build/ia32/kernel/arch/ia32/src/proc/switch.o ../build/ia32/kernel/arch/ia32/src/entry.o ../build/ia32/kernel/ksymtab-pass2.o /home/alex/bin/exclaim32/lib/gcc/i686-pc-exclaim/4.3.0/libgcc.a
i686-pc-exclaim-objdump -d ../build/ia32/kernel/exclaim.debug > ../build/ia32/kernel/exclaim.lst
i686-pc-exclaim-readelf -a ../build/ia32/kernel/exclaim.debug > ../build/ia32/kernel/exclaim.rde
i686-pc-exclaim-nm -C ../build/ia32/kernel/exclaim.debug | uniq | sort > ../build/ia32/kernel/exclaim.sym
i686-pc-exclaim-strip ../build/ia32/kernel/exclaim.debug -o ../build/ia32/kernel/exclaim.elf
(in /home/alex/src/exclaim/svn/trunk)

real	0m3.541s
user	0m2.080s
sys	0m0.340s
This is my current development tree with not much functionality implemented, the old main branch probably takes a little longer. This is on a Core 2 Quad Q6600 with 2GB RAM
User avatar
thepowersgang
Member
Member
Posts: 734
Joined: Tue Dec 25, 2007 6:03 am
Libera.chat IRC: thePowersGang
Location: Perth, Western Australia
Contact:

Post by thepowersgang »

The current version of AcessOS takes about 6 seconds to compile on a 800MHz toshiba laptop. Total file count is about 22 files.

I use a custom build system using a PHP script and DJGPP binutils cross compiler from osdever.net
Attachments
Compile window of acess os
Compile window of acess os
acessCompile.PNG (16.63 KiB) Viewed 3090 times
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
User avatar
CmpXchg
Member
Member
Posts: 61
Joined: Mon Apr 28, 2008 12:14 pm
Location: Petrozavodsk, Russia during school months, Vänersborg Sweden in the summertime

Post by CmpXchg »

Thank you so much!
thepowersgang wrote:I use a custom build system using a PHP script and DJGPP binutils cross compiler from osdever.net
Does ld linker run under Windows?

I'm surprised how many options need to be passed to gcc.
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Post by Candy »

real 5m10.276s
user 4m3.957s
sys 0m36.229s
I'll spare you the compile logs. It's probably the cooler on my processor, multiple threads don't speed it up.

It does compile the kernel for three targets, all the tools, compress the kernels (using my own tool which is *not* fast), compile part of the boot sector, then assemble the rest and assemble all that including a number of userland libraries into a disk image of 6TB.
User avatar
suthers
Member
Member
Posts: 672
Joined: Tue Feb 20, 2007 3:00 pm
Location: London UK
Contact:

Post by suthers »

To candy:
6TB?, seriously most people don't even have that much storage. (I thought I had loads with 1.5TB).
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Post by Candy »

suthers wrote:To candy:
6TB?, seriously most people don't even have that much storage. (I thought I had loads with 1.5TB).
It's a very sparse test image. The point is to test how my OS handles *huge* harddisks, esp. for my own file system which should handle up to 32768EB. My test host file system can't support files of 16TB or over though... I'm on the lookout for an emulator that can handle 6TB. Recently filed a Bochs bug report - it messes up.
Post Reply