Try to increase the stack size (using --stack-size=32K or even --stack-size=1M).
If that works, you need to modify grt/config/linux.c for FreeBSD.

That's C code, so there is no Ada barrier :-)

Tristan.

----- Mail original -----
> On Mon, 20 Jan 2014 19:05:58 +0100 (CET)
> [email protected] wrote:
> 
> > Is frame 0 available at crash point ?
> > 
> 
> Oops, sorry.
> 
> (gdb) run --assert-level=note
> Starting program: /home/hanzer/devel/dlx/dlx_test_behaviour
> --assert-level=note 0 X"20020000"
> 4 X"AC020018"
> 8 X"20420001"
> 12 X"6441000A"
> 16 X"1420FFF0"
> 20 X"44000000"
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004299ac in work__dlx__ARCH__behaviour__interpreter__PROC
> (INSTANCE=<error reading variable: Cannot access memory at address
> 0x80073bd88>) at dlx-behaviour.vhdl:143 143           mem_enable <=
> '0'
> 0x80073bd88>after Tpd_clk_out;
> 
> (gdb) bt
> #0  0x00000000004299ac in
> work__dlx__ARCH__behaviour__interpreter__PROC
> (INSTANCE=<error reading variable: Cannot access memory at address
> 0x80073bd88>) at dlx-behaviour.vhdl:143 #1  0x0000000000441cd4 in
> 0x80073bd88>grt_stack_loop ()
> 0x80073bd88>at
> /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/amd64.S:40
> #2  0x00000008014fac00 in ?? ()
> #3  0x0000000000429998 in
> work__dlx__ARCH__behaviour__interpreter__bus_read (INSTANCE=0x0,
> address=0x0, data_width=width_byte, instr_fetch=false, data=0x0,
> phi1=0x0, phi2=0x2000, reset=<error reading variable: Cannot access
> memory at address 0x80073e000>, a=<error reading variable: Cannot
> access memory at address 0x80073e008>, d=<error reading variable:
> Cannot access memory at address 0x80073e010>, width=<error reading
> variable: Cannot access memory at address 0x80073e018>,
> write_enable=<error reading variable: Cannot access memory at address
> 0x80073e020>, mem_enable=<error reading variable: Cannot access
> memory
> 0x80073e020>at address 0x80073e028>, ifetch=<error reading variable:
> 0x80073e020>Cannot access memory at address 0x80073e030>,
> ready=<error
> 0x80073e020>reading variable: Cannot access memory at address
> 0x80073e020>0x80073e038>, tpd_clk_out=<error reading variable: Cannot
> 0x80073e020>0x80073e038>access memory at address 0x80073e040>) at
> 0x80073e020>0x80073e038>dlx-behaviour.vhdl:143 #4  0x000000080073dfa8
> 0x80073e020>0x80073e038>in ?? ()
> #5  0x0000000000002000 in ?? ()
> Cannot access memory at address 0x80073e000
> 
> (gdb) frame 0
> #0  0x00000000004299ac in
> work__dlx__ARCH__behaviour__interpreter__PROC
> (INSTANCE=<error reading variable: Cannot access memory at address
> 0x80073bd88>) at dlx-behaviour.vhdl:143 143           mem_enable <=
> '0'
> 0x80073bd88>after Tpd_clk_out;
> 
> (gdb) info reg
> rax            0x1      1
> rbx            0x2      2
> rcx            0x5      5
> rdx            0x1      1
> rsi            0x683f60 6831968
> rdi            0x8014fac00      34381736960
> rbp            0x80073dfd0      0x80073dfd0
> rsp            0x80073bd30      0x80073bd30
> r8             0x684ba0 6835104
> r9             0x1      1
> r10            0x1      1
> r11            0x801407000      34380738560
> r12            0x0      0
> r13            0x8014fac00      34381736960
> r14            0x429998 4364696
> r15            0x0      0
> rip            0x4299ac 0x4299ac
> <work__dlx__ARCH__behaviour__interpreter__PROC+20> eflags
> 0x10206  [ PF IF RF ] cs             0x43     67
> ss             0x3b     59
> ds             *value not available*
> es             *value not available*
> fs             *value not available*
> gs             *value not available*
> 
> (gdb) print /x $esp
> $1 = 0x73bd30
> 
> (gdb) disassemble $pc,$pc+20
> Dump of assembler code from 0x4299ac to 0x4299c0:
> => 0x00000000004299ac
> <work__dlx__ARCH__behaviour__interpreter__PROC+20>:       mov
> %rdi,-0x2248(%rbp) 0x00000000004299b3
> <work__dlx__ARCH__behaviour__interpreter__PROC+27>:       mov
> -0x2248(%rbp),%rax 0x00000000004299ba
> <work__dlx__ARCH__behaviour__interpreter__PROC+34>:       add
> $0x158,%rax End of assembler dump.
> 
> _______________________________________________
> Ghdl-discuss mailing list
> [email protected]
> https://mail.gna.org/listinfo/ghdl-discuss
> 

_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to