Re: armhfp bootstrap needed for fpc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 14, 2017 at 8:51 PM, Florian Weimer <fweimer@xxxxxxxxxx> wrote:
> On 09/14/2017 09:31 PM, Peter Robinson wrote:
>>
>> On Thu, Sep 14, 2017 at 8:11 PM, Florian Weimer <fweimer@xxxxxxxxxx>
>> wrote:
>>>
>>> We never switched fpc (the Free Pascal Compiler) to the armhfp (hard
>>> float)
>>> ABI.  Would anyone who is familiar with the procedure like to help with
>>> this?
>>>
>>> The bug tracking this is:
>>>
>>>    https://bugzilla.redhat.com/show_bug.cgi?id=1491788
>>>
>>> As far as I can tell, Debian has an fpc package which is relatively close
>>> in
>>> version to Fedora's, and it does no longer need any upstream patches for
>>> armhfp.
>>
>>
>> I thought Hans had done this in the past [1] and it has previously
>> worked did we regress it at some point?
>
>
>> [1] https://koji.fedoraproject.org/koji/buildinfo?buildID=455287
>
>
> We regressed.  fpc-2.6.2-4.fc20.armv7hl produces VFP instructions:
>
> [root@calxeda-arm-soc-04 tmp]# cat t.pas
> var i: real;
>
> begin
>    Read (i);
>    WriteLn (i + 3.0);
> end.
> [root@calxeda-arm-soc-04 tmp]# fpc -g -O2 t.pas
> Free Pascal Compiler version 2.6.2 [2013/08/08] for arm
> Copyright (c) 1993-2012 by Florian Klaempfl and others
> Target OS: Linux for ARMHF
> Compiling t.pas
> Assembling program
> Linking t
> /usr/bin/ld: warning: link.res contains output sections; did you forget -T?
> 6 lines compiled, 0.4 sec
> [root@calxeda-arm-soc-04 tmp]# objdump  -d --reloc t | grep -25 vadd.f64 |
> head -n 30
>
> 0001018c <PASCALMAIN>:
>    1018c:       e92d4010        push    {r4, lr}
>    10190:       e24dd010        sub     sp, sp, #16
>    10194:       e28dc008        add     ip, sp, #8
>    10198:       ec8c8b02        vstmia  ip, {d8}
>    1019c:       eb000e95        bl      13bf8 <FPC_INITIALIZEUNITS>
>    101a0:       e3a00000        mov     r0, #0
>    101a4:       ec400b10        vmov    d0, r0, r0
>    101a8:       eb001c63        bl      1733c <fpc_get_input>
>    101ac:       e1a04000        mov     r4, r0
>    101b0:       e1a0100d        mov     r1, sp
>    101b4:       e1a00004        mov     r0, r4
>    101b8:       eb001e5d        bl      17b34 <fpc_read_text_float>
>    101bc:       eb000e72        bl      13b8c <FPC_IOCHECK>
>    101c0:       ed9d8b00        vldr    d8, [sp]
>    101c4:       e1a00004        mov     r0, r4
>    101c8:       eb001e4f        bl      17b0c <FPC_READ_END>
>    101cc:       eb000e6e        bl      13b8c <FPC_IOCHECK>
>    101d0:       eb001c6a        bl      17380 <fpc_get_output>
>    101d4:       e1a04000        mov     r4, r0
>    101d8:       e59f203c        ldr     r2, [pc, #60]   ; 1021c
> <PASCALMAIN+0x90>
>    101dc:       e3e01000        mvn     r1, #0
>    101e0:       e59f0038        ldr     r0, [pc, #56]   ; 10220
> <PASCALMAIN+0x94>
>    101e4:       ed900b00        vldr    d0, [r0]
>    101e8:       ee380b00        vadd.f64        d0, d8, d0
>    101ec:       e1a03004        mov     r3, r4
>    101f0:       e3a00001        mov     r0, #1
>    101f4:       eb001d68        bl      1779c <fpc_write_text_float>
>    101f8:       eb000e63        bl      13b8c <FPC_IOCHECK>
>
> I can't get dynamic linking to work (and ppcarm itself is statically
> linked), but the binary embeds the correct program interpreter:
>
> [root@calxeda-arm-soc-04 tmp]# strings -a /usr/bin/ppcarm | grep
> /lib/ld-linux
> /lib/ld-linux-armhf.so.3
>
> How do you want to proceed?  We have a hacked glibc in F26 and earlier which
> happens to run FPC softfloat binaries with the old program interpreter.  I
> can restore that to F27 and rawhide if this helps to restore armhfp/EABIHF
> support, but maybe this is counterproductive because it obscures problems.

Can I bootstrap the newer 3.0 release using the fpc-2.6.2-4.fc20
build? If so I can deal with this.
_______________________________________________
arm mailing list -- arm@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to arm-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM (Vger)]     [Linux ARM]     [ARM Kernel]     [Fedora User Discussion]     [Older Fedora Users Discussion]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Maintainers]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]

Powered by Linux