--- /dev/null
+From 96bcd6ed97ff05f5b421005f23973279dbfcafbf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Wed, 11 Feb 2015 15:46:37 +0100
+Subject: [PATCH 1/2] Fix Errno.pm generation for gcc-5.0
+
+gcc-5.0 -E interleaves now line numbers with expended macros, so that
+the generated errno.c will be preprocessed to
+
+EBFONT => [[
+ 59
+ ]]
+
+which is hard to parse in in line-based reader.
+
+So use -P option with gcc >= 5.0. Global -P usage would break makedepend,
+global -ftrack-macro-expansion=0 would break lib/h2ph.t.
+
+RT#123784
+---
+ ext/Errno/Errno_pm.PL | 23 +++++++++++++++++------
+ 1 file changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
+index 3dadfce..c6bfa06 100644
+--- a/ext/Errno/Errno_pm.PL
++++ b/ext/Errno/Errno_pm.PL
+@@ -215,20 +215,31 @@ sub write_errno_pm {
+ { # BeOS (support now removed) did not enter this block
+ # invoke CPP and read the output
+
++ my $inhibit_linemarkers = '';
++ if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
++ # GCC 5.0 interleaves expanded macros with line numbers breaking
++ # each line into multiple lines. RT#123784
++ $inhibit_linemarkers = ' -P';
++ }
++
+ if ($^O eq 'VMS') {
+- my $cpp = "$Config{cppstdin} $Config{cppflags} $Config{cppminus}";
++ my $cpp = "$Config{cppstdin} $Config{cppflags}" .
++ $inhibit_linemarkers . " $Config{cppminus}";
+ $cpp =~ s/sys\$input//i;
+ open(CPPO,"$cpp errno.c |") or
+ die "Cannot exec $Config{cppstdin}";
+ } elsif ($IsMSWin32 || $^O eq 'NetWare') {
+- open(CPPO,"$Config{cpprun} $Config{cppflags} errno.c |") or
+- die "Cannot run '$Config{cpprun} $Config{cppflags} errno.c'";
++ my $cpp = "$Config{cpprun} $Config{cppflags}" .
++ $inhibit_linemarkers;
++ open(CPPO,"$cpp errno.c |") or
++ die "Cannot run '$cpp errno.c'";
+ } elsif ($IsSymbian) {
+- my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc -";
++ my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc" .
++ $inhibit_linemarkers ." -";
+ open(CPPO,"$cpp < errno.c |")
+ or die "Cannot exec $cpp";
+ } else {
+- my $cpp = default_cpp();
++ my $cpp = default_cpp() . $inhibit_linemarkers;
+ open(CPPO,"$cpp < errno.c |")
+ or die "Cannot exec $cpp";
+ }
+--
+2.3.0
+