Discussion:
[avr-libc-dev] [patch #9543] Add avrxmega3 devices.
Balint Cristian
2018-01-17 15:29:04 UTC
Permalink
URL:
<http://savannah.nongnu.org/patch/?9543>

Summary: Add avrxmega3 devices.
Project: AVR C Runtime Library
Submitted by: cbalint
Submitted on: Wed 17 Jan 2018 03:29:03 PM UTC
Category: None
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any

_______________________________________________________

Details:

* This patch adds support for avrxmega3 devices already supported by latest
gcc8 compiler:

attiny1614, attiny1616, attiny1617, attiny212, attiny214,
attiny3214, attiny3216, attiny3217, attiny412, attiny414,
attiny416, attiny417, attiny814, attiny816, attiny817 .

* New files:

- attinny*.S are generated from latest Atmel.ATtiny_DFP.1.3.169.atpack.zip
.xml (.atdf) files.

- iotn*.h are from latest
avr8-gnu-toolchain-osx-3.6.1.495-darwin.any.x86_64.tar.gz (
http://distribute.atmel.no/tools/opensource/Atmel-AVR-GNU-Toolchain/3.6.1/ ).

- ChangeLog-2017

* Changed files:
- include/avr/io.h
- include/avr/Makefile.am
- devtools/generate_iosym.sh
- devtools/gen-avr-lib-tree.sh
- avr-libc/configure.ac
- ChangeLog




_______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Wed 17 Jan 2018 03:29:03 PM UTC Name: avrxmega3.patch.bz2 Size: 285KiB
By: cbalint
Add avrxmega3 devices.
<http://savannah.nongnu.org/patch/download.php?file_id=42937>

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Georg-Johann Lay
2018-01-17 15:56:18 UTC
Permalink
Follow-up Comment #1, patch #9543 (project avr-libc):

> Changed files: [...] ChangeLog

The delta to ChangeLog is not reasonable, too much lines affected.

Usually, ChangeLog is prone to conflicts as each push is touching it; hence it
might be more comfortable to supply it as plain text snipped and leave it out
of the patch.


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-17 16:12:11 UTC
Permalink
Additional Item Attachment, patch #9543 (project avr-libc):

File name: avrxmega3-v2.patch.bz2 Size:284 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Joerg Wunsch
2018-01-17 16:12:13 UTC
Permalink
Follow-up Comment #2, patch #9543 (project avr-libc):

I agree with Johann's comment regarding ChangeLog, though it's
not too hard to simply extract the text from the diff.

It might be the first commit in 2018, so it's going to be a
completely new ChangeLog file anyway.

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-17 16:14:14 UTC
Permalink
Follow-up Comment #3, patch #9543 (project avr-libc):

Johann, Joerg,

* Attached avrxmega3-v2.patch.bz2 to add ChangeLog as new file.




_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Georg-Johann Lay
2018-01-17 16:15:45 UTC
Permalink
Follow-up Comment #4, patch #9543 (project avr-libc):

With that patch, avr-libc fails to build:

++
Making all in avrxmega3
make[4]: Entering directory
'/srv/local/gnu/build/avrlibc-trunk/avr/lib/avrxmega3'
Making all in attiny1614
make[5]: Entering directory
'/srv/local/gnu/build/avrlibc-trunk/avr/lib/avrxmega3/attiny1614'
/local/gnu/install/gcc-8/bin/avr-gcc -DHAVE_CONFIG_H -I.
-I../../../../../../source/avrlibc-trunk/avr/lib/avrxmega3/attiny1614
-I../../../.. -I../../../../../../source/avrlibc-trunk/common
-I../../../../../../source/avrlibc-trunk/include -I../../../../include -Wall
-W -Wstrict-prototypes -mmcu=attiny1614 -mcall-prologues -Os -MT
eewr_block_xmega.o -MD -MP -MF .deps/eewr_block_xmega.Tpo -c -o
eewr_block_xmega.o
../../../../../../source/avrlibc-trunk/libc/misc/eewr_block_xmega.c
../../../../../../source/avrlibc-trunk/libc/misc/eewr_block_xmega.c: In
function 'eeprom_write_page':
../../../../../../source/avrlibc-trunk/libc/misc/eewr_block_xmega.c:26:13:
error: 'NVM' undeclared (first use in this function)
} while ((NVM.STATUS & NVM_NVMBUSY_bm) == NVM_NVMBUSY_bm);
^~~
../../../../../../source/avrlibc-trunk/libc/misc/eewr_block_xmega.c:26:13:
note: each undeclared identifier is reported only once for each function it
appears in
../../../../../../source/avrlibc-trunk/libc/misc/eewr_block_xmega.c:26:26:
error: 'NVM_NVMBUSY_bm' undeclared (first use in this function); did you mean
'RTC_CMPBUSY_bm'?
} while ((NVM.STATUS & NVM_NVMBUSY_bm) == NVM_NVMBUSY_bm);
^~~~~~~~~~~~~~
RTC_CMPBUSY_bm
../../../../../../source/avrlibc-trunk/libc/misc/eewr_block_xmega.c:58:13:
error: 'NVM_CMD_ERASE_WRITE_EEPROM_PAGE_gc' undeclared (first use in this
function)
NVM.CMD = NVM_CMD_ERASE_WRITE_EEPROM_PAGE_gc;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../source/avrlibc-trunk/libc/misc/eewr_block_xmega.c:59:29:
error: 'NVM_CMDEX_bm' undeclared (first use in this function); did you mean
'TCD_CMPDEN_bm'?
ccp_write_io (&NVM.CTRLA, NVM_CMDEX_bm);
^~~~~~~~~~~~
TCD_CMPDEN_bm
Makefile:632: recipe for target 'eewr_block_xmega.o' failed
--

Notice that avr-gcc defines AVR_XMEGA for these devices (in case that
matters).

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-17 17:10:44 UTC
Permalink
Additional Item Attachment, patch #9543 (project avr-libc):

File name: avrxmega3-v3.patch.bz2 Size:284 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-17 17:13:17 UTC
Permalink
Follow-up Comment #5, patch #9543 (project avr-libc):

* Compiles with avrxmega3-v3.patch.bz2 .
+ Backports changes from Atmel 3.6.1 [1] toolchain:

- eedef.h
- eewr_block_xmega.c
- eewr_byte.S

[1]
http://distribute.atmel.no/tools/opensource/Atmel-AVR-GNU-Toolchain/3.6.1/


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Georg-Johann Lay
2018-01-18 11:48:46 UTC
Permalink
Additional Item Attachment, patch #9543 (project avr-libc):

File name: avrxmega3-v4.diff.bz2 Size:283 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Georg-Johann Lay
2018-01-18 11:50:34 UTC
Permalink
Follow-up Comment #6, patch #9543 (project avr-libc):

Thanks, I can build avr-libc now and a quick test looks good.

Regarding the changes to eewr_block_xmega.c, maybe it's clearer to
special-case the different NVM flavours instead of #define + #undef + #define
chains?

I allowed me to attach a respective patch as avrxmega3-v4.diff.bz2


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-18 13:53:33 UTC
Permalink
Additional Item Attachment, patch #9543 (project avr-libc):

File name: attiny16161-disasm.txt.bz2 Size:1 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-18 14:07:09 UTC
Permalink
Follow-up Comment #7, patch #9543 (project avr-libc):

Johann,


- Thank you for the quick review.
- I believe your proposed changes are fine.

* The task presented here is fairly easy to do, all basic ingredients are
Atmel's upstream stuff. Not sure why they are not collaborating with you guys.
They started to keep lots of changes on their own fork (their changes have no
logs or names).

* Perhaps migrating to a more collaborative platform like github would help
this project a lot.

* I attached outputs of a sample main() program for atn1616 target that looks
good to me [attiny16161-disasm.txt.bz2]. Cannot validate yet on real device
(waiting for real chip samples) .

* I am working on avrdude & USBASP-firmware too for support UPDI
too (is quite similar to TPI). As reference for UPDI there is
https://github.com/mraardvark/pyupdi, you probably already know that.



_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Georg-Johann Lay
2018-01-18 15:10:27 UTC
Permalink
Follow-up Comment #8, patch #9543 (project avr-libc):

There must still be missing something, at least _PROTECTED_WRITE_SPM. Apart
from a build warning for a missing prototype, it's neither resolved by a macro
nor my a symbol:


$ echo 'int main(){}' | avr-gcc -xc - -Wl,-u,eeprom_write_block
-mmcu=attiny1616
/srv/local/gnu/install/gcc-8/bin/../lib/gcc/avr/8.0.1/../../../../avr/lib/avrxmega3/libattiny1616.a(eewr_block_xmega.o):
In function `eeprom_write_block':
eewr_block_xmega.c:(.text.avr-libc+0x80): undefined reference to
`_PROTECTED_WRITE_SPM'
collect2: error: ld returned 1 exit status




_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-18 15:52:13 UTC
Permalink
Additional Item Attachment, patch #9543 (project avr-libc):

File name: avrxmega3-v5.diff.bz2 Size:284 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-18 15:53:50 UTC
Permalink
Follow-up Comment #9, patch #9543 (project avr-libc):

Johann,

Uploaded avrxmega3-v5.diff.bz2 .

* Add _PROTECTED_WRITE_SPM in xmega.h (as per Atmel's upstream 3.6.1).


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Georg-Johann Lay
2018-01-18 16:32:53 UTC
Permalink
Follow-up Comment #10, patch #9543 (project avr-libc):

Ok, better now. At least the trivial example builds now.

Some final notes on xmega.h:

Constraint "d" for [ccp_ioreg] resp. [ccp_spm_mask] could be relaxed to the
less restrictive "r".

And from a strict point of view, both _PROTECTED_WRITE and
_PROTECTED_WRITE_SPM are clobbering memory.

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-19 10:33:28 UTC
Permalink
Follow-up Comment #11, patch #9543 (project avr-libc):



* The Apache license on io*.h might expose a problem.


- Some possible solutions.

a) Mchip/Atmel right now mixes BSD+Apache in their packages, so avr-libc
could do it too ? (not a lawyer).

b) Make new headers from scratch based from docs. A simple one (no fancy
struct), just simple enumerations.


* I incline to choose #b, and i am willing to do the task if You all here
agree. Probably wise would be to have a common avr8x.h and some alias files
that adds extras for each particular devices.




_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Joerg Wunsch
2018-01-19 10:42:09 UTC
Permalink
Follow-up Comment #12, patch #9543 (project avr-libc):

Mixing the licenses is doable, it's just a little cumbersome
since we need to LICENSE documents then at the toplevel.

If #b is not too much work, it would be my personally preferred
solution, as it makes us completely independent from Microchip.
They've chosen to distribute their own version of the headers
independently from us anyway.

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-23 13:59:05 UTC
Permalink
Additional Item Attachment, patch #9543 (project avr-libc):

File name: avrxmega3-v6.diff.bz2 Size:292 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-01-23 14:09:12 UTC
Permalink
Follow-up Comment #13, patch #9543 (project avr-libc):

The avrxmega3-v6.diff.bz2 includes a ATDF parser for AVR8X.


- The new parser addition does:
* Generates iotn*.h just from atdf schema.
* Parse only AVR8X family types (constrained in script).
* Adds few alieases (hardcoded) as older coding-style.
* Headers generated are functional the same as Atmel's 3.6.1.
* Parser license is BSD (the very avr-libc one).


- BTW, One of main difference BSD vs Apache would be that Apache license
grants patents (patents will not circumvent the license terms). But I am not
lawyer.

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
jan de kruyf
2018-03-30 16:52:29 UTC
Permalink
Follow-up Comment #14, patch #9543 (project avr-libc):

Cristian, hello.

I just tried to compile avr-libc svn2546 with patches from
avrxmega3-v6.diff.bz2. compiler gcc8.0.1 built for avr.

I get some errors which are at least partly from this patch.
I did not get any strange messages before this just some warnings.
Also the last time I built it without the patch it looked right.

Could you have a look at it?


In file included from ../../../../include/avr/io.h:456,
from ../../../../libc/misc/eewr_block_xmega.c:4:
../../../../include/avr/iotn1614.h:5623:1: error: unknown type name 'define'
define PERIOD0 (unsigned char)~_BV(0) /* Watchdog Timeout Period Bit 0 */
^~~~~~
../../../../include/avr/iotn1614.h: In function 'PERIOD0':
../../../../include/avr/iotn1614.h:5623:32: error: expected declaration
specifiers before '~' token
define PERIOD0 (unsigned char)~_BV(0) /* Watchdog Timeout Period Bit 0 */
^
In file included from ../../../../include/avr/io.h:626,
from ../../../../libc/misc/eewr_block_xmega.c:4:
../../../../include/avr/fuse.h:234:3: error: expected declaration specifiers
before '__fuse_t'
} __fuse_t;
^~~~~~~~
In file included from ../../../../include/stdlib.h:48,
from ../../../../include/assert.h:65,
from ../../../../libc/misc/eewr_block_xmega.c:8:
/home/jan/programs-8/avrada/lib/gcc/avr/8.0.1/include/stddef.h:216:23: error:
storage class specified for parameter 'size_t'
typedef __SIZE_TYPE__ size_t;
^~~~~~
/home/jan/programs-8/avrada/lib/gcc/avr/8.0.1/include/stddef.h:328:24: error:
storage class specified for parameter 'wchar_t'
typedef __WCHAR_TYPE__ wchar_t;
^~~~~~~
In file included from ../../../../include/assert.h:65,
from ../../../../libc/misc/eewr_block_xmega.c:8:
../../../../include/stdlib.h:73:3: error: storage class specified for
parameter 'div_t'
} div_t;
^~~~~
../../../../include/stdlib.h:79:3: error: storage class specified for
parameter 'ldiv_t'
} ldiv_t;
^~~~~~
../../../../include/stdlib.h:82:15: error: storage class specified for
parameter '__compar_fn_t'
typedef int (*__compar_fn_t)(const void *, const void *);
^~~~~~~~~~~~~
../../../../include/stdlib.h:116:13: error: storage class specified for
parameter 'abort'
extern void abort(void) __ATTR_NORETURN__;
^~~~~
../../../../include/stdlib.h:121:12: error: storage class specified for
parameter 'abs'
extern int abs(int __i) __ATTR_CONST__;
^~~
../../../../include/stdlib.h:130:13: error: storage class specified for
parameter 'labs'
extern long labs(long __i) __ATTR_CONST__;
^~~~
../../../../include/stdlib.h:153:61: error: expected declaration specifiers or
'...' before 'size_t'
extern void *bsearch(const void *__key, const void *__base, size_t __nmemb,
^~~~~~
../../../../include/stdlib.h:154:8: error: expected declaration specifiers or
'...' before 'size_t'
size_t __size, int (*__compar)(const void *, const void *));
^~~~~~
../../../../include/stdlib.h:162:14: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'div'
extern div_t div(int __num, int __denom) __asm__("__divmodhi4")
__ATTR_CONST__;
^~~
../../../../include/stdlib.h:168:15: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'ldiv'
extern ldiv_t ldiv(long __num, long __denom) __asm__("__divmodsi4")
__ATTR_CONST__;
^~~~
../../../../include/stdlib.h:185:33: error: expected declaration specifiers or
'...' before 'size_t'
extern void qsort(void *__base, size_t __nmemb, size_t __size,
^~~~~~
../../../../include/stdlib.h:185:49: error: expected declaration specifiers or
'...' before 'size_t'
extern void qsort(void *__base, size_t __nmemb, size_t __size,
^~~~~~
../../../../include/stdlib.h:186:5: error: expected declaration specifiers or
'...' before '__compar_fn_t'
__compar_fn_t __compar);
^~~~~~~~~~~~~
../../../../include/stdlib.h:218:13: error: storage class specified for
parameter 'strtol'
extern long strtol(const char *__nptr, char **__endptr, int __base);
^~~~~~
../../../../include/stdlib.h:252:22: error: storage class specified for
parameter 'strtoul'
extern unsigned long strtoul(const char *__nptr, char **__endptr, int
__base);
^~~~~~~
../../../../include/stdlib.h:264:13: error: storage class specified for
parameter 'atol'
extern long atol(const char *__s) __ATTR_PURE__;
^~~~
../../../../include/stdlib.h:264:1: warning: 'pure' attribute ignored
[-Wattributes]
extern long atol(const char *__s) __ATTR_PURE__;
^~~~~~
../../../../include/stdlib.h:276:12: error: storage class specified for
parameter 'atoi'
extern int atoi(const char *__s) __ATTR_PURE__;
^~~~
../../../../include/stdlib.h:276:1: warning: 'pure' attribute ignored
[-Wattributes]
extern int atoi(const char *__s) __ATTR_PURE__;
^~~~~~
../../../../include/stdlib.h:288:13: error: storage class specified for
parameter 'exit'
extern void exit(int __status) __ATTR_NORETURN__;
^~~~
../../../../include/stdlib.h:300:21: error: expected declaration specifiers or
'...' before 'size_t'
extern void *malloc(size_t __size) __ATTR_MALLOC__;
^~~~~~
../../../../include/stdlib.h:307:13: error: storage class specified for
parameter 'free'
extern void free(void *__ptr);
^~~~
../../../../include/stdlib.h:312:15: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '__malloc_margin'
extern size_t __malloc_margin;
^~~~~~~~~~~~~~~
../../../../include/stdlib.h:317:14: error: storage class specified for
parameter '__malloc_heap_start'
extern char *__malloc_heap_start;
^~~~~~~~~~~~~~~~~~~
../../../../include/stdlib.h:322:14: error: storage class specified for
parameter '__malloc_heap_end'
extern char *__malloc_heap_end;
^~~~~~~~~~~~~~~~~
../../../../include/stdlib.h:329:21: error: expected declaration specifiers or
'...' before 'size_t'
extern void *calloc(size_t __nele, size_t __size) __ATTR_MALLOC__;
^~~~~~
../../../../include/stdlib.h:329:36: error: expected declaration specifiers or
'...' before 'size_t'
extern void *calloc(size_t __nele, size_t __size) __ATTR_MALLOC__;
^~~~~~
../../../../include/stdlib.h:348:35: error: expected declaration specifiers or
'...' before 'size_t'
extern void *realloc(void *__ptr, size_t __size) __ATTR_MALLOC__;
^~~~~~
../../../../include/stdlib.h:350:15: error: storage class specified for
parameter 'strtod'
extern double strtod(const char *__nptr, char **__endptr);
^~~~~~
../../../../include/stdlib.h:361:15: error: storage class specified for
parameter 'atof'
extern double atof(const char *__nptr);
^~~~
../../../../include/stdlib.h:383:12: error: storage class specified for
parameter 'rand'
extern int rand(void);
^~~~
../../../../include/stdlib.h:387:13: error: storage class specified for
parameter 'srand'
extern void srand(unsigned int __seed);
^~~~~
../../../../include/stdlib.h:394:12: error: storage class specified for
parameter 'rand_r'
extern int rand_r(unsigned long *__ctx);
^~~~~~
../../../../include/stdlib.h:430:1: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '{' token
{
^
../../../../include/stdlib.h:475:1: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '{' token
{
^
../../../../include/stdlib.h:518:1: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '{' token
{
^
../../../../include/stdlib.h:560:1: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '{' token
{
^
../../../../include/stdlib.h:590:13: error: storage class specified for
parameter 'random'
extern long random(void);
^~~~~~
../../../../include/stdlib.h:595:13: error: storage class specified for
parameter 'srandom'
extern void srandom(unsigned long __seed);
^~~~~~~
../../../../include/stdlib.h:603:13: error: storage class specified for
parameter 'random_r'
extern long random_r(unsigned long *__ctx);
^~~~~~~~
../../../../include/stdlib.h:649:14: error: storage class specified for
parameter 'dtostre'
extern char *dtostre(double __val, char *__s, unsigned char __prec,
^~~~~~~
../../../../include/stdlib.h:666:14: error: storage class specified for
parameter 'dtostrf'
extern char *dtostrf(double __val, signed char __width,
^~~~~~~
../../../../include/stdlib.h:685:12: error: storage class specified for
parameter 'atexit'
extern int atexit(void (*)(void));
^~~~~~
../../../../include/stdlib.h:686:12: error: storage class specified for
parameter 'system'
extern int system (const char *);
^~~~~~
../../../../include/stdlib.h:687:14: error: storage class specified for
parameter 'getenv'
extern char *getenv (const char *);
^~~~~~
In file included from ../../../../libc/misc/eewr_block_xmega.c:8:
../../../../include/assert.h:110:13: error: storage class specified for
parameter '__assert'
extern void __assert(const char *__func, const char *__file,
^~~~~~~~
In file included from ../../../../include/avr/eeprom.h:50,
from ../../../../libc/misc/eewr_block_xmega.c:10:
/home/jan/programs-8/avrada/lib/gcc/avr/8.0.1/include/stddef.h:149:26: error:
storage class specified for parameter 'ptrdiff_t'
typedef __PTRDIFF_TYPE__ ptrdiff_t;
^~~~~~~~~
/home/jan/programs-8/avrada/lib/gcc/avr/8.0.1/include/stddef.h:437:3: error:
storage class specified for parameter 'max_align_t'
} max_align_t;
^~~~~~~~~~~
In file included from ../../../../libc/misc/eewr_block_xmega.c:10:
../../../../include/avr/eeprom.h:137:1: warning: 'pure' attribute ignored
[-Wattributes]
uint8_t eeprom_read_byte (const uint8_t *__p) __ATTR_PURE__;
^~~~~~~
../../../../include/avr/eeprom.h:142:1: warning: 'pure' attribute ignored
[-Wattributes]
uint16_t eeprom_read_word (const uint16_t *__p) __ATTR_PURE__;
^~~~~~~~
../../../../include/avr/eeprom.h:147:1: warning: 'pure' attribute ignored
[-Wattributes]
uint32_t eeprom_read_dword (const uint32_t *__p) __ATTR_PURE__;
^~~~~~~~
../../../../include/avr/eeprom.h:152:1: warning: 'pure' attribute ignored
[-Wattributes]
float eeprom_read_float (const float *__p) __ATTR_PURE__;
^~~~~
../../../../include/avr/eeprom.h:158:57: error: expected declaration
specifiers or '...' before 'size_t'
void eeprom_read_block (void *__dst, const void *__src, size_t __n);
^~~~~~
../../../../include/avr/eeprom.h:185:58: error: expected declaration
specifiers or '...' before 'size_t'
void eeprom_write_block (const void *__src, void *__dst, size_t __n);
^~~~~~
../../../../include/avr/eeprom.h:212:59: error: expected declaration
specifiers or '...' before 'size_t'
void eeprom_update_block (const void *__src, void *__dst, size_t __n);
^~~~~~
../../../../libc/misc/eewr_block_xmega.c:55:13: error: storage class specified
for parameter 'ccp_write_io'
extern void ccp_write_io (volatile uint8_t *__ioaddr, uint8_t __value);
^~~~~~~~~~~~
In file included from ../../../../libc/misc/eewr_block_xmega.c:9:
../../../../common/sectionname.h:43:33: error: expected declaration specifiers
before '__attribute__'
#define ATTRIBUTE_CLIB_SECTION __attribute__ ((section
(STR(CLIB_SECTION))))
^~~~~~~~~~~~~
../../../../libc/misc/eewr_block_xmega.c:57:1: note: in expansion of macro
'ATTRIBUTE_CLIB_SECTION'
ATTRIBUTE_CLIB_SECTION
^~~~~~~~~~~~~~~~~~~~~~
../../../../common/sectionname.h:43:33: error: expected declaration specifiers
before '__attribute__'
#define ATTRIBUTE_CLIB_SECTION __attribute__ ((section
(STR(CLIB_SECTION))))
^~~~~~~~~~~~~
../../../../libc/misc/eewr_block_xmega.c:93:1: note: in expansion of macro
'ATTRIBUTE_CLIB_SECTION'
ATTRIBUTE_CLIB_SECTION
^~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../include/avr/io.h:456,
from ../../../../libc/misc/eewr_block_xmega.c:4:
../../../../include/avr/iotn1614.h:5623:8: error: old-style parameter
declarations in prototyped function definition
define PERIOD0 (unsigned char)~_BV(0) /* Watchdog Timeout Period Bit 0 */
^~~~~~~
../../../../include/avr/iotn1614.h:5623:18: error: parameter name omitted
define PERIOD0 (unsigned char)~_BV(0) /* Watchdog Timeout Period Bit 0 */
^~~~~~~~~~~~~
../../../../libc/misc/eewr_block_xmega.c:120: error: expected '{' at end of
input


../../../../libc/misc/eewr_block_xmega.c:116:1: warning: control reaches end
of non-void function [-Wreturn-type]
}
^
Makefile:632: recipe for target 'eewr_block_xmega.o' failed


Cheers, Jan.

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-03-31 00:03:29 UTC
Permalink
Additional Item Attachment, patch #9543 (project avr-libc):

File name: avrxmega3-v7.diff.bz2 Size:292 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-03-31 00:06:46 UTC
Permalink
Follow-up Comment #15, patch #9543 (project avr-libc):

Jan,

* Can try v7 of patch ?

I missed a # sign in header generator, included a fix for generator and also
reincluded generated header files. It was my mistake during assamble of V6
patch.

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
jan de kruyf
2018-03-31 10:00:09 UTC
Permalink
Follow-up Comment #16, patch #9543 (project avr-libc):

Cristian,
That compiles fine but for some warnings.

Unfortunately I am not in a position to test the set up. I am building an Ada
toolchain. I guess little of this stuff will be used, since I make Ada spec
files with the MCU specifics.
But if you have some piece of program and tell me howto I will gladly compile
and see whether the generated code makes sense or not.

You might also want to tell me what to do about some of the warnings, then I
will patch for it.
This is the most annoying one:


../../../include/ctype.h:112:1: warning: ignoring attribute 'const' in
declaration of a built-in function 'isgraph' because it conflicts with
attribute 'pure' [-Wattributes]
extern int isgraph(int __c) __ATTR_CONST__;
^~~~~~
<built-in>: note: previous declaration here


ctype.h is full of them.

Enjoy your Easter holiday.

j.

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Balint Cristian
2018-07-01 13:44:40 UTC
Permalink
Follow-up Comment #17, patch #9543 (project avr-libc):

* Updated avrxmega3-v8.diff.bz2 with latest AVR8X devices.
* Rebased on .ATDF from latest Atmel.ATtiny_DFP.1.3.172.atpack.zip



(file #44476)
_______________________________________________________

Additional Item Attachment:

File name: avrxmega3-v8.diff.bz2 Size:456 KB


_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9543>

_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/
Loading...