From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Schwab Subject: Re: [GIT PULL] siginfo fix for v4.16-rc5 Date: Tue, 03 Apr 2018 19:26:54 +0200 Message-ID: <87y3i442w1.fsf@linux-m68k.org> References: <87woypy8zc.fsf@xmission.com> <20180331105658.GA4332@asgard.redhat.com> <87woxpz7k9.fsf@xmission.com> <87in98xt4p.fsf@xmission.com> <4A16C7EF-B8B7-457C-B49C-829B44F12FFE@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <4A16C7EF-B8B7-457C-B49C-829B44F12FFE@gmail.com> (Josh Juran's message of "Tue, 3 Apr 2018 11:24:58 -0400") Sender: linux-kernel-owner@vger.kernel.org To: Josh Juran Cc: "Eric W. Biederman" , Geert Uytterhoeven , Eugene Syromiatnikov , Linus Torvalds , Linux Kernel Mailing List , Linux/m68k List-Id: linux-m68k@vger.kernel.org On Apr 03 2018, Josh Juran wrote: > On Apr 3, 2018, at 10:27 AM, Eric W. Biederman wrote: > >> Geert Uytterhoeven writes: >> >>> On Mon, Apr 2, 2018 at 10:17 PM, Eric W. Biederman wrote: >>> >>>> A 2-byte alignment for 4 byte pointers. That is a new one to me. >>> >>> Not just for pointers, also for int and long. >> >> The smallest I have seen previously has been 64bit integers having >> 32bit alignment. 32bit entities having only 16bit alignment on a 32bit >> arch was simply a surprise. Even when it works there tend to be good >> reasons not to do that by default. > > The 68K architecture began as 16-bit with the 68000. Rather than tightening requirements, the 68020 not only maintained compatibility with 16-bit alignment, but also forgave byte-misaligned data accesses (albeit with a performance penalty). Jumping to an odd address is still an error, though. The m68k-linux gcc port started as a clone of the Sun3 port, which has a history dating back to the 68000, which is why it has a maximum of 16-bit alignment. When I implemented ELF support for m68k-linux I wanted to follow the SVR4 ABI (which has 32-bit alignment), but there were too many UAPI structures (esp. struct stat) that would have become incompatible (it would have made it impossible to run ELF binaries on an a.out kernel or vice-versa), so I had to keep the historical mistake. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."