U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] Enable garbage collection of unused input sections.
@ 2010-12-05 10:45 Luigi 'Comio' Mantellini
  2010-12-05 10:45 ` Luigi 'Comio' Mantellini
  0 siblings, 1 reply; 4+ messages in thread
From: Luigi 'Comio' Mantellini @ 2010-12-05 10:45 UTC (permalink / raw)
  To: u-boot

                                                                                                                                                                                                                                             
Hi ML,                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                             
This patch has been moved out from the previous "[PATCH 0/6 v2] Support for Bootstrap Code" patchset.                                                                                                                                        
                                                                                                                                                                                                                                             
The change adds the support of linker sections garbage collector that allows to isolate and discard the unused functions.                                                                                                                    
The patch has been tested (compilation and run) on the qemu_mips board (and an another real proprietary mips board) and on P4080DS target (just the compilation).                                                                              
The change seems to be safe because only dead code has been discarded during my tests. Of course, better test should be performed on all archs/boards to be sure that no any side-effect will be shown.

For the testing I used the following toolchains from CodeSourcery:

for MIPS:

mips-linux-gnu-gcc (Sourcery G++ Lite 4.4-203) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOS

GNU ld (Sourcery G++ Lite 4.4-203) 2.19.51.20090709
Copyright 2008 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.


for PowerPC:

powerpc-linux-gnu-gcc (Sourcery G++ Lite 4.4-194) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

GNU ld (Sourcery G++ Lite 4.4-194) 2.19.51.20090709
Copyright 2008 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

*Test results (adding also --print-gc-sections option to the linker command line)*

QEMU MIPS board.

u-boot.bin size reduced from 191672 bytes to 177240 bytes.

Discarded code on MIPS (qemu_mips):

mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'arch/mips/cpu/start.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'arch/mips/cpu/start.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'arch/mips/cpu/libmips.o'
mips-linux-gnu-ld: Removing unused section '.text.flush_dcache_range' in file 'arch/mips/cpu/libmips.o'
mips-linux-gnu-ld: Removing unused section '.text.invalidate_dcache_range' in file 'arch/mips/cpu/libmips.o'
mips-linux-gnu-ld: Removing unused section '.text.write_one_tlb' in file 'arch/mips/cpu/libmips.o'
mips-linux-gnu-ld: Removing unused section '.text.cpu_eth_init' in file 'arch/mips/cpu/libmips.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'arch/mips/cpu/libmips.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'arch/mips/lib/libmips.o'
mips-linux-gnu-ld: Removing unused section '.text.set_timer' in file 'arch/mips/lib/libmips.o'
mips-linux-gnu-ld: Removing unused section '.text.get_ticks' in file 'arch/mips/lib/libmips.o'
mips-linux-gnu-ld: Removing unused section '.text.get_tbclk' in file 'arch/mips/lib/libmips.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'arch/mips/lib/libmips.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.disable_ctrlc' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.dbg' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.serial_printf' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.malloc_usable_size' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.mallopt' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.cfree' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.memalign' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.pvalloc' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.valloc' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.simple_itoa' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.unset_local_var' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.get_table_entry_id' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.genimg_get_comp_id' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.genimg_get_type_id' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.genimg_get_arch_id' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.genimg_get_os_id' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.getenv_bootm_low' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.getenv_bootm_size' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.parse_line' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.run_command' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.get_ram_size' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.hex2_bin' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.srec_decode' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.parse_num' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.xyzModem_error' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.xyzModem_stream_close' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.CYGACC_COMM_IF_PUTC' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.CYGACC_COMM_IF_GETC_TIMEOUT' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.xyzModem_stream_terminate' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.xyzModem_get_hdr' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.xyzModem_stream_read' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.text.xyzModem_stream_open' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.rodata.srec_decode' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.rodata.xyzModem_error' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.data.mmap_threshold' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.bss.n_mmaps_max' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.bss.local.3309' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.bss.xyz' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'common/libcommon.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'disk/libdisk.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'disk/libdisk.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'drivers/mtd/libmtd.o'
mips-linux-gnu-ld: Removing unused section '.text.flash_sector_size' in file 'drivers/mtd/libmtd.o'
mips-linux-gnu-ld: Removing unused section '.text.flash_set_verbose' in file 'drivers/mtd/libmtd.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'drivers/mtd/libmtd.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'drivers/net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'drivers/net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'drivers/pcmcia/libpcmcia.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'drivers/rtc/librtc.o'
mips-linux-gnu-ld: Removing unused section '.text.mktime' in file 'drivers/rtc/librtc.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'drivers/rtc/librtc.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'drivers/serial/libserial.o'
mips-linux-gnu-ld: Removing unused section '.text._serial_putc_raw' in file 'drivers/serial/libserial.o'
mips-linux-gnu-ld: Removing unused section '.text.serial_putc_raw' in file 'drivers/serial/libserial.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'drivers/serial/libserial.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'fs/ext2/libext2fs.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'fs/ext2/libext2fs.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.text.file_getfsname' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.text.file_read' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.text.file_ls' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.text.file_detectfs' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.text.file_cd' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.data.file_cwd' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.data.current_filesystem' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.data.rel.ro.filesystems' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'fs/fat/libfat.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.cyg_crc16' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.display_options' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.hdestroy' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.hcreate' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.ldiv' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strrchr' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strspn' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strpbrk' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strtok' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strsep' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strswab' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.bcopy' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.memscan' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strstr' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.memchr' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.strmhz' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.ustrtoul' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.simple_strtoull' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.panic' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.text.inflateInit_' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.rodata.crc16_tab' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.data.rel.ro.local.z_errmsg' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'lib/libgeneric.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'lib/lzma/liblzma.o'
mips-linux-gnu-ld: Removing unused section '.text.LzmaDec_Free' in file 'lib/lzma/liblzma.o'
mips-linux-gnu-ld: Removing unused section '.text.LzmaDec_Allocate' in file 'lib/lzma/liblzma.o'
mips-linux-gnu-ld: Removing unused section '.text.LzmaDec_DecodeToBuf' in file 'lib/lzma/liblzma.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'lib/lzma/liblzma.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.text.eth_setenv_enetaddr' in file 'net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.text.eth_getenv_enetaddr_by_index' in file 'net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.text.VLAN_to_string' in file 'net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.text.random_port' in file 'net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.data.TftpRRQTimeoutMSecs' in file 'net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'net/libnet.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file 'board/qemu-mips/libqemu-mips.o'
mips-linux-gnu-ld: Removing unused section '.pdr' in file 'board/qemu-mips/libqemu-mips.o'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file '../lib/gcc/mips-linux-gnu/4.4.1/soft-float/libgcc.a(_lshrdi3.o)'
mips-linux-gnu-ld: Removing unused section '.pdr' in file '../lib/gcc/mips-linux-gnu/4.4.1/soft-float/libgcc.a(_lshrdi3.o)'
mips-linux-gnu-ld: Removing unused section '.reginfo' in file '../lib/gcc/mips-linux-gnu/4.4.1/soft-float/libgcc.a(_ashldi3.o)'
mips-linux-gnu-ld: Removing unused section '.pdr' in file '../lib/gcc/mips-linux-gnu/4.4.1/soft-float/libgcc.a(_ashldi3.o)'

P4080DS

u-boot.bin size unchanged because the code has an entry point int the last 4k and the rest of code is aligned to the last 512K... 

Discarded code on P4080DS:

powerpc-linux-gnu-ld: Removing unused section '.text.mpc85xx_reginfo' in file 'arch/powerpc/cpu/mpc85xx/libmpc85xx.o'
powerpc-linux-gnu-ld: Removing unused section '.text.print_tlbcam' in file 'arch/powerpc/cpu/mpc85xx/libmpc85xx.o'
powerpc-linux-gnu-ld: Removing unused section '.text.addr_probe' in file 'arch/powerpc/cpu/mpc85xx/libmpc85xx.o'
powerpc-linux-gnu-ld: Removing unused section '.text.PITException' in file 'arch/powerpc/cpu/mpc85xx/libmpc85xx.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_fixup_phy_connection' in file 'arch/powerpc/cpu/mpc8xxx/lib8xxx.o'
powerpc-linux-gnu-ld: Removing unused section '.text.print_lbc_regs' in file 'arch/powerpc/cpu/mpc8xxx/lib8xxx.o'
powerpc-linux-gnu-ld: Removing unused section '.text.upmconfig' in file 'arch/powerpc/cpu/mpc8xxx/lib8xxx.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__board_add_ram_info' in file 'arch/powerpc/lib/libpowerpc.o'
powerpc-linux-gnu-ld: Removing unused section '.text.ticks2usec' in file 'arch/powerpc/lib/libpowerpc.o'
powerpc-linux-gnu-ld: Removing unused section '.sdata.ex_tab_message' in file 'arch/powerpc/lib/libpowerpc.o'
powerpc-linux-gnu-ld: Removing unused section '.text.get_board_ddr_clk' in file 'board/freescale/common/libfreescale.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__arch_preboot_os' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__def_i2c_get_bus_speed' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__def_i2c_set_bus_speed' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.disable_ctrlc' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.dbg' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fprintf' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.serial_printf' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.spd_check' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.ddr2_spd_check' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.ddr1_spd_check' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.malloc_usable_size' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.mallopt' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.cfree' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.memalign' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pvalloc' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.valloc' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_increase_size' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_add_edid' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.do_fixup_by_path_u32' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.simple_itoa' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.unset_local_var' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.hwconfig_arg' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.hwconfig_arg_cmp' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fit_get_timestamp' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fit_set_timestamp' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.parse_line' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.run_command' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.get_ram_size' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.miiphy_reset' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.miiphy_register' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.usb_submit_int_msg' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.usb_clear_hub_feature' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.usb_get_class_descriptor' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.usb_get_report' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.usb_set_idle' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.usb_set_protocol' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.sdata.ShortPCIListing' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.sdata.cpu_hwconfig' in file 'common/libcommon.o'
powerpc-linux-gnu-ld: Removing unused section '.text.BE_mapRealPointer' in file 'drivers/bios_emulator/libatibiosemu.o'
powerpc-linux-gnu-ld: Removing unused section '.text.BE_getVESABuf' in file 'drivers/bios_emulator/libatibiosemu.o'
powerpc-linux-gnu-ld: Removing unused section '.text.BE_int86x' in file 'drivers/bios_emulator/libatibiosemu.o'
powerpc-linux-gnu-ld: Removing unused section '.text.BE_int86' in file 'drivers/bios_emulator/libatibiosemu.o'
powerpc-linux-gnu-ld: Removing unused section '.text.x86emuOp2_bts_R' in file 'drivers/bios_emulator/libatibiosemu.o'
powerpc-linux-gnu-ld: Removing unused section '.text.x86emu_dump_xregs' in file 'drivers/bios_emulator/libatibiosemu.o'
powerpc-linux-gnu-ld: Removing unused section '.text.x86emu_dump_regs' in file 'drivers/bios_emulator/libatibiosemu.o'
powerpc-linux-gnu-ld: Removing unused section '.text.print_laws' in file 'drivers/misc/libmisc.o'
powerpc-linux-gnu-ld: Removing unused section '.text.flash_set_verbose' in file 'drivers/mtd/libmtd.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_hose_read_config_byte_via_dword' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_hose_read_config_word_via_dword' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_hose_write_config_byte_via_dword' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_hose_write_config_word_via_dword' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_last_busno' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_hose_config_device' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_cfgfunc_config_device' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_cfgfunc_do_nothing' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_find_device' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text.pci_hose_scan' in file 'drivers/pci/libpci.o'
powerpc-linux-gnu-ld: Removing unused section '.text._serial_putc_raw' in file 'drivers/serial/libserial.o'
powerpc-linux-gnu-ld: Removing unused section '.text.serial_putc_raw' in file 'drivers/serial/libserial.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__video_set_lut' in file 'drivers/video/libvideo.o'
powerpc-linux-gnu-ld: Removing unused section '.text.file_getfsname' in file 'fs/fat/libfat.o'
powerpc-linux-gnu-ld: Removing unused section '.text.file_read' in file 'fs/fat/libfat.o'
powerpc-linux-gnu-ld: Removing unused section '.text.file_ls' in file 'fs/fat/libfat.o'
powerpc-linux-gnu-ld: Removing unused section '.text.file_detectfs' in file 'fs/fat/libfat.o'
powerpc-linux-gnu-ld: Removing unused section '.text.file_cd' in file 'fs/fat/libfat.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_get_path' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_get_alias' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_pack' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_add_reservemap_entry' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_finish_reservemap' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_end_node' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_finish' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_begin_node' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_property' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_create' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_nop_node' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_nop_property' in file 'lib/libfdt/libfdt.o'
powerpc-linux-gnu-ld: Removing unused section '.text.hdestroy' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.hcreate' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.lmb_dump_all' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.lmb_is_reserved' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__board_lmb_reserve' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__arch_lmb_reserve' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.ldiv' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.md5' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.sha1_self_test' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.sha1_hmac' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.sha1_csum' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.strspn' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.strtok' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.strsep' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.strswab' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.memscan' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.strrchr' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.ustrtoul' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.inflateInit_' in file 'lib/libgeneric.o'
powerpc-linux-gnu-ld: Removing unused section '.text.eth_get_dev_by_index' in file 'net/libnet.o'
powerpc-linux-gnu-ld: Removing unused section '.text.eth_get_dev_by_name' in file 'net/libnet.o'
powerpc-linux-gnu-ld: Removing unused section '.text.eth_setenv_enetaddr' in file 'net/libnet.o'
powerpc-linux-gnu-ld: Removing unused section '.text.VLAN_to_string' in file 'net/libnet.o'
powerpc-linux-gnu-ld: Removing unused section '.text.random_port' in file 'net/libnet.o'
powerpc-linux-gnu-ld: Removing unused section '.sdata.TftpRRQTimeoutMSecs' in file 'net/libnet.o'
powerpc-linux-gnu-ld: Removing unused section '.text.post_info_single' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.post_info' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.arch_memory_test_prepare' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.arch_memory_test_advance' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.arch_memory_test_cleanup' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.arch_memory_failure_handle' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.generic_ffs' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.generic_fls' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.generic_hweight32' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.generic_hweight16' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.generic_hweight8' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.___arch__swab16' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.___arch__swab32' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__fswab16' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__swab16p' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__swab16s' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__fswab32' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__swab32p' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__swab32s' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__fswab64' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fls' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fls64' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__ilog2_u64' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.ffs64' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.ext2_find_next_zero_bit' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.generic_set_bit' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.generic_clear_bit' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__FD_SET' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__FD_CLR' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__FD_ISSET' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__FD_ZERO' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.eieio' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.sync' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.isync' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__raw_readb' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__raw_readw' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__raw_readl' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__raw_writeb' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__raw_writew' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__raw_writel' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.unmap_physmem' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.lmb_size_bytes' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_magic' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_totalsize' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_off_dt_struct' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_off_dt_strings' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_off_mem_rsvmap' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_version' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_last_comp_version' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_boot_cpuid_phys' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_size_dt_strings' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_set_size_dt_struct' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_fixup_dr_usb' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_header_size' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_magic' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_hcrc' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_time' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_size' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_load' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_ep' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_dcrc' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_os' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_arch' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_type' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_comp' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_name' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_data_size' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_data' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_image_size' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_get_image_end' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_magic' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_hcrc' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_time' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_size' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_load' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_ep' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_dcrc' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_os' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_arch' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_type' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_comp' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_check_magic' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_check_type' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_check_arch' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_check_os' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_check_target_arch' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fit_get_size' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fit_get_end' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.is_zero_ether_addr' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.is_multicast_ether_addr' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.is_broadcast_ether_addr' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.is_valid_ether_addr' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.post_word_load' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.post_word_store' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.getenv_IPaddr' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.NetCopyLong' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.NetCopyIP' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.NetWriteIP' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.NetReadLong' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.NetReadIP' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fit_image_check_target_arch' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fit_get_name' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.image_set_name' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_setprop_cell' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_property_cell' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_setprop_inplace_cell' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_getprop_w' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_get_property_w' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.fdt_offset_ptr_w' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.virt_to_phys' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.map_physmem' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__swab64p' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.text.__swab64s' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.sdata.otherpattern' in file 'post/libpost.o'
powerpc-linux-gnu-ld: Removing unused section '.eh_frame' in file '../lib/gcc/powerpc-linux-gnu/4.4.1/nof/libgcc.a(_udivdi3.o)'
powerpc-linux-gnu-ld: Removing unused section '.eh_frame' in file '../lib/gcc/powerpc-linux-gnu/4.4.1/nof/libgcc.a(_umoddi3.o)'


Any comments is welcome.

best regards,

luigi


Luigi 'Comio' Mantellini (1):
  Enable garbage collection of unused input sections.

 config.mk |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

-- 
1.7.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-12-05 12:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-05 10:45 [U-Boot] [PATCH] Enable garbage collection of unused input sections Luigi 'Comio' Mantellini
2010-12-05 10:45 ` Luigi 'Comio' Mantellini
2010-12-05 12:23   ` Wolfgang Denk
2010-12-05 12:33     ` Luigi Mantellini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox