<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile.postlink</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>0ddc9c172279f686077310fbcfa5baf10c719188 - Merge git://git.denx.de/u-boot-mips</title>
        <link>http://opengrok.muzhidianzi.cn:8080/history/rk3399_rockchip-uboot/arch/mips/Makefile.postlink#0ddc9c172279f686077310fbcfa5baf10c719188</link>
        <description>Merge git://git.denx.de/u-boot-mips

            List of files:
            /rk3399_rockchip-uboot/arch/mips/Makefile.postlink</description>
        <pubDate>Wed, 26 Jul 2017 15:29:20 +0000</pubDate>
        <dc:creator>Tom Rini &lt;trini@konsulko.com&gt;</dc:creator>
    </item>
<item>
        <title>703ec9ddf965063cd79910df281657b056879368 - MIPS: Stop building position independent code</title>
        <link>http://opengrok.muzhidianzi.cn:8080/history/rk3399_rockchip-uboot/arch/mips/Makefile.postlink#703ec9ddf965063cd79910df281657b056879368</link>
        <description>MIPS: Stop building position independent codeU-Boot has up until now built with -fpic for the MIPS architecture,producing position independent code which uses indirection through aglobal offset table, making relocation fairly straightforward as itsimply involves patching up GOT entries.Using -fpic does however have some downsides. The biggest of these isthat generated code is bloated in various ways. For example, functioncalls are indirected through the GOT &amp; the t9 register:  8f998064   lw     t9,-32668(gp)  0320f809   jalr   t9Without -fpic the call is simply:  0f803f01   jal    be00fc04 &lt;puts&gt;This is more compact &amp; faster (due to the lack of the load &amp; thedependency the jump has on its result). It is also easier to read &amp;debug because the disassembly shows what function is being called,rather than just an offset from gp which would then have to be looked upin the ELF to discover the target function.Another disadvantage of -fpic is that each function begins with asequence to calculate the value of the gp register, for example:  3c1c0004   lui    gp,0x4  279c3384   addiu  gp,gp,13188  0399e021   addu   gp,gp,t9Without using -fpic this sequence no longer appears at the start of eachfunction, reducing code size considerably.This patch switches U-Boot from building with -fpic to building with-fno-pic, in order to gain the benefits described above. The cost ofthis is an extra step during the build process to extract relocationdata from the ELF &amp; write it into a new .rel section in a compactformat, plus the added complexity of dealing with multiple types ofrelocation rather than the single type that applied to the GOT. Thebenefit is smaller, cleaner, more debuggable code. The relocate_code()function is reimplemented in C to handle the new relocation scheme,which also makes it easier to read &amp; debug.Taking maltael_defconfig as an example the size of u-boot.bin builtusing the Codescape MIPS 2016.05-06 toolchain (gcc 4.9.2, binutils2.24.90) shrinks from 254KiB to 224KiB.Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;Cc: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;Cc: u-boot@lists.denx.deReviewed-by: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;Tested-by: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;

            List of files:
            /rk3399_rockchip-uboot/arch/mips/Makefile.postlink</description>
        <pubDate>Mon, 19 Jun 2017 18:53:47 +0000</pubDate>
        <dc:creator>Paul Burton &lt;paul.burton@imgtec.com&gt;</dc:creator>
    </item>
</channel>
</rss>
