On 03/01/18 09:35, Emilio Pozuelo Monfort wrote: > Source: binutils > Version: 2.29.1-12 > Severity: important > Control: affects -1 ghc > > Hi, > > gold segfaults when building ghc 8.2.2-1 on mips*: > > https://buildd.debian.org/status/logs.php?pkg=ghc&ver=8.2.2-1 > > Gianfranco tried with binutils 2.29.51.20171218-1 as well and that failed too. > Unfortunately he cleaned the build directory afterwards, so we don't have any > files to attach to reproduce this, not atm. I guess that should be the next > step.
This is where the assertion fails:
> // Return the offset of GOT page entry for VALUE. Initialize the entry with
> // VALUE if it is not initialized.
>
> template<int size, bool big_endian>
> unsigned int
> Mips_got_info<size, big_endian>::get_got_page_offset(Mips_address value,
> Mips_output_data_got<size, big_endian>* got)
> {
> typename Got_page_offsets::iterator it =
> this->got_page_offsets_.find(value);
> if (it != this->got_page_offsets_.end())
> return it->second;
>
> gold_assert(this->got_page_offset_next_ < this->got_page_offset_start_
> + (size/8) * this->page_gotno_);
>
> unsigned int got_offset = this->got_page_offset_next_;
> this->got_page_offsets_[value] = got_offset;
> this->got_page_offset_next_ += size/8;
> got->update_got_entry(got_offset, value);
> return got_offset;
> }
My guess is the build ran out of GOT space (but I'm not totally sure
about that).
James
signature.asc
Description: OpenPGP digital signature

