View Issue Details

IDProjectCategoryView StatusLast Update
0027302FPCCompilerpublic2020-01-24 20:13
ReporterMichael Ring Assigned To 
Status newResolutionopen 
Summary0027302: Target mipsel-embedded is enabled in fixes_3_0 but it does not build.
DescriptionMy branch was not merged completely, the units for the chips and the startup code are missing.

I have provided patches for this in the past, main open issue was that when all devices are added this adds approx. 142MB to total fpc sources size, that's the reason (I guess) that they were not yet applied by Sergei.

I can cut this size to approx. half or I can reduce the number of exposed chips.

Steps To Reproducemake clean buildbase CROSSINSTALL=1 OS_TARGET=embedded CPU_TARGET=mipsel SUBARCH=pic32mx CROSSOPT="-O- -gw2" BINUTILSPREFIX=pic32-

/usr/local/bin/gmkdir -p /Users/ring/devel/fpc-3.0/rtl/units/mipsel-embedded
make[3]: *** No rule to make target `mipsel/startup.s', needed by `startup.o'. Stop.

Additional InformationPerhaps the best way to go is to expose only a few chips right now and then to extend the compiler in 3.1.1 to be more flexible with embedded targets; I can also easily provide automagically created units for a lot of different ARM platforms (CMSIS based) but this would add several hundred, if not thousand new definitions that most propably never get used. Some kind of dynamic loading based on available units that a user downloads as needed would be nice. I could try to implement this.
Which way to go, you decide ;-) I would really make sure that the exposed target actually compiles and produces working code.
Tagscross compile
Fixed in Revision
Attached Files


Mark Morgan Lloyd

2015-01-13 22:29

reporter   ~0080363

I think there might be native build problems for mipsel as well, I'm reverting to an older version to make sure I don't have platform problems.

Michael Ring

2015-02-05 20:20

reporter   ~0080806

Any news/decisions?

Mark Morgan Lloyd

2015-02-10 21:35

reporter   ~0080937

In my case I was able to build provided that I started off with a cross compiler (i.e. starting off with 2.6.4 which is correct but which does not itself have a MIPS target), so what I wrote was effectively off-topic for which I apologise.

Jeppe Johansen

2015-03-27 10:46

developer   ~0082369

Why does it take up that much space? How many files are we talking about here?


2020-01-23 22:08

administrator   ~0120692

Another remark: the copyright of the startup.s is not suitable for the rtl (2nd clause).

Michael Ring

2020-01-24 09:52

reporter   ~0120701

Jeppe has proposed to make startup code include more pascal routines (please see riscv32 startup code as a reference), if you are OK with that approach I can provide a patch that uses the riscv32 style of startup code and eliminate the parts taken from microchip's startup code.


2020-01-24 20:13

administrator   ~0120719

@Michael: yes, this would be great.

Issue History

Date Modified Username Field Change
2015-01-13 15:20 Michael Ring New Issue
2015-01-13 21:13 Simon Ameis Tag Attached: cross compile
2015-01-13 22:29 Mark Morgan Lloyd Note Added: 0080363
2015-02-05 20:20 Michael Ring Note Added: 0080806
2015-02-10 21:35 Mark Morgan Lloyd Note Added: 0080937
2015-03-27 10:46 Jeppe Johansen Note Added: 0082369
2020-01-23 22:08 Florian Note Added: 0120692
2020-01-24 09:52 Michael Ring Note Added: 0120701
2020-01-24 20:13 Florian Note Added: 0120719