diff --git a/sofort/ccenv/ccswitch.strs b/sofort/ccenv/ccswitch.strs
index 9c4f508..0a76f03 100644
--- a/sofort/ccenv/ccswitch.strs
+++ b/sofort/ccenv/ccswitch.strs
@@ -25,8 +25,9 @@
 -std=c11
 
 # linker switches
--Wl,
+-Wl,--print-map
 -Wl,--no-undefined
+-Wl,--verbose
 
 # errors and warnings
 -Wall
diff --git a/sofort/cfgtest/cfgtest.sh b/sofort/cfgtest/cfgtest.sh
index 692bfec..f66dde5 100644
--- a/sofort/cfgtest/cfgtest.sh
+++ b/sofort/cfgtest/cfgtest.sh
@@ -213,6 +213,8 @@ cfgtest_common_init()
 	if [ "$mb_cfgtest_stdin_input" = 'no' ]; then
 		if [ "$cfgtest_type" = 'lib' ]; then
 			cfgtest_fmt='%s cfgtest_c3RyaWN0X21vZGUK.c -o a.out'
+		elif [ "$cfgtest_type" = 'ldflag' ]; then
+			cfgtest_fmt='%s cfgtest_c3RyaWN0X21vZGUK.c -o a.out'
 		else
 			cfgtest_fmt='%s -c cfgtest_c3RyaWN0X21vZGUK.c -o a.out'
 		fi
@@ -220,6 +222,8 @@ cfgtest_common_init()
 		cfgtest_fmt='%s -c -xc - -o a.out'
 	elif [ "$cfgtest_type" = 'lib' ]; then
 		cfgtest_fmt='%s -xc - -o a.out'
+	elif [ "$cfgtest_type" = 'ldflag' ]; then
+		cfgtest_fmt='%s -xc - -o a.out'
 	else
 		cfgtest_fmt='%s -S -xc - -o -'
 	fi
@@ -232,6 +236,13 @@ cfgtest_common_init()
 			"$mb_cfgtest_ldflags"                \
 			"$cfgtest_libs")
 
+	elif [ "$cfgtest_type" = 'ldflag' ]; then
+		cfgtest_cmd=$(printf "$cfgtest_fmt %s %s %s" \
+			"$mb_cfgtest_cc"                     \
+			"$mb_cfgtest_cflags"                 \
+			"$mb_cfgtest_ldflags"                \
+			"$cfgtest_switches")
+
 	elif [ "$cfgtest_type" = 'switch' ]; then
 		cfgtest_cmd=$(printf "$cfgtest_fmt %s %s" \
 			"$mb_cfgtest_cc"                  \
@@ -248,6 +259,10 @@ cfgtest_common_init()
 		cfgtest_inc=
 		cfgtest_src="$cfgtest_code_snippet"
 
+	elif [ "$cfgtest_type" = 'ldflag' ]; then
+		cfgtest_inc=
+		cfgtest_src=
+
 	elif [ "$cfgtest_type" = 'switch' ]; then
 		cfgtest_inc=
 		cfgtest_src=
@@ -270,7 +285,7 @@ cfgtest_common_init()
 			printf ' \\\n\t%s' "$cfgtest_lib" >&3
 		done
 
-	elif [ "$cfgtest_type" = 'switch' ]; then
+	elif [ "$cfgtest_type" = 'switch' ] || [ "$cfgtest_type" = 'ldflag' ]; then
 		for cfgtest_switch in $(printf '%s' "$cfgtest_switches"); do
 			printf ' \\\n\t%s' "$cfgtest_switch" >&3
 		done
@@ -583,9 +598,17 @@ cfgtest_compiler_switch()
 		cfgtest_prolog 'compiler switch combination' "$cfgtest_switches"
 	fi
 
-	cfgtest_code_snippet=
-
-	cfgtest_common_init 'switch'
+	case "${1}" in
+		-Wl,*)
+			cfgtest_code_snippet='int main(void){return 0;}'
+			cfgtest_common_init 'ldflag'
+			;;
+
+		*)
+			cfgtest_code_snippet=
+			cfgtest_common_init 'switch'
+			;;
+	esac
 
 	# execute
 	printf '%s' "$cfgtest_src"                  \