This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

some lines of deviation, using arm-arago-linux-gnueabi-addr2line

I added the following code in function Vsys_params_init at dvr_rdk/mcfw/src_linux/mcfw_api/ti_vsys.c:

*(char*)0x0 = 0;

Made the following changes to common_header_a8.mk:

DVRRDK_04.00.00.03/dvr_rdk$ diff ./makerules/common_header_a8.mk.orig_bak ./makerules/common_header_a8.mk
7c7
< CC=$(CODEGEN_PREFIX)gcc
---
> CC=$(CODEGEN_PREFIX)gcc -g -O0 -rdynamic -fexceptions
9c9
< LD=$(CODEGEN_PREFIX)gcc
---
> LD=$(CODEGEN_PREFIX)gcc -g -O0 -rdynamic -fexceptions
38c38
< OPTI_OPTS=-O3
---
> OPTI_OPTS=

Compiled ./dvr_rdk_demo_mcfw_api.out and run it.

Got the following log:

root@dm816x:/opt/ti8168/bin/debug# ./dvr_rdk_demo_mcfw_api.out
cq: U: Vsys_params_init: just crash

****** Segmentation fault caught ....
Faulty address is (nil), called from 0x40219524
Totally Obtained 8 stack frames. signal number =11
the arm_fp 0xbe7c94d4
the arm_ip 0x 1
the arm_sp 0xbe7c94c8
the arm_lr 0x40219524
the arm_pc 0x50ca0
the arm_cpsr 0x60000010
the falut_address 0x 0
Signal number = 11, Signal errno = 0
SI code = 1 (Address not mapped to object)
Fault addr = (nil)
[bt] Execution path:
[bt] ./dvr_rdk_demo_mcfw_api.out(SIGSEGV_handler+0x48) [0x19f90]
[bt] /lib/libc.so.6(__default_rt_sa_restorer_v2+0) [0x401ea810]
[bt] ./dvr_rdk_demo_mcfw_api.out(Vsys_params_init+0x20) [0x50ca0]
[bt] ./dvr_rdk_demo_mcfw_api.out(VcapVenc_start+0x58) [0x2c4d0]
[bt] ./dvr_rdk_demo_mcfw_api.out(Demo_startStop+0x174) [0x1a938]
[bt] ./dvr_rdk_demo_mcfw_api.out(Demo_run+0x30) [0x1a4fc]
[bt] ./dvr_rdk_demo_mcfw_api.out(main+0x60) [0x1a250]
[bt] /lib/libc.so.6(__libc_start_main+0x114) [0x401d45ac]

When I run:

../ti_tools/cgt_a8/arago/linux-devkit/bin/arm-arago-linux-gnueabi-addr2line  -e bin/ti816x/bin/debug/dvr_rdk_demo_mcfw_api.out 0x2c4d0

The output had some lines of deviation.
For example, calling of Vsys_params_init should be at line 37, but arm-arago-linux-gnueabi-addr2line output line 39.

And some addresses could be parsed by arm-arago-linux-gnueabi-addr2line correctly, for example, 0x50ca0 as I tested.

I searched a lot in makefiles and on google, and didn't find any options to solve this.

Any help will be appreciated!
Best Regards!