View Issue Details

IDProjectCategoryView StatusLast Update
0032839FPCCompilerpublic2017-12-31 06:38
ReporterChristo CrauseAssigned ToJeppe Johansen 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.1.1Product Buildr37748 
Target Version3.2.0Fixed in Version3.1.1 
Summary0032839: AVR - at90pwm161 subarch type incorrect - patch
DescriptionBuilding the RTL for avr4 generates a linker error for at90pwm161.s. This controller has an avr5 core. Attached find a patch to change the subarch for this controller to avr5.
Steps To ReproduceBuild AVR RTL for subarch=avr4
TagsNo tags attached.
Fixed in Revision37858
FPCOldBugId
FPCTarget
Attached Files
  • at90pwm161.patch (3,837 bytes)
    Index: compiler/avr/cpuinfo.pas
    ===================================================================
    --- compiler/avr/cpuinfo.pas	(revision 37748)
    +++ compiler/avr/cpuinfo.pas	(working copy)
    @@ -287,7 +287,7 @@
             ,(controllertypestr:'ATMEGA32U4'; controllerunitstr:'ATMEGA32U4'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:256; sramsize:2560; eeprombase:0; eepromsize:1024)
             ,(controllertypestr:'ATTINY26'; controllerunitstr:'ATTINY26'; cputype: cpu_avr25; fputype:fpu_soft; flashbase:0; flashsize:2048; srambase:96; sramsize:128; eeprombase:0; eepromsize:128)
             ,(controllertypestr:'AT90USB1287'; controllerunitstr:'AT90USB1287'; cputype: cpu_avr51; fputype:fpu_soft; flashbase:0; flashsize:131072; srambase:256; sramsize:8192; eeprombase:0; eepromsize:4096)
    -        ,(controllertypestr:'AT90PWM161'; controllerunitstr:'AT90PWM161'; cputype: cpu_avr4; fputype:fpu_soft; flashbase:0; flashsize:16384; srambase:256; sramsize:1024; eeprombase:0; eepromsize:512)
    +        ,(controllertypestr:'AT90PWM161'; controllerunitstr:'AT90PWM161'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:16384; srambase:256; sramsize:1024; eeprombase:0; eepromsize:512)
             ,(controllertypestr:'ATTINY48'; controllerunitstr:'ATTINY48'; cputype: cpu_avr25; fputype:fpu_soft; flashbase:0; flashsize:4096; srambase:256; sramsize:256; eeprombase:0; eepromsize:64)
             ,(controllertypestr:'ATMEGA168P'; controllerunitstr:'ATMEGA168P'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:16384; srambase:256; sramsize:1024; eeprombase:0; eepromsize:512)
             ,(controllertypestr:'ATTINY10'; controllerunitstr:'ATTINY10'; cputype: cpu_avr25; fputype:fpu_soft; flashbase:0; flashsize:1024; srambase:64; sramsize:32; eeprombase:0; eepromsize:0)
    Index: rtl/embedded/Makefile
    ===================================================================
    --- rtl/embedded/Makefile	(revision 37748)
    +++ rtl/embedded/Makefile	(working copy)
    @@ -396,7 +396,7 @@
     CPU_UNITS_DEFINED=1
     endif
     ifeq ($(SUBARCH),avr4)
    -CPU_UNITS=at90pwm161 atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
    +CPU_UNITS=atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
     	  atmega88pa atmega88 atmega48p atmega8535 at90pwm1 at90pwm2b atmega48pa ata6285 ata6286
     CPU_UNITS_DEFINED=1
     endif
    @@ -411,7 +411,7 @@
     	  atmega16hvb atmega164p atmega325a atmega640 atmega6450 atmega329p at90usb647 \
     	  atmega168 atmega6490a atmega32m1 atmega64c1 atmega644pa atmega325pa atmega6450a \
     	  atmega329pa atmega6450p atmega64 atmega165pa atmega16a atmega649 atmega649p \
    -	  atmega3250p atmega325 atmega169pa avrsim
    +	  atmega3250p atmega325 atmega169pa avrsim at90pwm161
     CPU_UNITS_DEFINED=1
     endif
     ifeq ($(SUBARCH),avr51)
    Index: rtl/embedded/Makefile.fpc
    ===================================================================
    --- rtl/embedded/Makefile.fpc	(revision 37748)
    +++ rtl/embedded/Makefile.fpc	(working copy)
    @@ -108,7 +108,7 @@
     CPU_UNITS_DEFINED=1
     endif
     ifeq ($(SUBARCH),avr4)
    -CPU_UNITS=at90pwm161 atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
    +CPU_UNITS=atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
               atmega88pa atmega88 atmega48p atmega8535 at90pwm1 at90pwm2b atmega48pa ata6285 ata6286
     CPU_UNITS_DEFINED=1
     endif
    @@ -123,7 +123,7 @@
               atmega16hvb atmega164p atmega325a atmega640 atmega6450 atmega329p at90usb647 \
               atmega168 atmega6490a atmega32m1 atmega64c1 atmega644pa atmega325pa atmega6450a \
               atmega329pa atmega6450p atmega64 atmega165pa atmega16a atmega649 atmega649p \
    -          atmega3250p atmega325 atmega169pa avrsim
    +          atmega3250p atmega325 atmega169pa avrsim at90pwm161
     CPU_UNITS_DEFINED=1
     endif
     ifeq ($(SUBARCH),avr51)
    
    at90pwm161.patch (3,837 bytes)

Activities

Christo Crause

2017-12-16 20:06

reporter  

at90pwm161.patch (3,837 bytes)
Index: compiler/avr/cpuinfo.pas
===================================================================
--- compiler/avr/cpuinfo.pas	(revision 37748)
+++ compiler/avr/cpuinfo.pas	(working copy)
@@ -287,7 +287,7 @@
         ,(controllertypestr:'ATMEGA32U4'; controllerunitstr:'ATMEGA32U4'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:256; sramsize:2560; eeprombase:0; eepromsize:1024)
         ,(controllertypestr:'ATTINY26'; controllerunitstr:'ATTINY26'; cputype: cpu_avr25; fputype:fpu_soft; flashbase:0; flashsize:2048; srambase:96; sramsize:128; eeprombase:0; eepromsize:128)
         ,(controllertypestr:'AT90USB1287'; controllerunitstr:'AT90USB1287'; cputype: cpu_avr51; fputype:fpu_soft; flashbase:0; flashsize:131072; srambase:256; sramsize:8192; eeprombase:0; eepromsize:4096)
-        ,(controllertypestr:'AT90PWM161'; controllerunitstr:'AT90PWM161'; cputype: cpu_avr4; fputype:fpu_soft; flashbase:0; flashsize:16384; srambase:256; sramsize:1024; eeprombase:0; eepromsize:512)
+        ,(controllertypestr:'AT90PWM161'; controllerunitstr:'AT90PWM161'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:16384; srambase:256; sramsize:1024; eeprombase:0; eepromsize:512)
         ,(controllertypestr:'ATTINY48'; controllerunitstr:'ATTINY48'; cputype: cpu_avr25; fputype:fpu_soft; flashbase:0; flashsize:4096; srambase:256; sramsize:256; eeprombase:0; eepromsize:64)
         ,(controllertypestr:'ATMEGA168P'; controllerunitstr:'ATMEGA168P'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:16384; srambase:256; sramsize:1024; eeprombase:0; eepromsize:512)
         ,(controllertypestr:'ATTINY10'; controllerunitstr:'ATTINY10'; cputype: cpu_avr25; fputype:fpu_soft; flashbase:0; flashsize:1024; srambase:64; sramsize:32; eeprombase:0; eepromsize:0)
Index: rtl/embedded/Makefile
===================================================================
--- rtl/embedded/Makefile	(revision 37748)
+++ rtl/embedded/Makefile	(working copy)
@@ -396,7 +396,7 @@
 CPU_UNITS_DEFINED=1
 endif
 ifeq ($(SUBARCH),avr4)
-CPU_UNITS=at90pwm161 atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
+CPU_UNITS=atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
 	  atmega88pa atmega88 atmega48p atmega8535 at90pwm1 at90pwm2b atmega48pa ata6285 ata6286
 CPU_UNITS_DEFINED=1
 endif
@@ -411,7 +411,7 @@
 	  atmega16hvb atmega164p atmega325a atmega640 atmega6450 atmega329p at90usb647 \
 	  atmega168 atmega6490a atmega32m1 atmega64c1 atmega644pa atmega325pa atmega6450a \
 	  atmega329pa atmega6450p atmega64 atmega165pa atmega16a atmega649 atmega649p \
-	  atmega3250p atmega325 atmega169pa avrsim
+	  atmega3250p atmega325 atmega169pa avrsim at90pwm161
 CPU_UNITS_DEFINED=1
 endif
 ifeq ($(SUBARCH),avr51)
Index: rtl/embedded/Makefile.fpc
===================================================================
--- rtl/embedded/Makefile.fpc	(revision 37748)
+++ rtl/embedded/Makefile.fpc	(working copy)
@@ -108,7 +108,7 @@
 CPU_UNITS_DEFINED=1
 endif
 ifeq ($(SUBARCH),avr4)
-CPU_UNITS=at90pwm161 atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
+CPU_UNITS=atmega88p at90pwm3b atmega48a atmega48 atmega88a at90pwm81 atmega8 atmega8515 \
           atmega88pa atmega88 atmega48p atmega8535 at90pwm1 at90pwm2b atmega48pa ata6285 ata6286
 CPU_UNITS_DEFINED=1
 endif
@@ -123,7 +123,7 @@
           atmega16hvb atmega164p atmega325a atmega640 atmega6450 atmega329p at90usb647 \
           atmega168 atmega6490a atmega32m1 atmega64c1 atmega644pa atmega325pa atmega6450a \
           atmega329pa atmega6450p atmega64 atmega165pa atmega16a atmega649 atmega649p \
-          atmega3250p atmega325 atmega169pa avrsim
+          atmega3250p atmega325 atmega169pa avrsim at90pwm161
 CPU_UNITS_DEFINED=1
 endif
 ifeq ($(SUBARCH),avr51)
at90pwm161.patch (3,837 bytes)

Issue History

Date Modified Username Field Change
2017-12-16 20:06 Christo Crause New Issue
2017-12-16 20:06 Christo Crause File Added: at90pwm161.patch
2017-12-29 12:31 Jeppe Johansen Fixed in Revision => 37858
2017-12-29 12:31 Jeppe Johansen Status new => resolved
2017-12-29 12:31 Jeppe Johansen Fixed in Version => 3.1.1
2017-12-29 12:31 Jeppe Johansen Resolution open => fixed
2017-12-29 12:31 Jeppe Johansen Assigned To => Jeppe Johansen
2017-12-29 12:31 Jeppe Johansen Target Version => 3.2.0
2017-12-31 06:38 Christo Crause Status resolved => closed