Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-30 Thread Denis Chertykov
2016-11-30 18:09 GMT+03:00 Georg-Johann Lay :
> On 30.11.2016 07:27, Pitchumani Sivanupandi wrote:
>>
>> On Tuesday 29 November 2016 10:06 PM, Denis Chertykov wrote:
>>>
>>> 2016-11-28 10:17 GMT+03:00 Pitchumani Sivanupandi
>>> :

 On Saturday 26 November 2016 12:11 AM, Denis Chertykov wrote:
>
> I'm sorry for delay.
>
> I have a problem with the patch:
> (Stripping trailing CRs from patch; use --binary to disable.)
> patching file avr-arch.h
> (Stripping trailing CRs from patch; use --binary to disable.)
> patching file avr-devices.c
> (Stripping trailing CRs from patch; use --binary to disable.)
> patching file avr-mcus.def
> Hunk #1 FAILED at 62.
> 1 out of 1 hunk FAILED -- saving rejects to file avr-mcus.def.rej
> (Stripping trailing CRs from patch; use --binary to disable.)
> patching file gen-avr-mmcu-specs.c
> Hunk #1 succeeded at 215 (offset 5 lines).
> (Stripping trailing CRs from patch; use --binary to disable.)
> patching file specs.h
> Hunk #1 succeeded at 58 (offset 1 line).
> Hunk #2 succeeded at 66 (offset 1 line).


 There are changes in avr-mcus.def after this patch is submitted.
 Now, I have incorporated the changes and attached the resolved patch.

 Regards,
 Pitchumani

 gcc/ChangeLog

 2016-11-09  Pitchumani Sivanupandi 

  * config/avr/avr-arch.h (avr_mcu_t): Add flash_size member.
  * config/avr/avr-devices.c(avr_mcu_types): Add flash size info.
  * config/avr/avr-mcu.def: Likewise.
  * config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded
 prefix
  check to find wrap-around value, instead use MCU flash size. For 8k
 flash
  devices, update link_pmem_wrap spec string to add
 --pmem-wrap-around=8k.
  * config/avr/specs.h: Remove link_pmem_wrap from LINK_RELAX_SPEC
 and
  add to linker specs (LINK_SPEC) directly.
>>>
>>> Committed.
>>
>> It looks like only avr-mcus.def and ChangeLog are committed.
>> Without the other changes trunk build is broken.
>>
>> Regards,
>> Pitchumani
>
>
> Hi, I allowed me to commit the missing files.
>
> http://gcc.gnu.org/r243033
>

Thank you.


Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-30 Thread Georg-Johann Lay

On 30.11.2016 07:27, Pitchumani Sivanupandi wrote:

On Tuesday 29 November 2016 10:06 PM, Denis Chertykov wrote:

2016-11-28 10:17 GMT+03:00 Pitchumani Sivanupandi
:

On Saturday 26 November 2016 12:11 AM, Denis Chertykov wrote:

I'm sorry for delay.

I have a problem with the patch:
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-arch.h
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-devices.c
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-mcus.def
Hunk #1 FAILED at 62.
1 out of 1 hunk FAILED -- saving rejects to file avr-mcus.def.rej
(Stripping trailing CRs from patch; use --binary to disable.)
patching file gen-avr-mmcu-specs.c
Hunk #1 succeeded at 215 (offset 5 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file specs.h
Hunk #1 succeeded at 58 (offset 1 line).
Hunk #2 succeeded at 66 (offset 1 line).


There are changes in avr-mcus.def after this patch is submitted.
Now, I have incorporated the changes and attached the resolved patch.

Regards,
Pitchumani

gcc/ChangeLog

2016-11-09  Pitchumani Sivanupandi 

 * config/avr/avr-arch.h (avr_mcu_t): Add flash_size member.
 * config/avr/avr-devices.c(avr_mcu_types): Add flash size info.
 * config/avr/avr-mcu.def: Likewise.
 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded
prefix
 check to find wrap-around value, instead use MCU flash size. For 8k
flash
 devices, update link_pmem_wrap spec string to add
--pmem-wrap-around=8k.
 * config/avr/specs.h: Remove link_pmem_wrap from LINK_RELAX_SPEC
and
 add to linker specs (LINK_SPEC) directly.

Committed.

It looks like only avr-mcus.def and ChangeLog are committed.
Without the other changes trunk build is broken.

Regards,
Pitchumani


Hi, I allowed me to commit the missing files.

http://gcc.gnu.org/r243033

Johann



Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-29 Thread Pitchumani Sivanupandi

On Tuesday 29 November 2016 10:06 PM, Denis Chertykov wrote:

2016-11-28 10:17 GMT+03:00 Pitchumani Sivanupandi
:

On Saturday 26 November 2016 12:11 AM, Denis Chertykov wrote:

I'm sorry for delay.

I have a problem with the patch:
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-arch.h
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-devices.c
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-mcus.def
Hunk #1 FAILED at 62.
1 out of 1 hunk FAILED -- saving rejects to file avr-mcus.def.rej
(Stripping trailing CRs from patch; use --binary to disable.)
patching file gen-avr-mmcu-specs.c
Hunk #1 succeeded at 215 (offset 5 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file specs.h
Hunk #1 succeeded at 58 (offset 1 line).
Hunk #2 succeeded at 66 (offset 1 line).


There are changes in avr-mcus.def after this patch is submitted.
Now, I have incorporated the changes and attached the resolved patch.

Regards,
Pitchumani

gcc/ChangeLog

2016-11-09  Pitchumani Sivanupandi 

 * config/avr/avr-arch.h (avr_mcu_t): Add flash_size member.
 * config/avr/avr-devices.c(avr_mcu_types): Add flash size info.
 * config/avr/avr-mcu.def: Likewise.
 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded prefix
 check to find wrap-around value, instead use MCU flash size. For 8k
flash
 devices, update link_pmem_wrap spec string to add --pmem-wrap-around=8k.
 * config/avr/specs.h: Remove link_pmem_wrap from LINK_RELAX_SPEC and
 add to linker specs (LINK_SPEC) directly.

Committed.

It looks like only avr-mcus.def and ChangeLog are committed.
Without the other changes trunk build is broken.

Regards,
Pitchumani


Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-29 Thread Denis Chertykov
2016-11-28 10:17 GMT+03:00 Pitchumani Sivanupandi
:
> On Saturday 26 November 2016 12:11 AM, Denis Chertykov wrote:
>>
>> I'm sorry for delay.
>>
>> I have a problem with the patch:
>> (Stripping trailing CRs from patch; use --binary to disable.)
>> patching file avr-arch.h
>> (Stripping trailing CRs from patch; use --binary to disable.)
>> patching file avr-devices.c
>> (Stripping trailing CRs from patch; use --binary to disable.)
>> patching file avr-mcus.def
>> Hunk #1 FAILED at 62.
>> 1 out of 1 hunk FAILED -- saving rejects to file avr-mcus.def.rej
>> (Stripping trailing CRs from patch; use --binary to disable.)
>> patching file gen-avr-mmcu-specs.c
>> Hunk #1 succeeded at 215 (offset 5 lines).
>> (Stripping trailing CRs from patch; use --binary to disable.)
>> patching file specs.h
>> Hunk #1 succeeded at 58 (offset 1 line).
>> Hunk #2 succeeded at 66 (offset 1 line).
>
>
> There are changes in avr-mcus.def after this patch is submitted.
> Now, I have incorporated the changes and attached the resolved patch.
>
> Regards,
> Pitchumani
>
> gcc/ChangeLog
>
> 2016-11-09  Pitchumani Sivanupandi 
>
> * config/avr/avr-arch.h (avr_mcu_t): Add flash_size member.
> * config/avr/avr-devices.c(avr_mcu_types): Add flash size info.
> * config/avr/avr-mcu.def: Likewise.
> * config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded prefix
> check to find wrap-around value, instead use MCU flash size. For 8k
> flash
> devices, update link_pmem_wrap spec string to add --pmem-wrap-around=8k.
> * config/avr/specs.h: Remove link_pmem_wrap from LINK_RELAX_SPEC and
> add to linker specs (LINK_SPEC) directly.

Committed.


Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-27 Thread Pitchumani Sivanupandi

On Saturday 26 November 2016 12:11 AM, Denis Chertykov wrote:

I'm sorry for delay.

I have a problem with the patch:
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-arch.h
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-devices.c
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-mcus.def
Hunk #1 FAILED at 62.
1 out of 1 hunk FAILED -- saving rejects to file avr-mcus.def.rej
(Stripping trailing CRs from patch; use --binary to disable.)
patching file gen-avr-mmcu-specs.c
Hunk #1 succeeded at 215 (offset 5 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file specs.h
Hunk #1 succeeded at 58 (offset 1 line).
Hunk #2 succeeded at 66 (offset 1 line).


There are changes in avr-mcus.def after this patch is submitted.
Now, I have incorporated the changes and attached the resolved patch.

Regards,
Pitchumani

gcc/ChangeLog

2016-11-09  Pitchumani Sivanupandi 

* config/avr/avr-arch.h (avr_mcu_t): Add flash_size member.
* config/avr/avr-devices.c(avr_mcu_types): Add flash size info.
* config/avr/avr-mcu.def: Likewise.
* config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded 
prefix
check to find wrap-around value, instead use MCU flash size. For 8k 
flash
devices, update link_pmem_wrap spec string to add 
--pmem-wrap-around=8k.

* config/avr/specs.h: Remove link_pmem_wrap from LINK_RELAX_SPEC and
add to linker specs (LINK_SPEC) directly.
diff --git a/gcc/config/avr/avr-arch.h b/gcc/config/avr/avr-arch.h
index a740a15..e6a2d75 100644
--- a/gcc/config/avr/avr-arch.h
+++ b/gcc/config/avr/avr-arch.h
@@ -122,6 +122,9 @@ typedef struct
 
   /* Number of 64k segments in the flash.  */
   int n_flash;
+
+  /* Flash size in bytes.  */
+  int flash_size;
 } avr_mcu_t;
 
 /* AVR device specific features.
diff --git a/gcc/config/avr/avr-devices.c b/gcc/config/avr/avr-devices.c
index 7d13ba4..cef3b9a 100644
--- a/gcc/config/avr/avr-devices.c
+++ b/gcc/config/avr/avr-devices.c
@@ -111,12 +111,12 @@ avr_texinfo[] =
 const avr_mcu_t
 avr_mcu_types[] =
 {
-#define AVR_MCU(NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, N_FLASH)\
-  { NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, N_FLASH },
+#define AVR_MCU(NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, N_FLASH, FLASH_SIZE)\
+  { NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, N_FLASH, FLASH_SIZE },
 #include "avr-mcus.def"
 #undef AVR_MCU
 /* End of list.  */
-  { NULL, ARCH_UNKNOWN, AVR_ISA_NONE, NULL, 0, 0, 0 }
+  { NULL, ARCH_UNKNOWN, AVR_ISA_NONE, NULL, 0, 0, 0, 0 }
 };
 
 
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index e5b4cda..4008741 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -62,295 +62,298 @@
N_FLASH   Number of 64 KiB flash segments, rounded up.  The default
  value for -mn-flash=.
 
+   FLASH_SIZEFlash size in bytes.
+
"avr2" must be first for the "0" default to work as intended.  */
 
 /* Classic, <= 8K.  */
-AVR_MCU ("avr2", ARCH_AVR2, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 6)
-AVR_MCU ("at90s2313",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2313__", 0x0060, 0x0, 1)
-AVR_MCU ("at90s2323",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2323__", 0x0060, 0x0, 1)
-AVR_MCU ("at90s2333",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2333__", 0x0060, 0x0, 1)
-AVR_MCU ("at90s2343",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2343__", 0x0060, 0x0, 1)
-AVR_MCU ("attiny22", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny22__",  0x0060, 0x0, 1)
-AVR_MCU ("attiny26", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny26__",  0x0060, 0x0, 1)
-AVR_MCU ("at90s4414",ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4414__", 0x0060, 0x0, 1)
-AVR_MCU ("at90s4433",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S4433__", 0x0060, 0x0, 1)
-AVR_MCU ("at90s4434",ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4434__", 0x0060, 0x0, 1)
-AVR_MCU ("at90s8515",ARCH_AVR2, AVR_ERRATA_SKIP, "__AVR_AT90S8515__",  0x0060, 0x0, 1)
-AVR_MCU ("at90c8534",ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90C8534__", 0x0060, 0x0, 1)
-AVR_MCU ("at90s8535",ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S8535__", 0x0060, 0x0, 1)
+AVR_MCU ("avr2", ARCH_AVR2, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 6, 0x2000)
+
+AVR_MCU ("at90s2313",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2313__", 0x0060, 0x0, 1, 0x800)
+AVR_MCU ("at90s2323",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2323__", 0x0060, 0x0, 1, 0x800)
+AVR_MCU ("at90s2333",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2333__", 0x0060, 0x0, 1, 0x800)
+AVR_MCU ("at90s2343",ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2343__", 0x0060, 0x0, 1, 0x800)
+AVR_MCU ("attiny22", 

Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-25 Thread Denis Chertykov
I'm sorry for delay.

I have a problem with the patch:
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-arch.h
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-devices.c
(Stripping trailing CRs from patch; use --binary to disable.)
patching file avr-mcus.def
Hunk #1 FAILED at 62.
1 out of 1 hunk FAILED -- saving rejects to file avr-mcus.def.rej
(Stripping trailing CRs from patch; use --binary to disable.)
patching file gen-avr-mmcu-specs.c
Hunk #1 succeeded at 215 (offset 5 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file specs.h
Hunk #1 succeeded at 58 (offset 1 line).
Hunk #2 succeeded at 66 (offset 1 line).

2016-11-22 23:27 GMT+03:00 Georg-Johann Lay :
> Denis Chertykov schrieb:
>>
>> Do you have any objections, George ?
>
>
> No, the last delta rev3 from 2016-11-10 looks fine to me.
>
>
>>
>> 2016-11-22 8:05 GMT+03:00 Pitchumani Sivanupandi
>> :
>>>
>>> Ping!
>>>
>>> On Monday 14 November 2016 07:03 PM, Pitchumani Sivanupandi wrote:

 Ping!

 On Thursday 10 November 2016 01:53 PM, Pitchumani Sivanupandi wrote:
>
> On Wednesday 09 November 2016 08:05 PM, Georg-Johann Lay wrote:
>>
>> On 09.11.2016 10:14, Pitchumani Sivanupandi wrote:
>>>
>>> On Tuesday 08 November 2016 02:57 PM, Georg-Johann Lay wrote:

 On 08.11.2016 08:08, Pitchumani Sivanupandi wrote:
>
> I have updated patch to include the flash size as well. Took that
> info from
> device headers (it was fed into crt's device information note
> section
> also).
>>
>>
>> The new option would render -mn-flash superfluous, but we should
>> keep it for
>> backward compatibility.
>
> Ok.
>>
>> Shouldn't link_pmem_wrap then be removed from link_relax, i.e.
>> from
>> LINK_RELAX_SPEC?  And what happens if relaxation is off?
>
> Yes. Removed link_pmem_wrap from link_relax.
> Disabling relaxation doesn't change -mpmem-wrap-around behavior.
> 
> flashsize-and-wrap-around.patch


> diff --git a/gcc/config/avr/avr-mcus.def
> b/gcc/config/avr/avr-mcus.def
> index 6bcc6ff..9d4aa1a 100644


>  /*

 
>>>
>>>  /* Classic, > 8K, <= 64K.  */
>>> -AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
>>> 0x0060, 0x0, 1)
>>> -AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE,
>>> "__AVR_AT43USB355__",0x0060, 0x0, 1)
>>> -AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
>>> "__AVR_AT76C711__",  0x0060, 0x0, 1)
>>> +AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
>>> 0x0060, 0x0, 1, 0x6000)
>>> +AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE,
>>> "__AVR_AT43USB355__",0x0060, 0x0, 1, 0x6000)
>>> +AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
>>> "__AVR_AT76C711__",  0x0060, 0x0, 1, 0x4000)
>>> +AVR_MCU ("at43usb320",   ARCH_AVR3, AVR_ISA_NONE,
>>> "__AVR_AT43USB320__",0x0060, 0x0, 1, 0x1)
>>>  /* Classic, == 128K.  */
>>> -AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
>>> 0x0060, 0x0, 2)
>>> -AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP,
>>> "__AVR_ATmega103__", 0x0060, 0x0, 2)
>>> -AVR_MCU ("at43usb320",   ARCH_AVR31, AVR_ISA_NONE,
>>> "__AVR_AT43USB320__",   0x0060, 0x0, 2)
>>> +AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
>>> 0x0060, 0x0, 2, 0x2)
>>> +AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP,
>>> "__AVR_ATmega103__", 0x0060, 0x0, 2, 0x2)
>>>  /* Classic + MOVW + JMP/CALL.  */
>>
>>
>> If at43usb320 is in the wrong multilib, then this should be handled as
>> separate issue / patch together with its own PR. Sorry for the
>> confusion.  I
>> just noticed that some fields don't match...
>>
>> It is not even clear to me from the data sheet if avr3 is the correct
>> multilib or perhaps avr35 (if it supports MOVW) or even avr5 (if it
>> also has
>> MUL) as there is no reference to the exact instruction set -- Atmochip
>> will
>> know.
>>
>> Moreover, such a change should be sync'ed with avr-libc as all
>> multilib
>> stuff is hand-wired there: no use of --print-foo meta information
>> retrieval
>> by avr-libc :-((
>>
>> I filed PR78275 and https://savannah.nongnu.org/bugs/index.php?49565
>> for
>> this one.
>>
> Thats better. I've attached the updated patch. If OK, could someone
> commit please?
>
> I'll try if I could find some more info for AT43USB320.
>
> Regards,
> Pitchumani
>
>>
>


Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-22 Thread Georg-Johann Lay

Denis Chertykov schrieb:

Do you have any objections, George ?


No, the last delta rev3 from 2016-11-10 looks fine to me.



2016-11-22 8:05 GMT+03:00 Pitchumani Sivanupandi
:

Ping!

On Monday 14 November 2016 07:03 PM, Pitchumani Sivanupandi wrote:

Ping!

On Thursday 10 November 2016 01:53 PM, Pitchumani Sivanupandi wrote:

On Wednesday 09 November 2016 08:05 PM, Georg-Johann Lay wrote:

On 09.11.2016 10:14, Pitchumani Sivanupandi wrote:

On Tuesday 08 November 2016 02:57 PM, Georg-Johann Lay wrote:

On 08.11.2016 08:08, Pitchumani Sivanupandi wrote:

I have updated patch to include the flash size as well. Took that
info from
device headers (it was fed into crt's device information note section
also).


The new option would render -mn-flash superfluous, but we should
keep it for
backward compatibility.

Ok.

Shouldn't link_pmem_wrap then be removed from link_relax, i.e. from
LINK_RELAX_SPEC?  And what happens if relaxation is off?

Yes. Removed link_pmem_wrap from link_relax.
Disabling relaxation doesn't change -mpmem-wrap-around behavior.

flashsize-and-wrap-around.patch



diff --git a/gcc/config/avr/avr-mcus.def
b/gcc/config/avr/avr-mcus.def
index 6bcc6ff..9d4aa1a 100644



 /*



 /* Classic, > 8K, <= 64K.  */
-AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
0x0060, 0x0, 1)
-AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT43USB355__",0x0060, 0x0, 1)
-AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT76C711__",  0x0060, 0x0, 1)
+AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
0x0060, 0x0, 1, 0x6000)
+AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT43USB355__",0x0060, 0x0, 1, 0x6000)
+AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT76C711__",  0x0060, 0x0, 1, 0x4000)
+AVR_MCU ("at43usb320",   ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT43USB320__",0x0060, 0x0, 1, 0x1)
 /* Classic, == 128K.  */
-AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
0x0060, 0x0, 2)
-AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP,
"__AVR_ATmega103__", 0x0060, 0x0, 2)
-AVR_MCU ("at43usb320",   ARCH_AVR31, AVR_ISA_NONE,
"__AVR_AT43USB320__",   0x0060, 0x0, 2)
+AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
0x0060, 0x0, 2, 0x2)
+AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP,
"__AVR_ATmega103__", 0x0060, 0x0, 2, 0x2)
 /* Classic + MOVW + JMP/CALL.  */


If at43usb320 is in the wrong multilib, then this should be handled as
separate issue / patch together with its own PR. Sorry for the confusion.  I
just noticed that some fields don't match...

It is not even clear to me from the data sheet if avr3 is the correct
multilib or perhaps avr35 (if it supports MOVW) or even avr5 (if it also has
MUL) as there is no reference to the exact instruction set -- Atmochip will
know.

Moreover, such a change should be sync'ed with avr-libc as all multilib
stuff is hand-wired there: no use of --print-foo meta information retrieval
by avr-libc :-((

I filed PR78275 and https://savannah.nongnu.org/bugs/index.php?49565 for
this one.


Thats better. I've attached the updated patch. If OK, could someone
commit please?

I'll try if I could find some more info for AT43USB320.

Regards,
Pitchumani







Re: Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-22 Thread Denis Chertykov
Do you have any objections, George ?

2016-11-22 8:05 GMT+03:00 Pitchumani Sivanupandi
:
> Ping!
>
> On Monday 14 November 2016 07:03 PM, Pitchumani Sivanupandi wrote:
>>
>> Ping!
>>
>> On Thursday 10 November 2016 01:53 PM, Pitchumani Sivanupandi wrote:
>>>
>>> On Wednesday 09 November 2016 08:05 PM, Georg-Johann Lay wrote:

 On 09.11.2016 10:14, Pitchumani Sivanupandi wrote:
>
> On Tuesday 08 November 2016 02:57 PM, Georg-Johann Lay wrote:
>>
>> On 08.11.2016 08:08, Pitchumani Sivanupandi wrote:
>>>
>>> I have updated patch to include the flash size as well. Took that
>>> info from
>>> device headers (it was fed into crt's device information note section
>>> also).


 The new option would render -mn-flash superfluous, but we should
 keep it for
 backward compatibility.
>>>
>>> Ok.

 Shouldn't link_pmem_wrap then be removed from link_relax, i.e. from
 LINK_RELAX_SPEC?  And what happens if relaxation is off?
>>>
>>> Yes. Removed link_pmem_wrap from link_relax.
>>> Disabling relaxation doesn't change -mpmem-wrap-around behavior.
>>> 
>>> flashsize-and-wrap-around.patch
>>
>>
>>> diff --git a/gcc/config/avr/avr-mcus.def
>>> b/gcc/config/avr/avr-mcus.def
>>> index 6bcc6ff..9d4aa1a 100644
>>
>>
>>>  /*
>>
>> 
>
>  /* Classic, > 8K, <= 64K.  */
> -AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
> 0x0060, 0x0, 1)
> -AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE,
> "__AVR_AT43USB355__",0x0060, 0x0, 1)
> -AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
> "__AVR_AT76C711__",  0x0060, 0x0, 1)
> +AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
> 0x0060, 0x0, 1, 0x6000)
> +AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE,
> "__AVR_AT43USB355__",0x0060, 0x0, 1, 0x6000)
> +AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
> "__AVR_AT76C711__",  0x0060, 0x0, 1, 0x4000)
> +AVR_MCU ("at43usb320",   ARCH_AVR3, AVR_ISA_NONE,
> "__AVR_AT43USB320__",0x0060, 0x0, 1, 0x1)
>  /* Classic, == 128K.  */
> -AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
> 0x0060, 0x0, 2)
> -AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP,
> "__AVR_ATmega103__", 0x0060, 0x0, 2)
> -AVR_MCU ("at43usb320",   ARCH_AVR31, AVR_ISA_NONE,
> "__AVR_AT43USB320__",   0x0060, 0x0, 2)
> +AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
> 0x0060, 0x0, 2, 0x2)
> +AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP,
> "__AVR_ATmega103__", 0x0060, 0x0, 2, 0x2)
>  /* Classic + MOVW + JMP/CALL.  */


 If at43usb320 is in the wrong multilib, then this should be handled as
 separate issue / patch together with its own PR. Sorry for the confusion.  
 I
 just noticed that some fields don't match...

 It is not even clear to me from the data sheet if avr3 is the correct
 multilib or perhaps avr35 (if it supports MOVW) or even avr5 (if it also 
 has
 MUL) as there is no reference to the exact instruction set -- Atmochip will
 know.

 Moreover, such a change should be sync'ed with avr-libc as all multilib
 stuff is hand-wired there: no use of --print-foo meta information retrieval
 by avr-libc :-((

 I filed PR78275 and https://savannah.nongnu.org/bugs/index.php?49565 for
 this one.

>>> Thats better. I've attached the updated patch. If OK, could someone
>>> commit please?
>>>
>>> I'll try if I could find some more info for AT43USB320.
>>>
>>> Regards,
>>> Pitchumani
>>>
>>
>


Ping: Re: [patch, avr] Add flash size to device info and make wrap around default

2016-11-21 Thread Pitchumani Sivanupandi

Ping!

On Monday 14 November 2016 07:03 PM, Pitchumani Sivanupandi wrote:

Ping!

On Thursday 10 November 2016 01:53 PM, Pitchumani Sivanupandi wrote:

On Wednesday 09 November 2016 08:05 PM, Georg-Johann Lay wrote:

On 09.11.2016 10:14, Pitchumani Sivanupandi wrote:

On Tuesday 08 November 2016 02:57 PM, Georg-Johann Lay wrote:

On 08.11.2016 08:08, Pitchumani Sivanupandi wrote:
I have updated patch to include the flash size as well. Took that 
info from
device headers (it was fed into crt's device information note 
section also).


The new option would render -mn-flash superfluous, but we should 
keep it for

backward compatibility.

Ok.

Shouldn't link_pmem_wrap then be removed from link_relax, i.e. from
LINK_RELAX_SPEC?  And what happens if relaxation is off?

Yes. Removed link_pmem_wrap from link_relax.
Disabling relaxation doesn't change -mpmem-wrap-around behavior.

flashsize-and-wrap-around.patch


diff --git a/gcc/config/avr/avr-mcus.def 
b/gcc/config/avr/avr-mcus.def

index 6bcc6ff..9d4aa1a 100644



 /*



 /* Classic, > 8K, <= 64K.  */
-AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, 
NULL,0x0060, 0x0, 1)
-AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE, 
"__AVR_AT43USB355__",0x0060, 0x0, 1)
-AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE, 
"__AVR_AT76C711__",  0x0060, 0x0, 1)
+AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, 
NULL,0x0060, 0x0, 1, 0x6000)
+AVR_MCU ("at43usb355",   ARCH_AVR3, AVR_ISA_NONE, 
"__AVR_AT43USB355__",0x0060, 0x0, 1, 0x6000)
+AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE, 
"__AVR_AT76C711__",  0x0060, 0x0, 1, 0x4000)
+AVR_MCU ("at43usb320",   ARCH_AVR3, AVR_ISA_NONE, 
"__AVR_AT43USB320__",0x0060, 0x0, 1, 0x1)

 /* Classic, == 128K.  */
-AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, 
NULL,0x0060, 0x0, 2)
-AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP, 
"__AVR_ATmega103__", 0x0060, 0x0, 2)
-AVR_MCU ("at43usb320",   ARCH_AVR31, AVR_ISA_NONE, 
"__AVR_AT43USB320__",   0x0060, 0x0, 2)
+AVR_MCU ("avr31",ARCH_AVR31, AVR_ERRATA_SKIP, 
NULL,0x0060, 0x0, 2, 0x2)
+AVR_MCU ("atmega103",ARCH_AVR31, AVR_ERRATA_SKIP, 
"__AVR_ATmega103__", 0x0060, 0x0, 2, 0x2)

 /* Classic + MOVW + JMP/CALL.  */


If at43usb320 is in the wrong multilib, then this should be handled 
as separate issue / patch together with its own PR. Sorry for the 
confusion.  I just noticed that some fields don't match...


It is not even clear to me from the data sheet if avr3 is the 
correct multilib or perhaps avr35 (if it supports MOVW) or even avr5 
(if it also has MUL) as there is no reference to the exact 
instruction set -- Atmochip will know.


Moreover, such a change should be sync'ed with avr-libc as all 
multilib stuff is hand-wired there: no use of --print-foo meta 
information retrieval by avr-libc :-((


I filed PR78275 and https://savannah.nongnu.org/bugs/index.php?49565 
for this one.


Thats better. I've attached the updated patch. If OK, could someone 
commit please?


I'll try if I could find some more info for AT43USB320.

Regards,
Pitchumani