avr-gcc and avr-g++ are deprecated now.

Go To Last Post
133 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

FYI, the avr backend of GCC (avr-gcc, avr-g++) has been deprecated for v10, release schedule spring 2020.

 

If the backend is not re-written to use a different scheme to model condition-code, it will be removed from GCC in v11, release schedule spring 2021.

 

https://gcc.gnu.org/ml/gcc-patch...

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Does this mean anything in a practical sense?

Is GCC support slowly going away (or becoming lower priority) for AVR's?

I suspect Microchip would like me to buy their compiler instead (and give me a 50% off coupon).

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avrcandies wrote:
Does this mean anything in a practical sense?

 

This relates to gcc v10. Given that Microchip is still using gcc v5, it would probably take 10 years or more before anyone notices anything.

Anyway, I noticed that code quality has peaked for v8 (when the  ISR fix was added), v9 seems to produce worse code. It seems recent gcc improvements are deleterious for AVR targets, so I predict v10 will be even worse.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avrcandies wrote:
Is GCC support slowly going away (or becoming lower priority) for AVR's?
Not disappearing though the effort to reach FSF AVR GCC v11 may be significant with a price and cost.

Would ones at Microchip expense for some of that effort?

(Microchip direct or indirect effort for source code modifications, FSF AVR GCC community effort to reach release)

 

Compiler Tool Chain Development – Embecosm

 

...

 

How much will a tool chain cost to develop?

...

For most architectures, Embecosm are able to create a proof-of-concept functional tool chain in 3 engineer months. 

...

due to the Embench vice chair is at Embecosm :

Contributors to embench/embench-iot · GitHub

Our Participation in the Open Source AVR® Community - YouTube (Microchip Technology, 2m36s)

Embench™: A Modern Embedded Benchmark Suite

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

SprinterSB wrote:

FYI, the avr backend of GCC (avr-gcc, avr-g++) has been deprecated for v10, release schedule spring 2020.

 

If the backend is not re-written to use a different scheme to model condition-code, it will be removed from GCC in v11, release schedule spring 2021.

 

https://gcc.gnu.org/ml/gcc-patches/2019-09/msg01256.html

Forgive me for asking a stupid question, but does this mean there will be no more AVR support after GCC v9.x?

Gentlemen may prefer Blondes, but Real Men prefer Redheads!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It doesn't affect V9. The announcement says deprecation at V10 and removal at V11

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Technically, the removal will likely be carried out right after v10 will have been released, which is in less than 1/2 a year from now.

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So how hard will it be for the AVR folk to keep v10 updating chasing various OS changes (assuming we don't care much about the back end.)
Arduino is now shipping gcc 7.4 to try to deal with the latest "64bit only) MacOS (or they're trying to, anyway.)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you read the documents the deprecation will be avoided if someone implements the requested changes.  Any chance the Atmel folks would do this?

 

There are two ways of representing the condition codes in the back-end for an architecture: the old-fashioned, deprecated way called CC0 representation and the modern, mandatory for new back-ends, way called MODE_CC representation. As of now, most back-ends have been converted to the MODE_CC representation, but a few of them still use the CC0 representation, as summarized in Status of supported architectures.

Last Edited: Sun. Nov 17, 2019 - 02:16 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

westfw wrote:
chasing various OS changes

 

It is also about chasing the C/C++ standards, and what if some other language is added.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wonder what "Arduino will do" ...

I suppose a commercial compiler won't "Cut" there .. Maybe they have to switch to the "handicapped" version w. bad optimization.

 

Interesting ....

 

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MattRW wrote:
If you read the documents the deprecation will be avoided if someone implements the requested changes.  Any chance the Atmel folks would do this?

 

There are two ways of representing the condition codes in the back-end for an architecture: the old-fashioned, deprecated way called CC0 representation and the modern, mandatory for new back-ends, way called MODE_CC representation. As of now, most back-ends have been converted to the MODE_CC representation, but a few of them still use the CC0 representation, as summarized in Status of supported architectures.

Note that the change might break some existing code:

Currently the condition code is implicitly clobbered by almost anything.

Most of the inline assembly I've seen does not include cc as a clobber.

If it does arithmetic, it clobbers cc, i.e. SREG.

Also, my recollection is that the ABI does not explicitly state whether function calls can clobber cc.

An obvious solution is to have both inline assembly and function calls implicitly clobber cc.

Iluvatar is the better part of Valar.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

It is also about chasing the C/C++ standards

Meh.  I doubt whether most AVR embedded programmers are that much about new features ("current" avr-gcc is already ~4 major gcc versions behind, and I don't see a huge clamor for updates.  People are still using 2010 WinAVR...)  The people trying to do legacy hardware support "but xyz tool was W95 and doesn't run on anything newer than XP and I found the source but it won't even compile on a modern system and ..." seem more common.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The one place where "old compiler" may start to matter is when in 2026 they start making Arduinos with the as yet unannounced ATWhizzMegaSuper12345 and the compiler can't support it.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

clawson wrote:
the as yet unannounced ATWhizzMegaSuper12345

 

Nicknamed the AVR O-Mega.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Inline asm would be by far the easiest of all problems. Just implement the target_asm_clobbers hook.
.
Maybe it's time to let avr-gcc walk the walk of all mortals. At least that would save me some spare time because then I would no more be tempted to improve it.

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow, if they managed it for the 68K, surely the prospects for AVR are promising...

 

$85 in less than a day.

 

The 68K bugzillla was created a little over two months ago:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91851

https://www.bountysource.com/issues/80706251-m68k-convert-the-backend-to-mode_cc-so-it-can-be-kept-in-future-releases

... and appears to be resolved.

The bounty reached $5000 after little more than a month, and hit a little more than $6000 before being closed.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The bounty is up to $315.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The bounty is up to $535.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Th 68k changes are pretty massive :-(

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bounty is at $565, increasing by $1per day.

With that speed, it will surpass the 68k bounty in about 13 years...

avrfreaks does not support Opera. Profile inactive.

Last Edited: Sun. Jan 12, 2020 - 12:15 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bounty at $655 today.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The bounty has increased to $1110.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does anyone know whether someone converted MSP430?  That might be a closer example than the 68k.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

Last Edited: Fri. Feb 21, 2020 - 09:28 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The bounty is up to $1470.

 

I admit I have started reading the GCC Internals Manual.  The entire manual is about 800 pages. 

(I'm making no commitment to work on this or claim that I am qualified to do so.)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

status: I can now build gcc for avr from checked-out git repo.  I have yet to figure out how to run an uninstalled gcc.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bounty increased to $2020

 

I have read through a good amount of the GCC internals document and spent a little time going through avr.md.

The existing code seems to use attributes for clobbering cc.

;; '*' because it is not used in rtl generation.
(define_insn "*reload_inpsi"
  [(set (match_operand:PSI 0 "register_operand" "=r")
        (match_operand:PSI 1 "immediate_operand" "i"))
   (clobber (match_operand:QI 2 "register_operand" "=&d"))]
  "reload_completed"
  {
    return avr_out_reload_inpsi (operands, operands[2], NULL);
  }
  [(set_attr "length" "6")
   (set_attr "adjust_len" "reload_in24")
   (set_attr "cc" "clobber")])

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bounty is time-limited :

AVR CC0 transition

 

The top bounty is from the CEO of SparkFun Electronics

15 Years of SparkFun - News - SparkFun Electronics

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:

bounty is time-limited :

AVR CC0 transition

 

I believe they recanted the two year policy.  Not sure what the prior one was.

Hi 

You're receiving this because we updated our Terms of Service.

 

Withdrawal of new Terms of Service 

Yesterday, we communicated a change to the Bountysource Terms of Service (ToS) agreement.

These changes have been withdrawn and the ToS reverted to its prior state.

The ToS will be revised and clarified in the future.

 

Thankyou

 

Bountysource Team

support@bountysource.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

That's funny, I just stumbled upon this thread today and only hours ago Microchip added $5000 to the bounty (now at $7,150)

 

I hope that will speed up the conversion to MODE_CC

Last Edited: Fri. Jul 24, 2020 - 07:43 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah it's a decent amount now, but still, I'm sure not many people actually know how to do it.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:

Yeah it's a decent amount now, but still, I'm sure not many people actually know how to do it.

Might be worth directly approaching the dev(s) who ported the m68k.  Very unlike AVR to be sure, but the overlap cannot be insignificant.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:

Yeah it's a decent amount now, but still, I'm sure not many people actually know how to do it.

You don't actually get the full amount in cash when you claim a bounty.  They take a 10% fee.

It's still enough to at least get get me thinking about it.  The first problem is determining if bountysource reliably pays out claims.  There is little transparency, so maybe they only pay out on 50% of bounty claims that are completed...

 

I have no special talents.  I am only passionately curious. - Albert Einstein

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah it's a decent amount now

Up near 2 weeks wages, for a moderately experienced compiler programmer!  Probably not including "burden"...

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I guess that's the point of these sites, a kind o wage auction, so that Microchip doesn't have to pay the real cost of doing this. But I understand there will be no takers until the reward is way higher. I'm not taking it, that's for sure.

 

But isn't there a risk that someone that is not qualified accepts this and does a poor job that just seems to work? Who will do the testing?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:
... so that Microchip doesn't have to pay the real cost of doing this.
to a first party (a part of Microchip) or a third party (Embecosm)

GitHub - embecosm/avr-gcc: A fork of the GCC mainline for work on the AVR tool chain

due to https://www.avrfreaks.net/forum/ok-use-mmcuattiny84-instead-84a#comment-1151476

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What guarantee do the bounty players have that a "good job" is done? Code costs money, high quality, reliable, maintainable code costs astronomical amounts of money. Or maybe its Hobson's Coice? They just accept the only offer that turns up.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I hope someone takes the bounty

https://www.eevblog.com/forum/mi...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:

What guarantee do the bounty players have that a "good job" is done? Code costs money, high quality, reliable, maintainable code costs astronomical amounts of money. Or maybe its Hobson's Coice? They just accept the only offer that turns up.

As I read it, the backers who funded the bounty collectively decide whether or not a particular contributor has done an adequate job.

 

Personally, at a minimum I would hope that they would observe activity on the GCC bugzilla case tracking this issue, and on GCC's development mailing list, to confirm that the proposed solution was accepted through that project's normal peer review system for official acceptance into the upstream project's git repository.

 

On the gcc mailing list, I see signs of at least two people actively expressing interest in pursuing this and seeking out advice on next steps.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

lfmorrison wrote:

On the gcc mailing list, I see signs of at least two people actively expressing interest in pursuing this and seeking out advice on next steps.

 

I'm following that, and glad to see it being worked by motivated people.  Also, I'm guessing the gcc maintainers are going to be sanity checking the design.

 

The challenge I see is that there are 100's - 1000's of forms (e.g., define_insn) in avr.md and other .md files to update.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

'Tis my understanding that the issue is trickier on AVRs and other 8-bitters than

for most other gcc targets because a certain amount of int is 32 bits is baked in.

IIRC that is why -lm was (is?) needed to make floating point work correctly.

The generic software floating point code assumed 32-bit ints.

Iluvatar is the better part of Valar.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So it seems someone was working on this and there is a proposed gcc version:  https://github.com/gcc-mirror/gcc/tree/2ab4c1ced160dae1a5ab9562da700b42e4ff740d

 

It needs testing, but honestly I never compiled gcc or avr-gcc :(

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:
So it seems someone was working on this and there is a proposed gcc version:
But there's been no activity on that since August 5th ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:

But there's been no activity on that since August 5th ?

 

Yeah, I guess motivation was in short supply, possibly because lack of feedback?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

[puts tongue firmly in cheek...]

 

Welcome to the world of open source software!

 

[...takes tongue out of cheek]

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There was a bit of traffic on the gcc developer's email list around August timeframe (subject "Clobber REG_CC only for some constraint alternatives?").

Nothing after that.  Someone could be head-down working it still.  If given up, I think there'd be an announcement on the bounty.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I bet, after they get it working, it will just generate crappy code compared to the older versions. And some of them are already haggling about how to split the bounty...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I thought avr-gcc since 9.something was already known to produce "crappy code", unrelated to the condition-code stuff.
https://gcc.gnu.org/bugzilla/sho...

Apparently v8 wasn't great either, and I can say that even the 7.3 used by Arduino produces extra code compared to 5.4.

 :-(

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I can't find it at the moment,

but my recollection is that the ATLAS guys have been complaining

that gcc's Intel code quality has been going steadily downhill.

http://math-atlas.sourceforge.net/

Iluvatar is the better part of Valar.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:43 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:

Possibly you folks here can help to verify the results

 

Well, speaking for myself, I'd love to but I'm just a guy who uses compilers, I know nothing about their internals and test suites.

In other words, if you have a precompiled avr-gcc toolchain I can download, preferably for Windows, I can test it with some of my code. Anything else is, sadly, way over my head.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, I tried.  I followed your instructions, but my first attempt bailed.  The last few lines of output:

HEAD is now at beb9afcaf libgfortran: Verify the presence of all functions for POSIX 2008 locale
Cloning into 'gcc-pip'...               
remote: Enumerating objects: 107251, done.            
remote: Counting objects: 100% (107251/107251), done.   
remote: Compressing objects: 100% (82847/82847), done.
remote: Total 107251 (delta 28033), reused 64505 (delta 22640), pack-reused 0
Receiving objects: 100% (107251/107251), 122.84 MiB | 7.49 MiB/s, done.
Resolving deltas: 100% (28033/28033), done.         
Checking out files: 100% (101732/101732), done.      
Cloning into 'gcc-saa'...                              
fatal: The remote end hung up unexpectedly  

I tried re-running right away, and it bailed right away:

!!! avoid changing things until final version is published. Press key to start.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
autoconf is already the newest version (2.69-11).
automake is already the newest version (1:1.15.1-3ubuntu2).
flex is already the newest version (2.6.4-6).
make is already the newest version (4.1-9.1ubuntu1).
xz-utils is already the newest version (5.2.2-1.3).
dejagnu is already the newest version (1.6.1-1).
expect is already the newest version (5.45.4-1).
hsail-tools is already the newest version (0~20170314-3).
subversion is already the newest version (1.9.7-4ubuntu1).
tcl is already the newest version (8.6.0+9).
bzip2 is already the newest version (1.0.6-8.1ubuntu0.2).
g++ is already the newest version (4:7.4.0-1ubuntu2.3).
gcc is already the newest version (4:7.4.0-1ubuntu2.3).
git is already the newest version (1:2.17.1-1ubuntu0.7).
wget is already the newest version (1.19.4-1ubuntu2.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
mkdir: cannot create directory ‘dev’: File exists
mkdir: cannot create directory ‘dev/build’: File exists
mkdir: cannot create directory ‘dev/results’: File exists

I removed avr-gnu/ and started fresh.  Same result.

 

Any suggestions?

 

P.S. This was on 18.04 on real hardware.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:43 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:44 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:44 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I tried with the suggestion from #58.  No joy, although it sat at "Cloning into 'gcc-saa'..." for a while before failing.

 

I tried with:

git config --global http.postBuffer 1073741824
git config --global https.postBuffer 1073741824
git config --global ssh.postBuffer 1073741824

... for good measure.  No joy.  Sat for a bit longer.

 

abebeos wrote:

git clone https://github.com/saaadhu/gcc-avr-cc0.git gcc-saa \
    -b avr-cc0 --shallow-since=2020-08-06 --single-branch

I had already tried that.  Same result:

Cloning into 'gcc-saa'...
fatal: The remote end hung up unexpectedly

 

 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Tried on another machine.  Same OS, different hardware.  Same result.

 

EDIT: I tried on a machine with 16.04 and the script bailed on installing hsail-tools

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Thu. Dec 10, 2020 - 02:42 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:44 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I doubt it.  Two boxes.  Same result.  Stock 18.04 on both.

 

Maybe my location?

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:

Tiny possibility that changing "https://" to "git://" makes it work.

$ git remote add saaadhu git://github.com/saaadhu/gcc-avr-cc0.git
Cloning into 'gcc-saa'...
fatal: The remote end hung up unexpectedly

 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:44 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
rsutherland@leek:~/Samba/avr-gnu$ ./init.sh
!!! avoid changing things until final version is published. Press key to start.
Reading package lists... Done
Building dependency tree
Reading state information... Done
autoconf is already the newest version (2.69-11).
automake is already the newest version (1:1.15.1-3ubuntu2).
automake set to manually installed.
make is already the newest version (4.1-9.1ubuntu1).
make set to manually installed.
xz-utils is already the newest version (5.2.2-1.3).
bzip2 is already the newest version (1.0.6-8.1ubuntu0.2).
g++ is already the newest version (4:7.4.0-1ubuntu2.3).
g++ set to manually installed.
gcc is already the newest version (4:7.4.0-1ubuntu2.3).
gcc set to manually installed.
git is already the newest version (1:2.17.1-1ubuntu0.7).
wget is already the newest version (1.19.4-1ubuntu2.2).
wget set to manually installed.
The following additional packages will be installed:
  libapr1 libaprutil1 libdwarf1 libfl-dev libfl2 libserf-1-1 libsvn1 libtcl8.6 tcl-expect tcl8.6
Suggested packages:
  tk8.6 bison flex-doc db5.3-util libapache2-mod-svn subversion-tools tcl-tclreadline
The following NEW packages will be installed:
  dejagnu expect flex hsail-tools libapr1 libaprutil1 libdwarf1 libfl-dev libfl2 libserf-1-1 libsvn1 libtcl8.6
  subversion tcl tcl-expect tcl8.6
0 upgraded, 16 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,991 kB of archives.
After this operation, 19.5 MB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 flex amd64 2.6.4-6 [316 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 libtcl8.6 amd64 8.6.8+dfsg-3 [881 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 tcl-expect amd64 5.45.4-1 [105 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 expect amd64 5.45.4-1 [137 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 dejagnu all 1.6.1-1 [720 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 libdwarf1 amd64 20180129-1 [215 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 hsail-tools amd64 0~20170314-3 [343 kB]
Get:8 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 libapr1 amd64 1.6.3-2 [90.9 kB]
Get:9 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 libaprutil1 amd64 1.6.1-2 [84.4 kB]
Get:10 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 libfl2 amd64 2.6.4-6 [11.4 kB]
Get:11 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 libfl-dev amd64 2.6.4-6 [6,320 B]
Get:12 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 libserf-1-1 amd64 1.3.9-6 [44.4 kB]
Get:13 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 libsvn1 amd64 1.9.7-4ubuntu1 [1,183 kB]
Get:14 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 subversion amd64 1.9.7-4ubuntu1 [834 kB]
Get:15 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 tcl8.6 amd64 8.6.8+dfsg-3 [14.4 kB]
Get:16 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 tcl amd64 8.6.0+9 [5,146 B]
Fetched 4,991 kB in 3s (1,928 kB/s)
Selecting previously unselected package flex.
(Reading database ... 262079 files and directories currently installed.)
Preparing to unpack .../00-flex_2.6.4-6_amd64.deb ...
Unpacking flex (2.6.4-6) ...
Selecting previously unselected package libtcl8.6:amd64.
Preparing to unpack .../01-libtcl8.6_8.6.8+dfsg-3_amd64.deb ...
Unpacking libtcl8.6:amd64 (8.6.8+dfsg-3) ...
Selecting previously unselected package tcl-expect:amd64.
Preparing to unpack .../02-tcl-expect_5.45.4-1_amd64.deb ...
Unpacking tcl-expect:amd64 (5.45.4-1) ...
Selecting previously unselected package expect.
Preparing to unpack .../03-expect_5.45.4-1_amd64.deb ...
Unpacking expect (5.45.4-1) ...
Selecting previously unselected package dejagnu.
Preparing to unpack .../04-dejagnu_1.6.1-1_all.deb ...
Unpacking dejagnu (1.6.1-1) ...
Selecting previously unselected package libdwarf1:amd64.
Preparing to unpack .../05-libdwarf1_20180129-1_amd64.deb ...
Unpacking libdwarf1:amd64 (20180129-1) ...
Selecting previously unselected package hsail-tools.
Preparing to unpack .../06-hsail-tools_0~20170314-3_amd64.deb ...
Unpacking hsail-tools (0~20170314-3) ...
Selecting previously unselected package libapr1:amd64.
Preparing to unpack .../07-libapr1_1.6.3-2_amd64.deb ...
Unpacking libapr1:amd64 (1.6.3-2) ...
Selecting previously unselected package libaprutil1:amd64.
Preparing to unpack .../08-libaprutil1_1.6.1-2_amd64.deb ...
Unpacking libaprutil1:amd64 (1.6.1-2) ...
Selecting previously unselected package libfl2:amd64.
Preparing to unpack .../09-libfl2_2.6.4-6_amd64.deb ...
Unpacking libfl2:amd64 (2.6.4-6) ...
Selecting previously unselected package libfl-dev:amd64.
Preparing to unpack .../10-libfl-dev_2.6.4-6_amd64.deb ...
Unpacking libfl-dev:amd64 (2.6.4-6) ...
Selecting previously unselected package libserf-1-1:amd64.
Preparing to unpack .../11-libserf-1-1_1.3.9-6_amd64.deb ...
Unpacking libserf-1-1:amd64 (1.3.9-6) ...
Selecting previously unselected package libsvn1:amd64.
Preparing to unpack .../12-libsvn1_1.9.7-4ubuntu1_amd64.deb ...
Unpacking libsvn1:amd64 (1.9.7-4ubuntu1) ...
Selecting previously unselected package subversion.
Preparing to unpack .../13-subversion_1.9.7-4ubuntu1_amd64.deb ...
Unpacking subversion (1.9.7-4ubuntu1) ...
Selecting previously unselected package tcl8.6.
Preparing to unpack .../14-tcl8.6_8.6.8+dfsg-3_amd64.deb ...
Unpacking tcl8.6 (8.6.8+dfsg-3) ...
Selecting previously unselected package tcl.
Preparing to unpack .../15-tcl_8.6.0+9_amd64.deb ...
Unpacking tcl (8.6.0+9) ...
Setting up libapr1:amd64 (1.6.3-2) ...
Setting up flex (2.6.4-6) ...
Setting up libdwarf1:amd64 (20180129-1) ...
Setting up libaprutil1:amd64 (1.6.1-2) ...
Setting up libfl2:amd64 (2.6.4-6) ...
Setting up libtcl8.6:amd64 (8.6.8+dfsg-3) ...
Setting up hsail-tools (0~20170314-3) ...
Setting up libfl-dev:amd64 (2.6.4-6) ...
Setting up libserf-1-1:amd64 (1.3.9-6) ...
Setting up tcl-expect:amd64 (5.45.4-1) ...
Setting up tcl8.6 (8.6.8+dfsg-3) ...
Setting up libsvn1:amd64 (1.9.7-4ubuntu1) ...
Setting up expect (5.45.4-1) ...
Setting up tcl (8.6.0+9) ...
Setting up subversion (1.9.7-4ubuntu1) ...
Setting up dejagnu (1.6.1-1) ...
Processing triggers for libc-bin (2.27-3ubuntu1.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for install-info (6.5.0.dfsg.1-2) ...
Cloning into 'gcc'...
remote: Enumerating objects: 113663, done.
remote: Counting objects: 100% (113663/113663), done.
remote: Compressing objects: 100% (86271/86271), done.
remote: Total 113663 (delta 32074), reused 68678 (delta 25574), pack-reused 0
Receiving objects: 100% (113663/113663), 125.46 MiB | 2.75 MiB/s, done.
Resolving deltas: 100% (32074/32074), done.
Checking out files: 100% (104349/104349), done.
Note: checking out 'beb9afc'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at beb9afcaf libgfortran: Verify the presence of all functions for POSIX 2008 locale
Cloning into 'gcc-pip'...
remote: Enumerating objects: 107251, done.
remote: Counting objects: 100% (107251/107251), done.
remote: Compressing objects: 100% (82846/82846), done.
remote: Total 107251 (delta 28034), reused 64505 (delta 22641), pack-reused 0
Receiving objects: 100% (107251/107251), 122.84 MiB | 2.43 MiB/s, done.
Resolving deltas: 100% (28034/28034), done.
Checking out files: 100% (101732/101732), done.
Cloning into 'gcc-saa'...
fatal: The remote end hung up unexpectedly

# rerun at this point

rsutherland@leek:~/Samba/avr-gnu$ ./init.sh
!!! avoid changing things until final version is published. Press key to start.
Reading package lists... Done
Building dependency tree
Reading state information... Done
autoconf is already the newest version (2.69-11).
automake is already the newest version (1:1.15.1-3ubuntu2).
flex is already the newest version (2.6.4-6).
make is already the newest version (4.1-9.1ubuntu1).
xz-utils is already the newest version (5.2.2-1.3).
dejagnu is already the newest version (1.6.1-1).
expect is already the newest version (5.45.4-1).
hsail-tools is already the newest version (0~20170314-3).
subversion is already the newest version (1.9.7-4ubuntu1).
tcl is already the newest version (8.6.0+9).
bzip2 is already the newest version (1.0.6-8.1ubuntu0.2).
g++ is already the newest version (4:7.4.0-1ubuntu2.3).
gcc is already the newest version (4:7.4.0-1ubuntu2.3).
git is already the newest version (1:2.17.1-1ubuntu0.7).
wget is already the newest version (1.19.4-1ubuntu2.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
mkdir: cannot create directory ‘dev’: File exists
mkdir: cannot create directory ‘dev/build’: File exists
mkdir: cannot create directory ‘dev/results’: File exists
rsutherland@leek:~/Samba/avr-gnu$ uname -a
Linux leek 5.4.0-56-generic #62~18.04.1-Ubuntu SMP Tue Nov 24 10:07:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

 

Same for me

Last Edited: Thu. Dec 10, 2020 - 04:02 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:45 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:

strange, maybe github has hickups today?

If so, they're regional, for you reported it worked for you in the same time frame.

 

Same result this morning:

Cloning into 'gcc-saa'...
fatal: The remote end hung up unexpectedly

 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Joey / Ron,

 

You can sometimes get an idea of why a git server will not talk by simply telnet'ing to it and seeing if there are "hidden" response messages that git itself is not reporting. I'm guessing this is all about permissions/security.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"git clone git://github.com/saaadhu/gcc-avr-cc0.git" worked for me.

Ubuntu 18.04.   I have previously built avr-gcc from the gcc.gnu.org git repo.   I will try sometime in the next week.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

 

 

Last Edited: Wed. Dec 23, 2020 - 03:45 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think forum damaged the clone link might try to put it in a code tag (the <> to the right)

rsutherland@leek:~/Samba/avr-gnu$ git clone https://github.com/saaadhu/gcc-avr-cc0.git%C2%A0gcc-saa%C2%A0 -b avr-cc0 --shallow-since=2020-08-06 --single-branch
Cloning into 'gcc-avr-cc0.git%C2%A0gcc-saa%C2%A0'...
fatal: unable to access 'https://github.com/saaadhu/gcc-avr-cc0.git%C2%A0gcc-saa%C2%A0/': The requested URL returned error: 400

Is this a unicode problem?

 

update: tinkering

 

rsutherland@leek:~/Samba/avr-gnu$ git clone https://github.com/saaadhu/gcc-avr-cc0.git gcc-saa -b avr-cc0 --shallow-since=2020-08-06 --single-branch
Cloning into 'gcc-saa'...
fatal: The remote end hung up unexpectedly
git clone https://github.com/saaadhu/gcc-avr-cc0.git gcc-saa
... works ...

rsutherland@leek:~/Samba/avr-gnu$ git clone https://github.com/saaadhu/gcc-avr-cc0.git gcc-saa -b avr-cc0 --single-branch
... works ... 

#

 

the "--shallow-since=" breaks it for me.

 

just for fun I tried the problem clone on Windows 10 with Git

 

git clone https://github.com/saaadhu/gcc-avr-cc0.git gcc-saa -b avr-cc0 --shallow-since=2020-08-06 --single-branch
Cloning into 'gcc-saa'...
fatal: error processing shallow info: 4

 

Last Edited: Thu. Dec 10, 2020 - 08:14 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:45 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
rsutherland@leek:~/Samba/avr-gnu$ ./init.sh
!!! avoid changing things until final version is published. Press key to start.
[sudo] password for rsutherland:
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
Checked out revision 300.
rsutherland@leek:~/Samba/avr-gnu$cd dev
rsutherland@leek:~/Samba/avr-gnu/dev$../build.sh
...
Done in 2378 seconds
rsutherland@leek:~/Samba/avr-gnu/dev$ ../t.sh
... (~11sec)
rsutherland@leek:~/Samba/avr-gnu/dev$ ../cp-result.sh main
rsutherland@leek:~/Samba/avr-gnu/dev$ ../cp-avr-pip.sh 04a22a1
...
HEAD is now at 04a22a1b8 change constraint (clearing zero reg clobbers flags)
rsutherland@leek:~/Samba/avr-gnu/dev$ ../build.sh && ../t.sh
... (2409 + ~11 sec)
rsutherland@leek:~/Samba/avr-gnu/dev$ ../cp-result.sh pip
rsutherland@leek:~/Samba/avr-gnu/dev$ ../delta.sh main pip
dg-cmp-results.sh: Verbosity is 0, Variant is ""

Error: variant "" not found in results/main/gcc.sum.

 

my shell scrip is rusty, to much Python I guess.

 

Last Edited: Thu. Dec 10, 2020 - 11:27 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

 

Last Edited: Wed. Dec 23, 2020 - 03:45 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:

You can sometimes get an idea of why a git server will not talk by simply telnet'ing to it and seeing if there are "hidden" response messages that git itself is not reporting. I'm guessing this is all about permissions/security.

Roger.

 

I'm a bit of a gitiot.  As a one-man show with minimal needs, I've not knuckled down and dug into source code control systems like git.  When I need something from github, I generally download a .zip.

 

All I wanted to do is help out @abebeos by running his test script :( ... I don't really have the time at the moment to dig in.

 

MattRW wrote:

"git clone git://github.com/saaadhu/gcc-avr-cc0.git" worked for me.

@abebeos appears to have an updated init.sh.  Running it now works on my machine.  Now running:

$ ../build.sh          # build the main (upstream) gcc 

It's not a blazing fast machine.  I'll post as soon as I have a final result.  Might be 2021 ;-)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

After a painfully long build, running the test suite reports some errors:

Looking for board description file for target /usr/share/dejagnu/baseboards/atmega128-sim.exp
ERROR: couldn't load description file for atmega128-sim

 

and ending with:

testsuite/gcc/gcc.log.sep: saw test result before harness name
testsuite/g++/g++.log.sep: saw test result before harness name
make[1]: Leaving directory '/tmp/rd/avr-gnu/dev/build/gcc/obj-avr/gcc'

 

 

I have no special talents.  I am only passionately curious. - Albert Einstein

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:46 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This doesn't bode well:

$ ../delta.sh main pip
dg-cmp-results.sh: Verbosity is 0, Variant is ""

Older log file: results/main/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

Newer log file: results/pip/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

NA->UNRESOLVED: c-c++-common/zero-scratch-regs-10.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-10.c  -Wc++-compat  (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-11.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-11.c  -Wc++-compat  (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-5.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-5.c  -Wc++-compat  (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-9.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-9.c  -Wc++-compat  (test for excess errors)
NA->FAIL: gcc.dg/pr83480.c (internal compiler error)
PASS->FAIL: gcc.dg/pr83480.c (test for excess errors)
PASS->FAIL: gcc.target/avr/pr88253.c scan-assembler lds r\\d+,121
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O1  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O1  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O2  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2 -fdata-sections  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O2 -fmerge-all-constants  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2 -fmerge-all-constants  (test for excess errors)
NA->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2  (internal compiler error)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O2 -mcall-prologues  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2 -mcall-prologues  (test for excess errors)
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O3 -g  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O3 -g  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -Os -flto  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -flto  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer -finline-functions  (test for excess errors)
NA->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer  (internal compiler error)
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -Os -mcall-prologues  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -mcall-prologues  (test for excess errors)

Building saa now, will post results this evening...

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

 

Last Edited: Wed. Dec 23, 2020 - 03:46 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:

ralphd wrote:

After a painfully long build, running the test suite reports some errors:

Looking for board description file for target /usr/share/dejagnu/baseboards/atmega128-sim.exp
ERROR: couldn't load description file for atmega128-sim

 

and ending with:

testsuite/gcc/gcc.log.sep: saw test result before harness name
testsuite/g++/g++.log.sep: saw test result before harness name
make[1]: Leaving directory '/tmp/rd/avr-gnu/dev/build/gcc/obj-avr/gcc'

 

 

 

Witihin ~/.dejagnurc, there should be an entry like

 

set avrtest_dir "/home/laz/avr-gnu/avrtest"
set boards_dir {}
lappend boards_dir "${avrtest_dir}/dejagnuboards"

possibly the ${HOME} variable has not expanded correct, leading to a wrong avrtest_dir.

 

I see the problem now.  Your scripts are hard-coded for ~/avr-gnu/.  My /home partition doesn't have enough free space (around 8GB) for a full avr-gcc build, so I was building in /tmp/rd/.

Why did you use ${HOME} instead of ${PWD}/../..?

 

I have no special talents.  I am only passionately curious. - Albert Einstein

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't quite get why everybody should reproduce these test results... The author of a patch will run the tests to make sure he didn't do something terribly stupid.

Much more interesting would be to know what impact the patch has on code density of real-world projects.

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 05:42 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:46 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:
What is important now is that no regressions are introduced (gcc testsuite)
secondary is no significant regressions in applications (bootloader, libc, ...); westfw, the maintainer of Optiboot, has posted in this thread.

Complete, precise, correct; correctness before precision.

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:
... dead-silence the last days,
Because GCC v11 is in stage 3?

GCC 11.0.0 Status Report (2020-11-16), Stage 3 in effect now

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I followed avrtest's Readme back then. That's all. Didn't give any other simulator a try, though. avrtest might be the fastest, and it comes with board descriptions as passed via RUNTESTFLAGS.

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dev stage should hardly matter for avr, it's ternary (always been).

Working on avr BE, you are the lone wolf. It has always been that way, but maybe that bounty makes a difference - until it's payed or decayed.

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:47 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:
joeymorin wrote:

This doesn't bode well:

This is very well! It's the correct output. Pip's work results in a few regressions.

$ ../delta.sh main saa
dg-cmp-results.sh: Verbosity is 0, Variant is ""

Older log file: results/main/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

Newer log file: results/saa/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

But I noticed the last screenful of output after the test:

FAIL: gcc.dg/tree-ssa/alias-32.c scan-tree-dump-times cddce1 "\\\\*[^ ]" 1
UNRESOLVED: gcc.dg/tree-ssa/attr-alias.c
FAIL: gcc.dg/tree-ssa/builtin-sprintf-9.c  (test for warnings, line 81)
FAIL: gcc.dg/tree-ssa/builtin-sprintf-9.c  (test for warnings, line 82)
FAIL: gcc.dg/tree-ssa/builtin-sprintf-9.c  (test for warnings, line 83)
FAIL: gcc.dg/tree-ssa/builtin-sprintf-9.c  (test for warnings, line 84)
FAIL: gcc.dg/tree-ssa/builtin-sprintf-9.c (test for excess errors)
FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-20.c (test for excess errors)
FAIL: gcc.dg/tree-ssa/builtin-sprintf.c (test for excess errors)
UNRESOLVED: gcc.dg/tree-ssa/builtin-sprintf.c compilation failed to produce executable
FAIL: gcc.dg/tree-ssa/evrp11.c scan-tree-dump-not evrp "link_error"
UNRESOLVED: gcc.dg/tree-ssa/inline-11.c
FAIL: gcc.dg/tree-ssa/negneg-3.c scan-tree-dump-times optimized "negate_expr" 6
UNRESOLVED: gcc.dg/tree-ssa/nonzero-1.c
UNRESOLVED: gcc.dg/tree-ssa/pr27781.c
FAIL: gcc.dg/tree-ssa/pr39612.c scan-tree-dump-not lim2 " = inter\\\\[[0-1]\\\\];"
UNRESOLVED: gcc.dg/tree-ssa/pr61144.c
FAIL: gcc.dg/tree-ssa/pr71947-4.c scan-tree-dump dom2 "Folded to: _[0-9]+ = _[0-9]+ \\\\* 2"
FAIL: gcc.dg/tree-ssa/pr71947-5.c scan-tree-dump dom2 "Folded to: _[0-9]+ = 0;"
FAIL: gcc.dg/tree-ssa/pr85726-1.c scan-tree-dump optimized " % 3;"
FAIL: gcc.dg/tree-ssa/pr85726-1.c scan-tree-dump optimized " / 3;"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-1.c scan-tree-dump cselim "Conditional store replacement"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-2.c scan-tree-dump cselim "Conditional store replacement"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-3.c scan-tree-dump-not cselim "Conditional store replacement"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-4.c scan-tree-dump-not cselim "Conditional store replacement"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-5.c scan-tree-dump cselim "Conditional store replacement"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-6.c scan-tree-dump cselim "Conditional store replacement"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-7-comp-ref.c scan-tree-dump cselim "Conditional store replacement"
UNRESOLVED: gcc.dg/tree-ssa/pr89430-8-mem-ref-size.c scan-tree-dump cselim "Conditional store replacement"
XPASS: gcc.dg/tree-ssa/pr91091-2.c scan-tree-dump-times fre1 " = [^;]*x;" 1
FAIL: gcc.dg/tree-ssa/pr91482.c scan-tree-dump-times ccp1 "__builtin_assume_aligned" 1
FAIL: gcc.dg/tree-ssa/pr92085-2.c (internal compiler error)
FAIL: gcc.dg/tree-ssa/pr92085-2.c (test for excess errors)
UNRESOLVED: gcc.dg/tree-ssa/pr93118.c scan-tree-dump-not optimized "<<"
UNRESOLVED: gcc.dg/tree-ssa/pr93118.c scan-tree-dump-not optimized ">>"
FAIL: gcc.dg/tree-ssa/pr93435.c (test for excess errors)
FAIL: gcc.dg/tree-ssa/pr96730.c (test for excess errors)
XPASS: gcc.dg/tree-ssa/ssa-fre-26.c scan-tree-dump fre1 "Replaced u.i with 0 in"
FAIL: gcc.dg/tree-ssa/ssa-fre-69.c scan-tree-dump fre1 "return 145;"
FAIL: gcc.dg/tree-ssa/ssa-fre-84.c scan-tree-dump fre1 "\\\\*dst_[0-9]*\\\\(D\\\\) = { 1, 0, 2, 3 };"
FAIL: gcc.dg/tree-ssa/ssa-hoist-4.c scan-tree-dump-times optimized "= \\\\*" 2
FAIL: gcc.dg/tree-ssa/ssa-hoist-4.c scan-tree-dump-times optimized "MAX_EXPR" 1
UNRESOLVED: gcc.dg/weak/typeof-2.c
UNRESOLVED: gcc.dg/weak/weak-1.c
UNRESOLVED: gcc.dg/weak/weak-10.c
UNRESOLVED: gcc.dg/weak/weak-11.c
UNRESOLVED: gcc.dg/weak/weak-12.c
UNRESOLVED: gcc.dg/weak/weak-13.c
UNRESOLVED: gcc.dg/weak/weak-14.c
UNRESOLVED: gcc.dg/weak/weak-15.c
UNRESOLVED: gcc.dg/weak/weak-16.c
UNRESOLVED: gcc.dg/weak/weak-17.c
UNRESOLVED: gcc.dg/weak/weak-18.c
UNRESOLVED: gcc.dg/weak/weak-19.c
UNRESOLVED: gcc.dg/weak/weak-2.c
UNRESOLVED: gcc.dg/weak/weak-3.c
UNRESOLVED: gcc.dg/weak/weak-4.c
UNRESOLVED: gcc.dg/weak/weak-5.c
UNRESOLVED: gcc.dg/weak/weak-6.c
UNRESOLVED: gcc.dg/weak/weak-7.c
UNRESOLVED: gcc.dg/weak/weak-8.c
UNRESOLVED: gcc.dg/weak/weak-9.c
UNRESOLVED: gcc.misc-tests/gcov-12.c
UNRESOLVED: gcc.misc-tests/gcov-13.c
UNRESOLVED: gcc.misc-tests/gcov-14.c
FAIL: gcc.target/avr/pr52472.c (internal compiler error)
FAIL: gcc.target/avr/pr52472.c (test for excess errors)
FAIL: gcc.target/avr/torture/int24-mul.c   -O3 -g  (internal compiler error)
FAIL: gcc.target/avr/torture/int24-mul.c   -O3 -g  (test for excess errors)
UNRESOLVED: gcc.target/avr/torture/int24-mul.c   -O3 -g  compilation failed to produce executable
FAIL: gcc.target/avr/torture/pr83729.c   -O3 -g  (internal compiler error)
FAIL: gcc.target/avr/torture/pr83729.c   -O3 -g  (test for excess errors)
UNRESOLVED: gcc.target/avr/torture/pr83729.c   -O3 -g  compilation failed to produce executable
FAIL: gcc.target/avr/torture/pr83801.c   -O3 -g  (internal compiler error)
FAIL: gcc.target/avr/torture/pr83801.c   -O3 -g  (test for excess errors)
UNRESOLVED: gcc.target/avr/torture/pr83801.c   -O3 -g  compilation failed to produce executable

                === gcc Summary ===

# of expected passes            105563
# of unexpected failures        603
# of unexpected successes       17
# of expected failures          585
# of untested testcases         2
# of unresolved testcases       163
# of unsupported tests          5208
/home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/gcc/xgcc  version 11.0.0 20201126 (experimental) (avr-cc0-migration-tests)

Compiler version: 11.0.0 20201126 (experimental) (avr-cc0-migration-tests) gcc
Platform: avr-unknown-none
configure flags: --prefix=/home/<hostname>/avr-gnu/dev/install --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --disable-libada --with-dwarf2 --disable-shared --enable-static --with-avrlibc=yes --enable-mingw-wildcard --with-pkgversion=avr-cc0-migration-tests --with-bugurl=https://github.com/abebeos/avr-gnu/issues
EOF
Mail -s "Results for 11.0.0 20201126 (experimental) (avr-cc0-migration-tests) gcc testsuite on avr-unknown-none" gcc-testresults@gcc.gnu.org &&
mv /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/gcc/gcc.sum /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/gcc/gcc.sum.sent &&
mv /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/g++/g++.sum /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/g++/g++.sum.sent &&
mv /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/gcc/gcc.log /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/gcc/gcc.log.sent &&
mv /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/g++/g++.log /home/<hostname>/avr-gnu/dev/build/gcc/obj-avr/./gcc/testsuite/g++/g++.log.sent &&
true
-ne
$

It's all the "internal compiler error" that left me with a raised eyebrow.

 

If you'd like, I can do this all again (with your updated git), but this time I can run script beforehand and can attached the resulting (sanitised) typescript.

 

EDIT: sanitised

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Sat. Dec 12, 2020 - 03:47 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:

curious: was the "${HOME}" variable wihtin .dejagnurc not processed correct?

Hmmm...:

$ cat .dejagnurc
# The directory where the "avrtest" executable and the
# exit-*.o modules are located.  This can be overriden
# in a DejaGNU *.exp board description if needed.

set avrtest_dir "/home/pmarques"

# A directory where AVR-LibC headers like stdio.h are located.
# You can set it below or use individual overrides in .exp files.
# It needs not to be in the install path of the toolchain under test,
# but should be "reasonably close", e.g. from an older installation.
# This is only needed if the install path doesn't already contain
# AVR-LibC headers.

set avrlibc_include_dir "/avrgcc_install/avr/include"

# The directories where the DejaGNU *.exp board descriptions are found.
# If you want more directories to be searched, just add respective
# "lappend boards_dir" lines as needed.

set boards_dir {}
lappend boards_dir "${avrtest_dir}/dejagnuboards"

 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:47 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:

As for your rerun: yes, of course. New test version comes in an hour or two, testing locally before pushing.

Leave a note here when it's up and I'll start the job before heading off to bed this evening...

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:47 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:47 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:
Folks can later work on making it better.

Amen.

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

void

Last Edited: Wed. Dec 23, 2020 - 03:48 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
================================================================================
 GCC REGRESSIONS
dg-cmp-results.sh: Verbosity is 0, Variant is ""

Older log file: results/main/gcc/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

Newer log file: results/pip/gcc/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

NA->UNRESOLVED: c-c++-common/zero-scratch-regs-10.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-10.c  -Wc++-compat  (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-11.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-11.c  -Wc++-compat  (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-5.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-5.c  -Wc++-compat  (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-9.c  -Wc++-compat  compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-9.c  -Wc++-compat  (test for excess errors)
NA->FAIL: gcc.dg/pr83480.c (internal compiler error)
PASS->FAIL: gcc.dg/pr83480.c (test for excess errors)
PASS->FAIL: gcc.target/avr/pr88253.c scan-assembler lds r\\d+,121
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O1  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O1  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O2  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2 -fdata-sections  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O2 -fmerge-all-constants  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2 -fmerge-all-constants  (test for excess errors)
NA->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2  (internal compiler error)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O2 -mcall-prologues  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2 -mcall-prologues  (test for excess errors)
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O2  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -O3 -g  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -O3 -g  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -Os -flto  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -flto  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer -finline-functions  (test for excess errors)
NA->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer  (internal compiler error)
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -fomit-frame-pointer  (test for excess errors)
NA->UNRESOLVED: gcc.target/avr/torture/builtins-2-flash.c   -Os -mcall-prologues  compilation failed to produce executable
PASS->FAIL: gcc.target/avr/torture/builtins-2-flash.c   -Os -mcall-prologues  (test for excess errors)

================================================================================
 G++ REGRESSIONS
dg-cmp-results.sh: Verbosity is 0, Variant is ""

Older log file: results/main/g++/g++.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

Newer log file: results/pip/g++/g++.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

NA->UNRESOLVED: c-c++-common/zero-scratch-regs-10.c  -std=gnu++14 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-10.c  -std=gnu++14 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-10.c  -std=gnu++17 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-10.c  -std=gnu++17 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-10.c  -std=gnu++2a compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-10.c  -std=gnu++2a (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-10.c  -std=gnu++98 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-10.c  -std=gnu++98 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-11.c  -std=gnu++14 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-11.c  -std=gnu++14 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-11.c  -std=gnu++17 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-11.c  -std=gnu++17 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-11.c  -std=gnu++2a compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-11.c  -std=gnu++2a (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-11.c  -std=gnu++98 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-11.c  -std=gnu++98 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-5.c  -std=gnu++14 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-5.c  -std=gnu++14 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-5.c  -std=gnu++17 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-5.c  -std=gnu++17 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-5.c  -std=gnu++2a compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-5.c  -std=gnu++2a (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-5.c  -std=gnu++98 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-5.c  -std=gnu++98 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-9.c  -std=gnu++14 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-9.c  -std=gnu++14 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-9.c  -std=gnu++17 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-9.c  -std=gnu++17 (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-9.c  -std=gnu++2a compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-9.c  -std=gnu++2a (test for excess errors)
NA->UNRESOLVED: c-c++-common/zero-scratch-regs-9.c  -std=gnu++98 compilation failed to produce executable
PASS->FAIL: c-c++-common/zero-scratch-regs-9.c  -std=gnu++98 (test for excess errors)
NA->UNRESOLVED: g++.dg/torture/vshuf-v16qi.C   -O2  compilation failed to produce executable
PASS->FAIL: g++.dg/torture/vshuf-v16qi.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)
NA->UNRESOLVED: g++.dg/torture/vshuf-v16qi.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  compilation failed to produce executable
PASS->FAIL: g++.dg/torture/vshuf-v16qi.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
NA->FAIL: g++.dg/torture/vshuf-v16qi.C   -O2  (internal compiler error)
PASS->FAIL: g++.dg/torture/vshuf-v16qi.C   -O2  (test for excess errors)
NA->UNRESOLVED: g++.dg/torture/vshuf-v2di.C   -O2  compilation failed to produce executable
PASS->FAIL: g++.dg/torture/vshuf-v2di.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)
NA->UNRESOLVED: g++.dg/torture/vshuf-v2di.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  compilation failed to produce executable
PASS->FAIL: g++.dg/torture/vshuf-v2di.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
NA->FAIL: g++.dg/torture/vshuf-v2di.C   -O2  (internal compiler error)
PASS->FAIL: g++.dg/torture/vshuf-v2di.C   -O2  (test for excess errors)
NA->UNRESOLVED: g++.dg/torture/vshuf-v8qi.C   -O2  compilation failed to produce executable
PASS->FAIL: g++.dg/torture/vshuf-v8qi.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)
NA->UNRESOLVED: g++.dg/torture/vshuf-v8qi.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  compilation failed to produce executable
PASS->FAIL: g++.dg/torture/vshuf-v8qi.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
NA->FAIL: g++.dg/torture/vshuf-v8qi.C   -O2  (internal compiler error)
PASS->FAIL: g++.dg/torture/vshuf-v8qi.C   -O2  (test for excess errors)
================================================================================
 GCC REGRESSIONS
dg-cmp-results.sh: Verbosity is 0, Variant is ""

Older log file: results/main/gcc/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

Newer log file: results/saa/gcc/gcc.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu


================================================================================
 G++ REGRESSIONS
dg-cmp-results.sh: Verbosity is 0, Variant is ""

Older log file: results/main/g++/g++.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

Newer log file: results/saa/g++/g++.sum
Target is avr-unknown-none
Host   is x86_64-pc-linux-gnu

 

Attachment(s): 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

void

 

 

Last Edited: Wed. Dec 23, 2020 - 03:48 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:48 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Out of curiosity, and for comparison purposes, is there a repository somewhere with avr-gcc built from ALL of the major release of gcc after 5.4 (the version shipping from Microchip)?

Version 6.x, 7.x (Arduino is shipping 7.x), 8.x, 9.x. and 10.x ?

 

 

secondary is no significant regressions in applications (bootloader, libc, ...); westfw, the maintainer of Optiboot, has posted in this thread.

I don't really consider "the code is bigger now" to be a "regression" unless it's gratuitous and there is no way to way to work around it.

For example, with 4.8, Optiboot failed to fit in its 512 bytes because avr-gcc got more aggressive with inlining short functions (despite -Os), and I had to add "noinline" attributes to putch() and getch() and similar.

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:48 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

westfw wrote:
Out of curiosity, and for comparison purposes, is there a repository somewhere with avr-gcc built from ALL of the major release of gcc after 5.4 (the version shipping from Microchip)?

 

Well I know how to get them for windows and linux but you use Mac, right?

 

Anyway, I use the archives of Zak Kemble's blog (@abebeos also mentions it as reference) from the Wayback Machine

https://web.archive.org/web/*/https://blog.zakkemble.net/avr-gcc-builds/

 

If you go to different time periods, it's possible to get different versions of the avr-gcc toolchain. It's not a neat list, but it works.

 

Last Edited: Tue. Dec 15, 2020 - 01:39 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:49 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:
Not sure how the status/quality of clang is for avr.
status - no longer experimental, released

AVR LLVM released | AVR Freaks

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes gcc is full of holes but some are useful. Problem is, some programmers will rely on them working and then updating to a new avr-gcc version will break the code (in fact, just reveal holes already present).

 

Here is a small C++ example, it's kind of my pet issue cheeky

 

#include <stdint.h>
#define MMREGADDR 0x20

#define MMREG (*(volatile uint8_t*) MMREGADDR)

typedef struct
{
  volatile uint8_t data;
} port_t;

#define MMREG_s (*(port_t*) MMREGADDR)

// The following 2 lines should always generate errors, since they violate C++ standard regarding valid constant expressions
// (they include a reinterpret_cast, in fact 2: int -> pointer -> int)
constexpr uint16_t mmreg_addr = (uint16_t) &(MMREG_s.data);   // v5 compiles (AS7), v7 compiles (Arduino), v9, v10 fail
//constexpr uint16_t mmreg_addr = (uint16_t) &MMREG;              // v5 compiles (AS7), v7 fails (Arduino), v9, v10 fail

int main(void){
  return mmreg_addr;
}

Basically this is a cast from int to pointer and back to int. Even though the compiler actually knows this value at compile time and could use it as a constant expression, the C++ standard says it should pretend it doesn't and generate an error (I don't agree with the standard here, but hey, I hear these people are very smart so whatever they say must surely be right).

Only newer versions of avr-gcc do the check, version 7 currently used in the Arduino suite does the check only in some situations. It's quite a mess.

 

edit: link to live compiler (v5 and v9 only) https://godbolt.org/z/d9K4sY

Last Edited: Tue. Dec 15, 2020 - 03:01 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:
It's quite a mess.

Well, you can of course blame the older versions of the compiler for accepting invalid code.

.

But the very problem is questionable C++ features like constexpr+reinterpret_cast and what is (not) allowed to do with them.

.

Or you could blame avr-libc for only supplying SFR accesses via dereferencing volatile pointers, but does not supply SFR addresses as (macros resolving to) scalars.

avrfreaks does not support Opera. Profile inactive.

Last Edited: Sat. Dec 19, 2020 - 11:09 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I guess I'm ranting because I've seen people using things like &PORTB as template arguments, because AS7 will accept that even though it's invalid code. I blame Microchip for still using avr-gcc v5 in their official toolchain when it has so many bugs.

Besides you added features like the optimized ISR prologue/epilogue to one of the v8 sub-versions, right? An  important feature IMO. Yet lots of people won't ever benefit from it because v5 ships with AS7 and v7 with Arduino.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:
Basically this is a cast from int to pointer and back to int. Even though the compiler actually knows this value at compile time and could use it as a constant expression, the C++ standard says it should pretend it doesn't and generate an error (I don't agree with the standard here, but hey, I hear these people are very smart so whatever they say must surely be right).
A useful extension occurs to me:

__builtin_const_expr(arg) is a constant expression if the compiler can evaluate it.

If an author is truly ambitious, 'tis a constant expression if the toolchain can evaluate it.

Iluvatar is the better part of Valar.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

 

Last Edited: Wed. Dec 23, 2020 - 03:49 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:

no way, dishwashing pays better

Exactly, we already commented earlier in this thread that the $7k reward could not possibly cover the work involved here. So basically only people very dedicated to the open software cause and to AVR would work here for a symbolic prize.

People in it for the money will quickly run out of motivation.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

 

Last Edited: Wed. Dec 23, 2020 - 03:49 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I appreciate the effort; it was fun to spin the toolchain on one of my Linux machines; I hope you can get the bounty; it is probably lost otherwise.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

The work is not that much the problem. Dealing with a mismanaged project, terrible infrastructure and rude ["co-workers and management"]

Sorry to have to tell you, but those sorts of problems are ALWAYS "part of the work."  :-)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:50 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:50 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:50 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:
Besides you added features like the optimized ISR prologue/epilogue to one of the v8 sub-versions,

It is in v8 mainline, see http://gcc.gnu.org/gcc-8/changes.html#avr

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:50 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abebeos wrote:
The work is not that much the problem. Dealing with a mismanaged project, terrible infrastructure and rude code-monkeys-in-a-position-of-power (those who see only code/patches, and not other kind of necessary efforts) is the motivation killer. I had so much momentum to continue this, but...

It's just a review https://gcc.gnu.org/ml/gcc-patches/2020-December/561757.html and nothing rude. It points out issues, asks questions and addresses parts that are wrong or overtly complicated (~30 lines where 1 line does it in ~100 places). And just the fact that you have spent some time on it is of no concern, what counts is what the patch does. Apart from the legal stuff, of course.
.
Your "I won't even change a blank" just shows that you don't know anything about it, presumably the only trigger is the bounty for which you set the goal to 13000$.
.
And just to make it clear: I do not blame the author for anything; the authors of either patch made clear that it is semi-working, incomplete, abandoned.
.
I don't even see what your contribution is, apart from dropping the stuff at gcc-patches@. Ok, you managed to build Binutils, GCC and found avr-libc and how to run the testsuite. So you have achieved milestone "Blinky". Congrats for that first essential step.
.
What you are writing is 80% complaints and rants, 10% how much work you put into it and 10% links to somewhere else, 0% about technical details or code.
.
Your split of the bounty into "2. get rid of cc0" and "3. introduce CCmode" is just not possible. And a bounty for "1. Me accomplished Blinky"? Come on.

avrfreaks does not support Opera. Profile inactive.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

 

 

 

 

Last Edited: Wed. Dec 23, 2020 - 03:52 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

 

Last Edited: Wed. Dec 23, 2020 - 03:52 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 03:52 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@abebos,

 

While I was (and a few others were, too) quite happy to assist you, I am disappointed in many of your responses.  So far the only evidence of any rudeness has been from you.

 

Irrespective of any work you may have done, and any contributions you may have made, mouthing off here (or anywhere else, for that matter) will not buy you a lick of respect, but only served to undermine any good you may have done.  Indeed, that is one of the most recognisable marks of an 'amateur'.

 

 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 05:41 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

void

Last Edited: Wed. Dec 23, 2020 - 05:41 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Ababeos - what on earth is the point of deleting almost every one of your posts in this thread? Apart from anything else, it renders the entire thread pointless for anyone reading at a later date, and to be blunt, it's downright rude.

 

Neil

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


barnacle wrote:
what on earth is the point of deleting almost every one of your posts in this thread?
Not just here.  His github project is gone as well:

https://github.com/abebeos/avr-gnu

 

 

 

barnacle wrote:
to be blunt, it's downright rude.
I can think of a few other adjectives...

 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What do we think? He didn't get the bounty?

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brian Fairchild wrote:
What do we think? He didn't get the bounty?

 

I would guess... no.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Mostly for my sanity and reference:

 

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92729

 

https://github.com/saaadhu/gcc-avr-cc0/issues/2

 

at some point Georg told people on the GCC list who abebeos was

 

https://gcc.gnu.org/pipermail/gcc-patches/2020-December/561762.html

 

Brian Fairchild wrote:
What do we think?

 

I don't know what to think; if it is drama, I don't like drama, but maybe it is more like a Monty Python sketch.

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller