avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] How to use pgmspace.h in a library source without war


From: Georg-Johann Lay
Subject: Re: [avr-gcc-list] How to use pgmspace.h in a library source without warning?
Date: Tue, 11 Jun 2013 14:28:21 +0200
User-agent: Thunderbird 2.0.0.24 (Windows/20100228)

Weddington, Eric schrieb:

-----Original Message----- From: Georg-Johann Lay [mailto:address@hidden Sent: Saturday, June 08, 2013 6:36 AM To: Weddington, Eric Cc: Thomas D. Dean; address@hidden Subject: Re: [avr-gcc-list] How to use pgmspace.h in a library source without warning?

Weddington, Eric wrote:

computers get faster every year
Computers don't get faster.

It's just the case that the not-so-fast computers are declared as scrap, and thrown away an then replaced by a-bit-faster computers; again and again and again...

Pedantically, yes. That's what I was referring to.

I don't think that things should get more complicated and more resource gulping -- in the contrary: things should get easier to grasp and to handle and to understand.


In a way, lib/device would actually be simpler then lib/arch. When a user compiles a program, they compile it for a specific device, not an architecture. Then the library for the architecture gets linked in.

The only thing that I see that gets complicated is transitioning from
 one style to the other, and then the increase in compilation.

Just perform the following 2 steps:

1) Make AVR-LibC adopt avr-gcc's multilib layout.
   Currently, we have

$ avr-gcc -print-multi-lib
.;
avr25;@mmcu=avr25
avr3;@mmcu=avr3
avr31;@mmcu=avr31
avr35;@mmcu=avr35
avr4;@mmcu=avr4
avr5;@mmcu=avr5
avr51;@mmcu=avr51
avr6;@mmcu=avr6
avrxmega2;@mmcu=avrxmega2
avrxmega4;@mmcu=avrxmega4
avrxmega5;@mmcu=avrxmega5
avrxmega6;@mmcu=avrxmega6
avrxmega7;@mmcu=avrxmega7
tiny-stack;@msp8
avr25/tiny-stack;@address@hidden

2) Change avr-gcc's multilib layout to whatever you want.
   Notice that this fixes #35407 (add tiny-stack multilibs).

Again, I see it being offset by being able to build on newer, faster computers and by building in parallel. Will it be completely offset? No, of course not. But then we can really design libraries to be specific to devices and get rid of some of the kludges and compromises that are in there in building it per arch.

we just had the request to (effectively) raise -Os to a multilib option. That way the libraries can be tailored for small code or for fast code.

And there was the request to raise -f[no-]short-double to a multilib option so that double can be 32 or 64 bits wide.

That would flood us with ~800 multilibs. Arrgh.

Johann





reply via email to

[Prev in Thread] Current Thread [Next in Thread]