From owner-svn-src-head@freebsd.org Thu Oct 12 20:04:12 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BCAA8E33702; Thu, 12 Oct 2017 20:04:12 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (mail.vlakno.cz [91.217.96.224]) by mx1.freebsd.org (Postfix) with ESMTP id 805A9654C1; Thu, 12 Oct 2017 20:04:11 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: by vlakno.cz (Postfix, from userid 1002) id D14BBDF7DBB; Thu, 12 Oct 2017 21:53:17 +0200 (CEST) Date: Thu, 12 Oct 2017 21:53:17 +0200 From: Roman Divacky To: Justin Hibbits Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r324511 - head/contrib/binutils/bfd Message-ID: <20171012195317.GA3199@vlakno.cz> References: <201710110239.v9B2dKlx022588@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201710110239.v9B2dKlx022588@repo.freebsd.org> User-Agent: Mutt/1.9.1 (2017-09-22) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Oct 2017 20:04:12 -0000 Note that this allows to use C++ EH on a gcc built PPC64 world for applications built by clang++. Roman On Wed, Oct 11, 2017 at 02:39:20AM +0000, Justin Hibbits wrote: > Author: jhibbits > Date: Wed Oct 11 02:39:20 2017 > New Revision: 324511 > URL: https://svnweb.freebsd.org/changeset/base/324511 > > Log: > Do exception offset computations in 64 bits, not 32. > > This fixes clang-built binaries on a gcc powerpc64 world. Gets us one step > closer to a clang-built world. The same change was made in later upstream > binutils. > > Submitted by: rdivacky > MFC after: 2 weeks > > Modified: > head/contrib/binutils/bfd/elf-eh-frame.c > > Modified: head/contrib/binutils/bfd/elf-eh-frame.c > ============================================================================== > --- head/contrib/binutils/bfd/elf-eh-frame.c Wed Oct 11 00:31:54 2017 (r324510) > +++ head/contrib/binutils/bfd/elf-eh-frame.c Wed Oct 11 02:39:20 2017 (r324511) > @@ -1344,7 +1344,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd, > > val = read_value (abfd, buf, per_width, > get_DW_EH_PE_signed (per_encoding)); > - val += ent->offset - ent->new_offset; > + val += (bfd_vma)ent->offset - ent->new_offset; > val -= extra_string + extra_data; > write_value (abfd, buf, val, per_width); > action &= ~4; > @@ -1400,7 +1400,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd, > } > break; > case DW_EH_PE_pcrel: > - value += ent->offset - ent->new_offset; > + value += (bfd_vma)ent->offset - ent->new_offset; > address += sec->output_section->vma + ent->offset + 8; > break; > } > @@ -1428,7 +1428,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd, > if (value) > { > if ((ent->lsda_encoding & 0xf0) == DW_EH_PE_pcrel) > - value += ent->offset - ent->new_offset; > + value += (bfd_vma)ent->offset - ent->new_offset; > else if (ent->cie_inf->need_lsda_relative) > value -= (sec->output_section->vma + ent->new_offset + 8 > + ent->lsda_offset); > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org"