symbolize.py: fix decoding of ftrace dumps containing syscalls

When decoding an ftrace file with syscall tracing enabled [1], the
kernel functions are not resolved and show question marks instead.

[1] $ make CFG_FTRACE_SUPPORT=y CFG_SYSCALL_FTRACE=y CFG_ULIBS_MCOUNT=y \
           CFLAGS_ta_arm32=-pg
    [run test and copy content of /tmp/ftrace*]
    $ optee_os/scripts/symbolize.py -d optee_os/out/arm/core \
           -d out-br/build/optee_test-1.0/ta/*/out
    [paste ftrace log here]

Fixes: 105e09c24479 ("symbolize.py: add support for TEE core ASLR")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
diff --git a/scripts/symbolize.py b/scripts/symbolize.py
index b63c745..bf2f41c 100755
--- a/scripts/symbolize.py
+++ b/scripts/symbolize.py
@@ -186,17 +186,15 @@
             # especially to symbolize mixed (user-space and kernel) addresses
             # which is true when syscall ftrace is enabled along with TA
             # ftrace.
-            return '0x0'
+            return self._tee_load_addr
         else:
             # tee.elf
             return self._tee_load_addr
 
     def elf_for_addr(self, addr):
-        if not self._regions:
-            return 'tee.elf'
         l_addr = self.elf_load_addr(addr)
-        if l_addr is None:
-            return None
+        if l_addr == self._tee_load_addr:
+            return 'tee.elf'
         for k in self._elfs:
             e = self._elfs[k]
             if int(e[1], 16) == int(l_addr, 16):
@@ -369,7 +367,7 @@
         self._sections = {}  # {elf_name: [[name, addr, size], ...], ...}
         self._regions = []   # [[addr, size, elf_idx, saved line], ...]
         self._elfs = {0: ["tee.elf", 0]}  # {idx: [uuid, load_addr], ...}
-        self._tee_load_addr = 0x0
+        self._tee_load_addr = '0x0'
         self._func_graph_found = False
         self._func_graph_skip_line = True