Index: kernel/Makefile
===================================================================
--- kernel/Makefile	(revision 1e847fbcb4712071589c4f54374e938fab6054fb)
+++ kernel/Makefile	(revision 60133d0afd1e7d9529d61aac6419c1afec8cd212)
@@ -39,4 +39,5 @@
 DEFS = -D$(ARCH) -DARCH=\"$(ARCH)\" -DRELEASE=\"$(RELEASE)\" "-DNAME=\"$(NAME)\"" -DKERNEL
 CFLAGS = -fno-builtin -fomit-frame-pointer -Wall -Wmissing-prototypes -Werror -O3 -nostdlib -nostdinc -Igeneric/include/
+#SUNCC_CFLAGS = -xO3 -Igeneric/include/ -xnolib -xc99=all
 LFLAGS = -M
 AFLAGS =
@@ -121,4 +122,5 @@
 ifeq ($(COMPILER),gcc_native)
 	CC = gcc
+	AS_CC = gcc
 	AS = as
 	LD = ld
@@ -130,4 +132,5 @@
 ifeq ($(COMPILER),icc_native)
 	CC = icc
+	AS_CC = gcc
 	AS = as
 	LD = ld
@@ -139,4 +142,5 @@
 ifeq ($(COMPILER),suncc_native)
 	CC = suncc
+	AS_CC = gcc
 	AS = as
 	LD = ld
@@ -148,4 +152,5 @@
 ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/bin/$(TARGET)-gcc
+	AS_CC = $(CC)
 	AS = $(TOOLCHAIN_DIR)/bin/$(TARGET)-as
 	LD = $(TOOLCHAIN_DIR)/bin/$(TARGET)-ld
@@ -332,5 +337,5 @@
 
 %.o: %.S
-	$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
+	$(AS_CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
 
 %.o: %.s
Index: kernel/arch/ia32/include/asm.h
===================================================================
--- kernel/arch/ia32/include/asm.h	(revision 1e847fbcb4712071589c4f54374e938fab6054fb)
+++ kernel/arch/ia32/include/asm.h	(revision 60133d0afd1e7d9529d61aac6419c1afec8cd212)
@@ -61,10 +61,10 @@
 {
 	asm volatile ("hlt\n");
-};
+}
 
 static inline void cpu_sleep(void)
 {
 	asm volatile ("hlt\n");
-};
+}
 
 #define GEN_READ_REG(reg) static inline unative_t read_ ##reg (void) \
@@ -80,22 +80,22 @@
     }
 
-GEN_READ_REG(cr0);
-GEN_READ_REG(cr2);
-GEN_READ_REG(cr3);
-GEN_WRITE_REG(cr3);
-
-GEN_READ_REG(dr0);
-GEN_READ_REG(dr1);
-GEN_READ_REG(dr2);
-GEN_READ_REG(dr3);
-GEN_READ_REG(dr6);
-GEN_READ_REG(dr7);
-
-GEN_WRITE_REG(dr0);
-GEN_WRITE_REG(dr1);
-GEN_WRITE_REG(dr2);
-GEN_WRITE_REG(dr3);
-GEN_WRITE_REG(dr6);
-GEN_WRITE_REG(dr7);
+GEN_READ_REG(cr0)
+GEN_READ_REG(cr2)
+GEN_READ_REG(cr3)
+GEN_WRITE_REG(cr3)
+
+GEN_READ_REG(dr0)
+GEN_READ_REG(dr1)
+GEN_READ_REG(dr2)
+GEN_READ_REG(dr3)
+GEN_READ_REG(dr6)
+GEN_READ_REG(dr7)
+
+GEN_WRITE_REG(dr0)
+GEN_WRITE_REG(dr1)
+GEN_WRITE_REG(dr2)
+GEN_WRITE_REG(dr3)
+GEN_WRITE_REG(dr6)
+GEN_WRITE_REG(dr7)
 
 /** Byte to port
Index: kernel/generic/include/mm/slab.h
===================================================================
--- kernel/generic/include/mm/slab.h	(revision 1e847fbcb4712071589c4f54374e938fab6054fb)
+++ kernel/generic/include/mm/slab.h	(revision 60133d0afd1e7d9529d61aac6419c1afec8cd212)
@@ -72,7 +72,7 @@
 typedef struct {
 	link_t link;
-	count_t busy;  /**< Count of full slots in magazine */
-	count_t size;  /**< Number of slots in magazine */
-	void *objs[0]; /**< Slots in magazine */
+	count_t busy;	/**< Count of full slots in magazine */
+	count_t size;	/**< Number of slots in magazine */
+	void *objs[];	/**< Slots in magazine */
 } slab_magazine_t;
 
