https://sourceware.org/bugzilla/show_bug.cgi?id=33477

            Bug ID: 33477
           Summary: [BUG] A SEGV in _bfd_write_merged_section at
                    merge.c:1098
           Product: binutils
           Version: 2.45
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: yfzhang23 at stu dot pku.edu.cn
  Target Milestone: ---

Created attachment 16375
  --> https://sourceware.org/bugzilla/attachment.cgi?id=16375&action=edit
POC

## Description

- Version: Binutils 2.45 with patches in bug 33451, bug 33455, and bug 33457.
- Environment: Ubuntu 20.04.6 LTS, Clang 12.0.0

## Steps to reproduce

export CC="clang"
export CFLAGS="-g -fsanitize=address"
./configure
make -j
./ld/ld-new --version-exports-section symbol --shared $POC

## Sanitizer output

==149657==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc
0x000000930014 bp 0x7ffee2841970 sp 0x7ffee28418b0 T0)
==149657==The signal is caused by a READ memory access.
==149657==Hint: address points to the zero page.
    #0 0x930014 in _bfd_write_merged_section
/benchmark/bin/binutils-2.45/bfd/merge.c:1098:3
    #1 0x76c49c in elf_link_input_bfd
/benchmark/bin/binutils-2.45/bfd/elflink.c:12214:10
    #2 0x75b539 in bfd_elf_final_link
/benchmark/bin/binutils-2.45/bfd/elflink.c:13185:11
    #3 0x545133 in ldwrite /benchmark/bin/binutils-2.45/ld/ldwrite.c:548:8
    #4 0x53cc51 in main /benchmark/bin/binutils-2.45/ld/./ldmain.c:912:3
    #5 0x7f2c54960082 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x24082)
    #6 0x41d6ad in _start (/benchmark/bin/binutils-2.45/ld/ld-new+0x41d6ad)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /benchmark/bin/binutils-2.45/bfd/merge.c:1098:3
in _bfd_write_merged_section
==149657==ABORTING

## Credit

Reported by Yifan Zhang, [PLL](https://pl.cs.pku.edu.cn/en/)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to