Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2013-01

arm-embedded buid broken since rev 23325

5 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Michael Ring

Today I found some time to research since when excactly arm-embedded does not compile anymore, I found that since revision 23325 compile does not work anymore, can anybody help, it seems that the problem itself is hidden somewhere else in code...

Michael

Error Message:

/bin/mkdir -p /Users/ring/devel/fpc/rtl/units/arm-embedded /Users/ring/devel/fpc/compiler/ppcrossarm -Cparmv7m @rtl.cfg -Ur -Tembedded -Parm -XParm-embedded- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm -FE. -FU/Users/ring/devel/fpc/rtl/units/arm-embedded -darm -dRELEASE -Us -Sg system.pp
text.inc(1789,14) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString"
text.inc(1847,39) Fatal: Cannot find system type
"TRELOCATETHREADVARHANDLER". Check if you use the correct run time library. Fatal: Compilation aborted

Code change:

===================================================================
--- compiler/ncgld.pas  (revision 23324)
+++ compiler/ncgld.pas  (working copy)
@@ -266,6 +266,7 @@
          endrelocatelab,
          norelocatelab : tasmlabel;
          paraloc1 : tcgpara;
+        pvd : tdef;
        begin
          { we don't know the size of all arrays }
          newsize:=def_cgsize(resultdef);
@@ -360,8 +361,11 @@
current_asmdata.getjumplabel(norelocatelab);
current_asmdata.getjumplabel(endrelocatelab);
                          { make sure hregister can't allocate the
register necessary for the parameter }
+ pvd:=search_system_type('TRELOCATETHREADVARHANDLER').typedef;
+                        if pvd.typprocvardef then
+                          internalerror(2012120901);

Reply by email

Florian Klämpfl
to Michael Ring
Michael Ring wrote
Today I found some time to research since when excactly arm-embedded does not compile anymore, I found that since revision 23325 compile does not work anymore, can anybody help, it seems that the problem itself is hidden somewhere else in code...

Fixed in r23452.

Reply by email

Michael Ring
to Florian Klämpfl

Thank you very much Florian, this problem is now indeed fixed. I have encountered another one:

/Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s: Assembler messages: /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20800: Error: thumb conditional instruction should be in IT block -- `bxeq r14' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20803: Error: thumb conditional instruction should be in IT block -- `subls r1,r1,#32' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20804: Error: thumb conditional instruction should be in IT block -- `strbls r1,[r12]' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20820: Error: thumb conditional instruction should be in IT block -- `bxeq r14' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20823: Error: thumb conditional instruction should be in IT block -- `addls r1,r1,#32' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20824: Error: thumb conditional instruction should be in IT block -- `strbls r1,[r12]'

this one can be solved by adding -mimplicit-it=thumb to the the commandline of arm-embedded-as. I have created a replacement script for arm-embedded-as:

#!/bin/sh
/usr/local/bin/arm-embedded-as -mimplicit-it=thumb $*

with this script I can build latest svn.

What I do not understand is that this problem only exists when sysutils gets compiled, the svn code from 2012-01-04 works fine, the code from the next day shows this error, the 'only' change is that sysutils gets included in the build.

For now, how can I add "-mimplicit-it=thumb" to the as commandline without my small hack? can I put this somewhere in fpc.cfg?

Michael

Florian Klämpfl wrote 11 lines
Am 19.01.2013 12:18, schrieb Michael Ring: > Today I found some time to research since when excactly arm-embedded > does not compile anymore, I found that since revision 23325 compile does > not work anymore, can anybody help, it seems that the problem itself is > hidden somewhere else in code... Fixed in r23452. _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Jeppe Græsdal Johansen
to Michael Ring

Could you write the complete command line you use for compiling?

Michael Ring wrote 55 lines
Thank you very much Florian, this problem is now indeed fixed. I have encountered another one: /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s: Assembler messages: /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20800: Error: thumb conditional instruction should be in IT block -- `bxeq r14' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20803: Error: thumb conditional instruction should be in IT block -- `subls r1,r1,#32' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20804: Error: thumb conditional instruction should be in IT block -- `strbls r1,[r12]' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20820: Error: thumb conditional instruction should be in IT block -- `bxeq r14' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20823: Error: thumb conditional instruction should be in IT block -- `addls r1,r1,#32' /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20824: Error: thumb conditional instruction should be in IT block -- `strbls r1,[r12]' this one can be solved by adding -mimplicit-it=thumb to the the commandline of arm-embedded-as. I have created a replacement script for arm-embedded-as: #!/bin/sh /usr/local/bin/arm-embedded-as -mimplicit-it=thumb $* with this script I can build latest svn. What I do not understand is that this problem only exists when sysutils gets compiled, the svn code from 2012-01-04 works fine, the code from the next day shows this error, the 'only' change is that sysutils gets included in the build. For now, how can I add "-mimplicit-it=thumb" to the as commandline without my small hack? can I put this somewhere in fpc.cfg? Michael Am 19.01.13 16:19, schrieb Florian Klämpfl: > Am 19.01.2013 12:18, schrieb Michael Ring: >> Today I found some time to research since when excactly arm-embedded >> does not compile anymore, I found that since revision 23325 compile >> does >> not work anymore, can anybody help, it seems that the problem itself is >> hidden somewhere else in code... > Fixed in r23452. > > _______________________________________________ > fpc-devel maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-devel > _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Michael Ring
to Jeppe Græsdal Johansen

The command uses for building is straight from the wiki:

make clean buildbase installbase CROSSINSTALL=1 OS_TARGET=embedded CPU_TARGET=arm SUBARCH=armv7m

without my small hack the build breaks, when I add:

export PATH=/Users/ring:$PATH

and put the small replacement script to /Users/ring the build finishes.

I am using GNU assembler version 2.23.1 (arm-none-eabi) using BFD version (GNU Binutils) 2.23.1

built from latest binutils sources, commands also taken from Target Embedded Wiki

Michael

Jeppe Græsdal Johansen wrote 64 lines
Could you write the complete command line you use for compiling? Den 19-01-2013 22:58, Michael Ring skrev: > Thank you very much Florian, this problem is now indeed fixed. I have > encountered another one: > > /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s: Assembler > messages: > /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20800: Error: > thumb conditional instruction should be in IT block -- `bxeq r14' > /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20803: Error: > thumb conditional instruction should be in IT block -- `subls r1,r1,#32' > /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20804: Error: > thumb conditional instruction should be in IT block -- `strbls r1,[r12]' > /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20820: Error: > thumb conditional instruction should be in IT block -- `bxeq r14' > /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20823: Error: > thumb conditional instruction should be in IT block -- `addls r1,r1,#32' > /Users/ring/devel/fpc/rtl/units/arm-embedded/sysutils.s:20824: Error: > thumb conditional instruction should be in IT block -- `strbls r1,[r12]' > > this one can be solved by adding -mimplicit-it=thumb to the the > commandline of arm-embedded-as. I have created a replacement script > for arm-embedded-as: > > #!/bin/sh > /usr/local/bin/arm-embedded-as -mimplicit-it=thumb $* > > with this script I can build latest svn. > > What I do not understand is that this problem only exists when > sysutils gets compiled, the svn code from 2012-01-04 works fine, the > code from the next day shows this error, the 'only' change is that > sysutils gets included in the build. > > For now, how can I add "-mimplicit-it=thumb" to the as commandline > without my small hack? can I put this somewhere in fpc.cfg? > > Michael > > > Am 19.01.13 16:19, schrieb Florian Klämpfl: >> Am 19.01.2013 12:18, schrieb Michael Ring: >>> Today I found some time to research since when excactly arm-embedded >>> does not compile anymore, I found that since revision 23325 compile >>> does >>> not work anymore, can anybody help, it seems that the problem >>> itself is >>> hidden somewhere else in code... >> Fixed in r23452. >> >> _______________________________________________ >> fpc-devel maillist - >> http://lists.freepascal.org/mailman/listinfo/fpc-devel >> > > _______________________________________________ > fpc-devel maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-devel _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email