<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>secure bootloader linker - migrating from SES to GCC</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/117918/secure-bootloader-linker---migrating-from-ses-to-gcc</link><description>We used the secure bootloader example, and then made room in the FLASH for an LCD driver/animation. 
 SES is building fine 
 Problem - GCC is running out of space in FLASH. I would expect similar binaries from each toolchain. Seems like I might have screwed</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 10 Jan 2025 17:22:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/117918/secure-bootloader-linker---migrating-from-ses-to-gcc" /><item><title>RE: secure bootloader linker - migrating from SES to GCC</title><link>https://devzone.nordicsemi.com/thread/518017?ContentTypeID=1</link><pubDate>Fri, 10 Jan 2025 17:22:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:387148b2-f1a8-4898-b12a-4325486fa8fc</guid><dc:creator>ms360</dc:creator><description>&lt;p&gt;Thanks Vidar. I just figured it out using your recommended method. &lt;br /&gt;I first thought it was optlevel, but by digging in there I found the root cause.&amp;nbsp;&lt;br /&gt;My Makefile had float printf enabled, my SES project did not.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: secure bootloader linker - migrating from GCC to SES</title><link>https://devzone.nordicsemi.com/thread/517884?ContentTypeID=1</link><pubDate>Fri, 10 Jan 2025 09:14:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8610c9c-fa7c-48a9-899e-2c60e1efd208</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I couldn’t find any errors in the linker script you posted. It seems that the bootloader image is simply too large to fit in the allocated region. The &amp;#39;reserved&amp;#39; section used by SES is just a placeholder to indicate that the area is reserved for the application and softdevice. This section is not required and it can easily be removed by editing the flash_placement.xml file which is the file SES generates the linker script from.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please try to increase the bootloader FLASH region with a couple of flash pages to allow the build to succeed, then compare the *.map files from the SES and pure GCC build to see if you can determine what part is making the GCC image that much bigger. Maybe it has to do with the C libs.&lt;/p&gt;
&lt;p&gt;Also, this may not be directly related to your issue, but there was an error in the flash_placement.xml configuration in an older SDK version. This error&amp;nbsp;would prevent you from getting a linker error if the bootloader code&amp;nbsp;grew into the mbr_params_page and bootloader_settings_page sections. These sections need to be placed in the FLASH region, as shown below.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1736500172220v1.png" alt=" " /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>