--- /dev/null
+From 50ae93273376ede704012030009c29bd58d6a569 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 26 Nov 2017 16:22:25 +0100
+Subject: [PATCH] template.S: fix to build on architecture with non-empty
+ __USER_LABEL_PREFIX__
+
+Blackfin has a non-empty __USER_LABEL_PREFIX__, which means that a
+symbol called "foo" in C must be named "_foo" in assembler.
+
+Interestingly, it seems like "$(CC) -xassembler - -c" doesn't pass the
+input source file through the C preprocessor, so we do this
+explicitly.
+
+Submitted-upstream: https://github.com/open-power/pdbg/pull/26
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.am | 2 +-
+ template.S | 22 +++++++++++++++-------
+ 2 files changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 9d34bff..82e0856 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -62,4 +62,4 @@ p9z-fsi.dtb.o: p9z-fsi.dts p9-fsi.dtsi
+ %.dtb.o: %.dts
+ dtc -i$(dir $@) -I dts $< -O dtb > $@.tmp
+ symbol_prefix=`echo $@ | tr '.-' '_'` ; \
+- sed "s%SYMBOL_PREFIX%$${symbol_prefix}%g; s%FILENAME%$@.tmp%g" $(top_srcdir)/template.S | $(CC) -xassembler - -c -o $@
++ sed "s%SYMBOL_PREFIX%$${symbol_prefix}%g; s%FILENAME%$@.tmp%g" $(top_srcdir)/template.S | $(CPP) - | $(CC) -xassembler - -c -o $@
+diff --git a/template.S b/template.S
+index 2e6cbdb..1407a7c 100644
+--- a/template.S
++++ b/template.S
+@@ -1,10 +1,18 @@
++#ifdef __USER_LABEL_PREFIX__
++#define CONCAT1(a, b) CONCAT2(a, b)
++#define CONCAT2(a, b) a ## b
++#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
++#else
++#define SYM(x) x
++#endif
++
+ .section .data
+-_binary_SYMBOL_PREFIX_start:
++SYM(_binary_SYMBOL_PREFIX_start):
+ .incbin "FILENAME"
+ .align 4
+-_binary_SYMBOL_PREFIX_end:
+-_binary_SYMBOL_PREFIX_size:
+- .long _binary_SYMBOL_PREFIX_end - _binary_SYMBOL_PREFIX_start
+-.globl _binary_SYMBOL_PREFIX_start
+-.globl _binary_SYMBOL_PREFIX_end
+-.globl _binary_SYMBOL_PREFIX_size
++SYM(_binary_SYMBOL_PREFIX_end):
++SYM(_binary_SYMBOL_PREFIX_size):
++ .long SYM(_binary_SYMBOL_PREFIX_end) - SYM(_binary_SYMBOL_PREFIX_start)
++.globl SYM(_binary_SYMBOL_PREFIX_start)
++.globl SYM(_binary_SYMBOL_PREFIX_end)
++.globl SYM(_binary_SYMBOL_PREFIX_size)
+--
+2.13.6
+