Attached it the crt1.s created using gcc -S that was used in the prt0.as in my earlier email.

-regards

On 10/21/20 10:51 AM, Curtis Hamilton wrote:
Attached is the prt0.as <http://prt0.as> I created using the one used for linux/powerpc64.  I've also attached the dump of crt1.s from the target.

Thanks!

On Wed, Oct 21, 2020 at 10:04 AM Jonas Maebe via fpc-devel <fpc-devel@lists.freepascal.org <mailto:fpc-devel@lists.freepascal.org>> wrote:

    On 20/10/2020 02:32, Curtis Hamilton via fpc-devel wrote:
    > I think I maybe in over my head on this. I've taken a look and
    now I'm not sure what the issue is.  The
    > segfault occurs in the FPC RTL initiazation code (see backtrace
    below).
    >
    > Any ideas?

    What does the prt0.as <http://prt0.as> file that you created look
    like?


    Jonas
    _______________________________________________
    fpc-devel maillist  - fpc-devel@lists.freepascal.org
    <mailto:fpc-devel@lists.freepascal.org>
    https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

        .file   "crt1.c"
        .section        ".got","aw"
        .section        ".text"
#APP
        .ident  "$FreeBSD: releng/12.1/lib/csu/powerpc64/crt1.c 326219 
2017-11-26 02:00:33Z pfg $"
        .ident  "$FreeBSD: releng/12.1/lib/csu/common/crtbrand.c 354233 
2019-11-01 00:00:17Z gjb $"
        .ident  "$FreeBSD: releng/12.1/lib/csu/common/ignore_init.c 339351 
2018-10-13 23:52:55Z kib $"
#NO_APP
        .section        ".got","aw"
.LC2:
        .tc environ[TC],environ
.LC3:
        .tc .LANCHOR0[TC],.LANCHOR0
.LC4:
        .tc __ps_strings[TC],__ps_strings
.LC5:
        .tc _DYNAMIC[TC],_DYNAMIC
.LC6:
        .tc atexit[TC],atexit
.LC7:
        .tc _init_tls[TC],_init_tls
.LC8:
        .tc finalizer[TC],finalizer
.LC9:
        .tc __preinit_array_end[TC],__preinit_array_end
.LC10:
        .tc __preinit_array_start[TC],__preinit_array_start
.LC11:
        .tc _init[TC],_init
.LC12:
        .tc __init_array_end[TC],__init_array_end
.LC13:
        .tc __init_array_start[TC],__init_array_start
.LC14:
        .tc main[TC],main
.LC15:
        .tc exit[TC],exit
        .section        ".text"
        .align 2
        .globl _start
        .section        ".opd","aw"
        .align 3
_start:
        .quad   .L._start,.TOC.@tocbase,0
        .previous
        .type   _start, @function
.L._start:
        mflr 0
        std 28,-32(1)
        mr 28,5
        std 30,-16(1)
        mr 30,4
        std 31,-8(1)
        mr 31,3
        std 0,16(1)
        mr 3,7
        std 26,-48(1)
        std 27,-40(1)
        std 29,-24(1)
        ld 9,.LC2@toc(2)
        stdu 1,-160(1)
        ld 0,0(9)
        cmpdi 7,0,0
        beq- 7,.L31
.L2:
        cmpwi 7,31,0
        ble- 7,.L4
        ld 9,0(30)
        cmpdi 7,9,0
        beq- 7,.L4
        ld 11,.LC3@toc(2)
        std 9,0(11)
        lbz 0,0(9)
        cmpdi 7,0,0
        beq- 7,.L4
        addi 9,9,1
        b .L8
.L11:
        lbz 0,0(9)
        addi 9,9,1
        cmpdi 7,0,0
        beq- 7,.L4
.L8:
        cmpwi 7,0,47
        bne+ 7,.L11
        std 9,0(11)
        lbz 0,0(9)
        addi 9,9,1
        cmpdi 7,0,0
        bne+ 7,.L8
.L4:
        cmpdi 7,8,0
        beq- 7,.L12
        ld 9,.LC4@toc(2)
        std 8,0(9)
.L12:
        ld 0,.LC5@toc(2)
        cmpdi 7,0,0
        beq- 7,.L14
        ld 9,.LC6@toc(2)
        std 2,40(1)
        ld 0,0(9)
        ld 11,16(9)
        mtctr 0
        ld 2,8(9)
        bctrl
        ld 2,40(1)
.L16:
        ld 9,.LC14@toc(2)
        mr 3,31
        std 2,40(1)
        mr 4,30
        mr 5,28
        ld 0,0(9)
        ld 11,16(9)
        mtctr 0
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        ld 9,.LC15@toc(2)
        ld 0,0(9)
        ld 11,16(9)
        mtctr 0
        ld 2,8(9)
        bctrl
        ld 2,40(1)
.L31:
        std 5,0(9)
        b .L2
.L14:
        ld 9,.LC7@toc(2)
        std 2,40(1)
        ld 0,0(9)
        ld 11,16(9)
        mtctr 0
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        ld 9,.LC6@toc(2)
        ld 3,.LC8@toc(2)
        ld 0,0(9)
        ld 11,16(9)
        mtctr 0
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        ld 0,.LC9@toc(2)
        ld 26,.LC10@toc(2)
        subf 0,26,0
        sradi. 27,0,3
        beq- 0,.L17
        li 29,0
        b .L19
.L20:
        addi 29,29,1
        cmpd 7,27,29
        beq- 7,.L17
.L19:
        sldi 0,29,3
        ldx 9,26,0
        cmpldi 7,9,1
        ble+ 7,.L20
        ld 0,0(9)
        mr 3,31
        std 2,40(1)
        mr 4,30
        mtctr 0
        mr 5,28
        ld 11,16(9)
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        b .L20
.L17:
        ld 9,.LC11@toc(2)
        std 2,40(1)
        ld 0,0(9)
        ld 11,16(9)
        mtctr 0
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        ld 0,.LC12@toc(2)
        ld 26,.LC13@toc(2)
        subf 0,26,0
        sradi. 27,0,3
        beq- 0,.L16
        li 29,0
        b .L23
.L24:
        addi 29,29,1
        cmpd 7,27,29
        beq- 7,.L16
.L23:
        sldi 0,29,3
        ldx 9,26,0
        cmpldi 7,9,1
        ble+ 7,.L24
        ld 0,0(9)
        mr 3,31
        std 2,40(1)
        mr 4,30
        mtctr 0
        mr 5,28
        ld 11,16(9)
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        b .L24
        .long 0
        .byte 0,0,0,1,128,6,0,0
        .size   _start,.-.L._start
        .section        ".got","aw"
.LC16:
        .tc __fini_array_end[TC],__fini_array_end
.LC17:
        .tc __fini_array_start[TC],__fini_array_start
.LC18:
        .tc _fini[TC],_fini
        .section        ".text"
        .align 2
        .section        ".opd","aw"
        .align 3
finalizer:
        .quad   .L.finalizer,.TOC.@tocbase,0
        .previous
        .type   finalizer, @function
.L.finalizer:
        mflr 0
        ld 11,.LC17@toc(2)
        std 0,16(1)
        ld 0,.LC16@toc(2)
        std 30,-16(1)
        subf 0,11,0
        std 31,-8(1)
        sradi. 0,0,3
        stdu 1,-128(1)
        beq- 0,.L33
        sldi 9,0,3
        addi 9,9,-8
        add 30,9,11
        mr 31,0
        b .L35
.L36:
        cmpdi 7,31,0
        beq- 7,.L33
.L35:
        ld 9,0(30)
        addi 31,31,-1
        addi 30,30,-8
        cmpldi 7,9,1
        ble+ 7,.L36
        ld 0,0(9)
        std 2,40(1)
        mtctr 0
        ld 11,16(9)
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        cmpdi 7,31,0
        bne+ 7,.L35
.L33:
        std 2,40(1)
        ld 9,.LC18@toc(2)
        ld 0,0(9)
        ld 11,16(9)
        mtctr 0
        ld 2,8(9)
        bctrl
        ld 2,40(1)
        addi 1,1,128
        ld 0,16(1)
        ld 30,-16(1)
        mtlr 0
        ld 31,-8(1)
        blr
        .long 0
        .byte 0,0,0,1,128,2,0,0
        .size   finalizer,.-.L.finalizer
        .globl __progname
        .comm   environ,8,8
        .comm   __ps_strings,8,8
        .section        ".data"
        .align 3
        .set    .LANCHOR0,. + 0
        .type   __progname, @object
        .size   __progname, 8
__progname:
        .quad   .LC19
        .section        .note.tag,"a",@progbits
        .align 2
        .type   crt_noinit_tag, @object
        .size   crt_noinit_tag, 24
crt_noinit_tag:
        .long   8
        .long   4
        .long   2
        .string "FreeBSD"
        .long   0
        .type   abitag, @object
        .size   abitag, 24
abitag:
        .long   8
        .long   4
        .long   1
        .string "FreeBSD"
        .long   1201000
        .section        .rodata.str1.8,"aMS",@progbits,1
        .align 3
.LC19:
        .string ""
        .weak   _DYNAMIC
        .hidden __fini_array_start
        .hidden __fini_array_end
        .hidden __init_array_start
        .hidden __init_array_end
        .hidden __preinit_array_start
        .hidden __preinit_array_end
        .hidden _init
        .hidden _fini
        .ident  "GCC: (GNU) 4.2.1 20070831 patched [FreeBSD]"
        .section        .note.GNU-stack,"",@progbits
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to