Before logging an issue, please update to the latest release of Visual Micro from the Downloads Page.

When Logging a Support Issue in the Forum, please ensure you have also:-

  • Enabled vMicro > Compiler > Show Build Properties
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
  • Click the Reply button and attach as .txt file OR
  • Click here to Email us with the file attached, and a link to your post
Support requests without the output above may be impossible to answer, so please help us to help you
 
Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Question about recent solution for Linker failures due to long parameter list (Read 749 times)
cfeied
Junior Member
**
Offline


Posts: 49
Joined: May 18th, 2016
Question about recent solution for Linker failures due to long parameter list
Feb 7th, 2024 at 7:24pm
Print Post  
I was one of the people bitten by failed linking due to long parameter lists exceeding the Windows unicode string length of 32K characters. This problem shows up with the error:

arm-none-eabi-gcc*: fatal error: cannot execute c:\program files (x86) \ arduino \ hardware \ tools \ arm \ bin \..\ libexec \ gcc \ arm-none-eab \ 11.3.1 \ collect2.exe: CreateProcess: No such file or directory

The latest VisualMicro update does resolve the issue. Here is my question:  

After the update, the parameter list no longer seems to appear in the build output. Perhaps it's being passed through a file or a pipe or some other out-of-band path? Where can I look to see what is passed to the linker?

Thanks!

Craig
« Last Edit: Feb 7th, 2024 at 7:28pm by cfeied »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12168
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Question about recent solution for Linker failures due to long parameter list
Reply #1 - Feb 7th, 2024 at 10:45pm
Print Post  
When the command line for the link will be greater than 28k there is a pre link phase where you will see a libs.a file created containing all the compiled .o files for each folder of a library. 

.a files are simply gcc archives that can be viewed with an zip viewer.

The resulting libs.a files are included in the linker statements instead of all of the .o files.

Creation of the .a files is cached based on the most recent modified date of the files iit contains.

Clicking rebuild will show the process happening again.
  
Back to top
IP Logged
 
cfeied
Junior Member
**
Offline


Posts: 49
Joined: May 18th, 2016
Re: Question about recent solution for Linker failures due to long parameter list
Reply #2 - Feb 7th, 2024 at 11:45pm
Print Post  
Thank you!
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint