Index: uspace/Makefile.common
===================================================================
--- uspace/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -235,8 +235,8 @@
 GCC_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
 	-fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \
-	-finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \
-	-Wall -Wextra -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes \
-	-std=gnu99 -Werror-implicit-function-declaration -Wwrite-strings \
-	-pipe -ggdb -D__$(ENDIANESS)__
+	-finput-charset=UTF-8 -ffreestanding -fno-builtin -ffunction-sections \
+	-nostdlib -nostdinc -Wall -Wextra -Wno-clobbered -Wno-unused-parameter \
+	-Wmissing-prototypes -std=gnu99 -Werror-implicit-function-declaration \
+	-Wwrite-strings -pipe -ggdb -D__$(ENDIANESS)__
 
 ICC_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
Index: uspace/lib/c/arch/amd64/Makefile.common
===================================================================
--- uspace/lib/c/arch/amd64/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/lib/c/arch/amd64/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -29,4 +29,5 @@
 GCC_CFLAGS += -mno-tls-direct-seg-refs -fno-omit-frame-pointer
 CLANG_CFLAGS += -fno-omit-frame-pointer
+LFLAGS += --gc-sections
 
 ENDIANESS = LE
Index: uspace/lib/c/arch/arm32/Makefile.common
===================================================================
--- uspace/lib/c/arch/arm32/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/lib/c/arch/arm32/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -28,5 +28,7 @@
 #
 
-GCC_CFLAGS += -ffixed-r9 -mtp=soft -fno-omit-frame-pointer -mapcs-frame -march=$(subst _,-,$(PROCESSOR_ARCH))
+GCC_CFLAGS += -ffixed-r9 -mtp=soft -fno-omit-frame-pointer -mapcs-frame \
+              -march=$(subst _,-,$(PROCESSOR_ARCH))
+LFLAGS += --gc-sections
 
 ifeq ($(CONFIG_FPU),y)
Index: uspace/lib/c/arch/ia32/Makefile.common
===================================================================
--- uspace/lib/c/arch/ia32/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/lib/c/arch/ia32/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -28,10 +28,12 @@
 
 ifeq ($(PROCESSOR),i486)
-	GCC_CFLAGS += -march=i486 -mno-tls-direct-seg-refs -fno-omit-frame-pointer
+	GCC_CFLAGS += -march=i486 
 else
-	GCC_CFLAGS += -march=pentium -mno-tls-direct-seg-refs -fno-omit-frame-pointer
+	GCC_CFLAGS += -march=pentium
 endif
 
+GCC_CFLAGS += -mno-tls-direct-seg-refs -fno-omit-frame-pointer
 CLANG_CFLAGS += -fno-omit-frame-pointer
+LFLAGS += --gc-sections
 
 ENDIANESS = LE
Index: uspace/lib/c/arch/mips32/Makefile.common
===================================================================
--- uspace/lib/c/arch/mips32/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/lib/c/arch/mips32/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -30,4 +30,5 @@
 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
 AS_PROLOG = .module softfloat;.abicalls;
+LFLAGS += --gc-sections
 
 ENDIANESS = LE
Index: uspace/lib/c/arch/mips32eb/Makefile.common
===================================================================
--- uspace/lib/c/arch/mips32eb/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/lib/c/arch/mips32eb/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -30,4 +30,5 @@
 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
 AS_PROLOG = .module softfloat;.abicalls;
+LFLAGS += --gc-sections
 
 ENDIANESS = BE
Index: uspace/lib/c/arch/ppc32/Makefile.common
===================================================================
--- uspace/lib/c/arch/ppc32/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/lib/c/arch/ppc32/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -27,5 +27,4 @@
 #
 
-
 ifeq ($(CONFIG_FPU),y)
 	FLOATS=hard
@@ -37,4 +36,5 @@
 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
 AFLAGS += -a32
+LFLAGS += --gc-sections
 
 ENDIANESS = BE
Index: uspace/lib/c/arch/sparc64/Makefile.common
===================================================================
--- uspace/lib/c/arch/sparc64/Makefile.common	(revision aaae6d99cfb1bf857abad28a4671e0c97ea8eb06)
+++ uspace/lib/c/arch/sparc64/Makefile.common	(revision 978058442db039c0933d980de7486f93414ed1c0)
@@ -35,5 +35,5 @@
 GCC_CFLAGS += -m64 -mcmodel=medlow
 
-LFLAGS += -no-check-sections
+LFLAGS += -no-check-sections --gc-sections
 
 ENDIANESS = BE
