Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 Mar 2015 20:21:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 198204] lang/gnatdroid-binutils: fix undefined behavior in gas's tc-arm.c
Message-ID:  <bug-198204-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198204

            Bug ID: 198204
           Summary: lang/gnatdroid-binutils: fix undefined behavior in
                    gas's tc-arm.c
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: marino@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: marino@FreeBSD.org
             Flags: maintainer-feedback?(marino@FreeBSD.org)

Created attachment 153690
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=153690&action=edit
Fix undefined behavior in gas/contrib/tc-arm.c's rotate_left() macro

In bug 197395, which is about an exp-run for clang 3.6.0, a failure was
reported for gnatdroid-armv7:

http://pb2.nyi.freebsd.org/data/headi386PR197395-default/2015-02-27_12h37m23s/logs/errors/gnatdroid-armv7-20141023.log

This failure is due to gas emitting "Error: invalid constant (ff) after fixup"
on valid assembly, such as "mov ip, #0xff".  It turns out this is due to
undefined behavior in gas, specifically in gas/config/tc-arm.c, in the
rotate_left() macro, which was fixed by this upstream commit:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=d840c081f8082e8b9e63fead5306643975a97bb3

The attachment fixes this in the same manner as bug 197806 for devel/binutils.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-198204-13>