View Issue Details

IDProjectCategoryView StatusLast Update
0030294FPCCompilerpublic2018-09-10 19:25
ReporterSimon Ameis Assigned To 
PrioritynormalSeverityminorReproducibilityN/A
Status newResolutionopen 
Product Version3.1.1 
Summary0030294: Include Sub Architecture / instruction set in Unit Path
DescriptionEspecially for embedded CPU targets, a subarchitecture specifies the instruction set, the microcontroller unit can operate on.

Currently it is not possible to compile and install the RTL for multiple subarchitectures of the same CPU architecture at the same time.

For example, you may need to build your code for different ARM processors which either use ARMV6 or ARMV7.

The unit path could be changed from <fpc_version>/units/<arch>-<ostarget> to <fpc_version>/units/<arch>-<ostarget>-<subarch>
Additional InformationThis would require a change in the installer, and in the default configuration files. Maybe it's also required to create a new compile time definition for the subarchitecture
Tagsembedded, installer, Path
Fixed in Revision
FPCOldBugId
FPCTarget
Attached Files

Activities

Thaddy de Koning

2018-09-10 16:04

reporter   ~0110614

I am pretty sure that a disciplined programmer can do that already.
there are many make! and compiler options to do just that

Christo Crause

2018-09-10 19:25

reporter   ~0110616

While Thaddy isn't wrong, I think that something as common (for arm & avr) as compiling for different subarchitectures should just work.

Florian started some work a while ago: https://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=30766

Florian's modification works when building the compiler and rtl, but fails for packages. I fixed that with a slight modification to Florian's approach and modified fpmkunit to also follow this convention: https://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg36515.html

Issue History

Date Modified Username Field Change
2016-06-19 12:35 Simon Ameis New Issue
2016-06-19 12:35 Simon Ameis Tag Attached: embedded
2016-06-19 12:35 Simon Ameis Tag Attached: installer
2016-06-19 12:35 Simon Ameis Tag Attached: Path
2018-09-10 16:04 Thaddy de Koning Note Added: 0110614
2018-09-10 19:25 Christo Crause Note Added: 0110616