Skip to content
  • Alan Modra's avatar
    PR24015, glibc-2.28 on little-endian mips32 broken · 0e41bebb
    Alan Modra authored
    Commit 2bf2bf23 exposed a bug on targets that create common sections
    other than the standard ELF SHN_COMMON.  If these are output by ld -r,
    then their type becomes SHT_PROGBITS unless the target handles them
    specially (eg. by elf_backend_special_sections), and if they are
    merged into .bss/.sbss by ld -r then that section becomes SHT_PROGBITS.
    
    Worse, if they are output by ld -r, then their size is increased by
    bfd_generic_define_common_symbol during final link, which leads to
    bogus file contents being copied to output.
    
    For mips, it seems to me that the .scommon section should not be
    output for ld -r, but I haven't made that change in this patch.
    
    	PR 24015
    	* elf.c (bfd_elf_get_default_section_type): Make common sections
    	SHT_NOBITS.
    	* linker.c (bfd_generic_define_common_symbol): Clear
    	SEC_HAS_CONTENTS.
    0e41bebb
To find the state of this project's repository at the time of any of these versions, check out the tags.