--- /dev/null
+--- a/gdb/testsuite/gdb.base/macscp.exp
++++ b/gdb/testsuite/gdb.base/macscp.exp
+@@ -33,6 +33,14 @@ if [test_compiler_info gcc*] {
+ lappend options additional_flags=-g3
+ }
+
++# Workaround ccache making lineno non-zero for command-line definitions.
++if {[find_gcc] == "gcc" && [file executable "/usr/bin/gcc"]} {
++ set result [catch "exec which gcc" output]
++ if {$result == 0 && [string first "/ccache/" $output] >= -1} {
++ lappend options "compiler=/usr/bin/gcc"
++ }
++}
++
+ # Generate the intermediate object file. This is required by Darwin to
+ # have access to the .debug_macinfo section.
+ if {[gdb_compile "${srcdir}/${subdir}/macscp1.c" "${objfile}" \