Index: uspace/lib/libc/Makefile
===================================================================
--- uspace/lib/libc/Makefile	(revision d57e08fda20f5ed6fff368922e28e65d39bb37af)
+++ uspace/lib/libc/Makefile	(revision f563126931ea083d74828e89fd20f24e40d63b00)
@@ -116,5 +116,5 @@
 
 arch/$(UARCH)/_link.ld: arch/$(UARCH)/_link.ld.in
-	$(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
+	$(GCC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
 
 %.o: %.S
Index: uspace/lib/libc/Makefile.toolchain
===================================================================
--- uspace/lib/libc/Makefile.toolchain	(revision d57e08fda20f5ed6fff368922e28e65d39bb37af)
+++ uspace/lib/libc/Makefile.toolchain	(revision f563126931ea083d74828e89fd20f24e40d63b00)
@@ -66,4 +66,5 @@
 ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
+	GCC = $(CC)
 	AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
 	LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld
@@ -76,4 +77,5 @@
 ifeq ($(COMPILER),gcc_native)
 	CC = gcc
+	GCC = $(CC)
 	AS = $(BINUTILS_PREFIX)as
 	LD = $(BINUTILS_PREFIX)ld
@@ -86,4 +88,5 @@
 ifeq ($(COMPILER),icc)
 	CC = icc
+	GCC = gcc
 	AS = as
 	LD = ld
@@ -96,4 +99,5 @@
 ifeq ($(COMPILER),clang)
 	CC = clang
+	GCC = gcc
 	AS = $(BINUTILS_PREFIX)as
 	LD = $(BINUTILS_PREFIX)ld
Index: uspace/lib/libc/arch/ia32/_link.ld.in
===================================================================
--- uspace/lib/libc/arch/ia32/_link.ld.in	(revision d57e08fda20f5ed6fff368922e28e65d39bb37af)
+++ uspace/lib/libc/arch/ia32/_link.ld.in	(revision f563126931ea083d74828e89fd20f24e40d63b00)
@@ -3,5 +3,5 @@
 
 PHDRS {
-        text PT_LOAD FLAGS(5);
+	text PT_LOAD FLAGS(5);
 	data PT_LOAD FLAGS(6);
 }
@@ -9,21 +9,24 @@
 SECTIONS {
 	. = 0x1000 + SIZEOF_HEADERS;
-
+	
 	.init : {
 		*(.init);
 	} :text
+	
 	.text : {
 		*(.text);
-                *(.rodata*);
+		*(.rodata*);
 	} :text
-
+	
 	. = . + 0x1000;
-
+	
 	.data : {
 		*(.data);
 	} :data
+	
 	.tdata : {
 		_tdata_start = .;
 		*(.tdata);
+		*(.gnu.linkonce.tb.*);
 		_tdata_end = .;
 		_tbss_start = .;
@@ -31,11 +34,14 @@
 		_tbss_end = .;
 	} :data
+	
 	_tls_alignment = ALIGNOF(.tdata);
+	
 	.bss : {
-                *(COMMON);
-                *(.bss);
+		*(COMMON);
+		*(.bss);
 	} :data
 	
 	. = ALIGN(0x1000);
+	
 	_heap = .;
 	
@@ -43,4 +49,3 @@
 		*(*);
 	}
-
 }
Index: uspace/srv/fs/fat/fat.h
===================================================================
--- uspace/srv/fs/fat/fat.h	(revision d57e08fda20f5ed6fff368922e28e65d39bb37af)
+++ uspace/srv/fs/fat/fat.h	(revision f563126931ea083d74828e89fd20f24e40d63b00)
@@ -89,5 +89,5 @@
 			uint16_t	signature;
 		} __attribute__ ((packed));
-		struct {
+		struct fat32 {
 			/* FAT32 only */
 			/** Sectors per FAT. */
Index: uspace/srv/loader/Makefile
===================================================================
--- uspace/srv/loader/Makefile	(revision d57e08fda20f5ed6fff368922e28e65d39bb37af)
+++ uspace/srv/loader/Makefile	(revision f563126931ea083d74828e89fd20f24e40d63b00)
@@ -72,5 +72,5 @@
 
 arch/$(UARCH)/_link.ld: arch/$(UARCH)/_link.ld.in
-	$(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
+	$(GCC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
 
 %.o: %.S
Index: uspace/srv/loader/arch/ia32/_link.ld.in
===================================================================
--- uspace/srv/loader/arch/ia32/_link.ld.in	(revision d57e08fda20f5ed6fff368922e28e65d39bb37af)
+++ uspace/srv/loader/arch/ia32/_link.ld.in	(revision f563126931ea083d74828e89fd20f24e40d63b00)
@@ -8,5 +8,5 @@
 PHDRS {
 	interp PT_INTERP;
-        text PT_LOAD FILEHDR PHDRS FLAGS(5);
+	text PT_LOAD FILEHDR PHDRS FLAGS(5);
 	data PT_LOAD FLAGS(6);
 }
@@ -16,13 +16,14 @@
 		*(.interp);
 	} :interp
-
+	
 	. = 0x70001000;
-
+	
 	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
 		*(.init);
 	} :text
+	
 	.text : {
 		*(.text);
-                *(.rodata*);
+		*(.rodata*);
 	} :text
 	
@@ -30,9 +31,12 @@
 		*(.data);
 	} :data
+	
 	.tdata : {
 		_tdata_start = .;
 		*(.tdata);
+		*(.gnu.linkonce.tb.*);
 		_tdata_end = .;
 	} :data
+	
 	.tbss : {
 		_tbss_start = .;
@@ -40,11 +44,14 @@
 		_tbss_end = .;
 	} :data
+	
 	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
+	
 	.bss : {
-                *(COMMON);
-                *(.bss);
+		*(COMMON);
+		*(.bss);
 	} :data
 	
 	. = ALIGN(0x1000);
+	
 	_heap = .;
 	
@@ -52,4 +59,3 @@
 		*(*);
 	}
-
 }
