input is not relaxable - get rid of this warning

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

- Using gcc

 

Hi there.

 

I get the warning "input is not relaxable". As far as I could read it seems to be a none sense warning (or does it have one? please let me know). 

Now, I need to get rid of it because in my project I need to argue all warnings and errors and it feels uncomfortable to have them.
Preferably I would solve that issue but unfortunately I couldn't find information about how to solve this resp. what the issue is. So I'm asking for how can I suppress this warning?

It would be great if any could help me with this issue.

Thanks in advanced

 

Cheers
Nik

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

Please show the full text of the warning - copy & paste - and the code which causes it.

 

See Tip #1 for how to post source code.

 

radioman85 wrote:
Using gcc

 

GCC messages include the command-line option which controls that warning: If you put that (without the '-' prefix) into google, it will usually get you to the GCC docs which describe the warning & what causes it.

Or just put the message itself into google ...

 

 

Other internet search engines are available.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

Show the compile, assemble and link commands. The warning is about linker relaxation but it works in tandem with what happens during compile/assemble too.

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

I grepped through the (fairly recent) gcc and binutils sources and it the only reference I found to this "not relaxable" was in the gas source for some other architectures.

 

/* We need a port-specific relaxation function to cope with sym2 - sym1
   relative expressions with both symbols in the same segment (but not
   necessarily in the same frag as this insn), for example:
     ldab sym2-(sym1-2),pc
    sym1:
   The offset can be 5, 9 or 16 bits long.  */

long
m68hc11_relax_frag (segT seg ATTRIBUTE_UNUSED, fragS *fragP,
                    long stretch ATTRIBUTE_UNUSED)
{
  long growth;
  offsetT aim = 0;
  symbolS *symbolP;
  const relax_typeS *this_type;
  const relax_typeS *start_type;
  relax_substateT next_state;
  relax_substateT this_state;

 

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

Based on more digging I think you have bug you need to fix.

Find out how to dump the memory sections sizes for your program and post here along with the specs for the chip you are using.

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

Thank you all for response.

 

The warning is thrown for each module I've added. More Information doesn't exist then the message itself and to which software module it belongs to.

@ MattRW: So far I hadn't any issues with the application itself. And I don't no this message or similar from other compilers. So I really wonder what the problem could be caused by.

 

Bellow I added the screen shots of the compiler, linker and assembler commands:

 


 

 

 

Error List:

 

 

Last Edited: Tue. Oct 22, 2019 - 09:36 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I didn't realise you were talking about UC3/AVR32. Most posts here are about the 8bit avr-gcc. But anyway Google leads back to Freaks and this thread:

 

https://www.avrfreaks.net/forum/warning-input-not-relaxable

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

clawson wrote:
I didn't realise you were talking about UC3/AVR32. Most posts here are about the 8bit avr-gcc.

 

Compilers and General Programming

A forum for discussions about compilers and general programming topics not specifically related to a particular microcontroller.

AVR UC3

A discussion forum for 32-bit AVR UC3 microcontrollers.

Grey area, indeed.  A similar thread  dealing with, e.g. Mega324 and a linker warning, may well get the same type of comment as mine to be shuttled to the 'Compilers' forum.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

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

Yup, my point was probably "always as well to identify which compiler you are talking about". 

 

(the reason this piqued my curiosity was the very fact that I'd never heard of this error in relation to 8bit avr-gcc, Google soon showed that "input is not relaxable" seems to be something unique to avr32-gcc).

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

Thanx a lot, well there is obviously a lot to get understanding before getting rid of that message. It will for sure be a good education for me :-)

 

AVR8 forum? Hmm, "Forum -> Tools -> Compilers & General Programming", can't be too wrong for AVR32 issues as well if it belongs to compiler issues? and it has to do with the compiler so this should be the place here. Well, that the way I understand that provided forum structure wink. Never mind. I take it as solved.

 

Thanx to you all laugh

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

radioman85 wrote:
I get the warning "input is not relaxable".

 

THis is why its called "Massaging your code"  You need to change the environment.

 

Dim the monitor

Stream some soft music

Switch from Windows to Linux.

 

 

Your code may not relax, but you might cheeky

 

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

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

Here is the relevant quote from how in the above referenced thread:

-mrelax won't affect position independence, but it will cause the linker to try to optimize address calculations, jumps and calls. The result is smaller and faster code, but in order to do this, the linker requires a lot more relocation information than the assembler spits out by default. So if the .o files weren't compiled/assembled with -mrelax, the linker will complain and refuse to do those optimizations. The result should still be correct.