From owner-cvs-all Mon Jan 15 13:35:58 2001 Delivered-To: cvs-all@freebsd.org Received: from green.dyndns.org (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id A1ED237B69C; Mon, 15 Jan 2001 13:35:20 -0800 (PST) Received: from localhost (kviggo@localhost [127.0.0.1]) by green.dyndns.org (8.11.1/8.11.1) with ESMTP id f0FLZF214128; Mon, 15 Jan 2001 16:35:17 -0500 (EST) (envelope-from green@FreeBSD.org) Message-Id: <200101152135.f0FLZF214128@green.dyndns.org> X-Mailer: exmh version 2.2 06/23/2000 with nmh-1.0.4 To: Garrett Wollman Cc: Maxim Sobolev , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libvgl bitmap.c main.c simple.c vgl.h In-Reply-To: Message from Garrett Wollman of "Mon, 15 Jan 2001 14:43:43 EST." <200101151943.OAA97850@khavrinen.lcs.mit.edu> From: "Brian F. Feldman" Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 15 Jan 2001 16:35:15 -0500 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Garrett Wollman wrote: > < said: > > >> > -void VGLSetXY(VGLBitmap *object, int x, int y, byte color); > >> > +void VGLSetXY(VGLBitmap *object, int x, int y, u_long color); > > > Please bump shared library version number, because ABI is likely to be broken. > > Changes of this sort clearly do *not* break the ABI on Intel > architecture (the parameter `color' is in the same place on the stack, > with the same alignment and value). They might break the ABI on > Alphas, howerver. They do break the ABI on the alpha: #include #include void try8(void *a, int b, int c, uint8_t d) { uint8_t e; printf("%p %p %p %p %p\n", &a, &b, &c, &d, &e); } void try32(void *a, int b, int c, uint32_t d) { uint8_t e; printf("%p %p %p %p %p\n", &a, &b, &c, &d, &e); } void try64(void *a, int b, int c, uint64_t d) { uint8_t e; printf("%p %p %p %p %p\n", &a, &b, &c, &d, &e); } int main() { try8(main, 0, 0, 0); try32(main, 0, 0, 0); try64(main, 0, 0, 0); exit(0); } {"/.amd_mnt/freefall/host/d/home/green"}$ ./abi 0x11ffbab0 0x11ffbaa0 0x11ffbaa4 0x11ffbaa8 0x11ffbaa9 0x11ffbab0 0x11ffbaa0 0x11ffbaa4 0x11ffbaa8 0x11ffbaac 0x11ffbab0 0x11ffbaa0 0x11ffbaa4 0x11ffbab8 0x11ffbaa8 As you can see, the alignment of the stack changes, so this would cause a lot of unexplained crashes. It needs the bump for Alpha. -- Brian Fundakowski Feldman \ FreeBSD: The Power to Serve! / green@FreeBSD.org `------------------------------' To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message