bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/26827] New: ld.gold --threads segfault since 2.35


From: nick.gasson at arm dot com
Subject: [Bug gold/26827] New: ld.gold --threads segfault since 2.35
Date: Mon, 02 Nov 2020 03:51:53 +0000

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

            Bug ID: 26827
           Summary: ld.gold --threads segfault since 2.35
           Product: binutils
           Version: 2.35
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gold
          Assignee: ccoutant at gmail dot com
          Reporter: nick.gasson at arm dot com
                CC: ian at airs dot com
  Target Milestone: ---

With latest binutils 2.35:

$ gcc -fuse-ld=gold -Wl,--threads test.c 
malloc(): invalid next size (unsorted)
collect2: fatal error: ld terminated with signal 6 [Aborted], core dumped
compilation terminated.
$ gcc -fuse-ld=gold -Wl,--threads test.c 
$ gcc -fuse-ld=gold -Wl,--threads test.c 
double free or corruption (out)
collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core
dumped
compilation terminated.

The contents of the .c file don't matter. I think it was introduced with

  f37b21b481a7 PR 22843: ld, gold: Add --dependency-file option.

Simple fix:

--- a/gold/fileread.cc
+++ b/gold/fileread.cc
@@ -212,6 +212,7 @@ File_read::open(const Task* task, const std::string& name)
       gold_debug(DEBUG_FILES, "Attempt to open %s succeeded",
                 this->name_.c_str());
       this->token_.add_writer(task);
+      file_counts_initialize_lock.initialize();
       Hold_optional_lock hl(file_counts_lock);
       record_file_read(this->name_);
     }

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]