Date: Mon, 15 Jan 2001 16:35:15 -0500 From: "Brian F. Feldman" <green@FreeBSD.org> To: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> Cc: Maxim Sobolev <sobomax@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libvgl bitmap.c main.c simple.c vgl.h Message-ID: <200101152135.f0FLZF214128@green.dyndns.org> In-Reply-To: Message from Garrett Wollman <wollman@khavrinen.lcs.mit.edu> of "Mon, 15 Jan 2001 14:43:43 EST." <200101151943.OAA97850@khavrinen.lcs.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Garrett Wollman <wollman@khavrinen.lcs.mit.edu> wrote: > <<On Mon, 15 Jan 2001 14:36:16 +0200, Maxim Sobolev <sobomax@FreeBSD.org> 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 <sys/types.h> #include <stdio.h> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101152135.f0FLZF214128>