Mercurial > sdl-ios-xcode
annotate SDL.spec.in @ 1176:dd2a8deeb26d
Date: Mon, 17 Oct 2005 20:09:03 -0400
From: Mark Schreiber <mark7@alumni.cmu.edu>
To: ryan@clutteredmind.org
Subject: [PATCH]SDL mprotect() crash fix
(I'm going to throw this patch your way at the suggestion of #SDL --
for some reason, I had some difficulty sending it to the main list
last time, and I go bonkers subscribing to send each email or
patch...)
Currently, when I run SDL applications as non-root using
SDL_VIDEODRIVER=dga, the fbdev fallback mprotect()s read/write the
proper size of mmapped /dev/fb0 (7.5MB), but on framebuffer release
mprotect()s read-only the range by the entire size of my video memory
(128MB), which causes a segfault:
#0 0x002a9a27 in ?? () from /lib/libc.so.6
#1 0x04a63eb6 in SDL_XDGAUnmapFramebuffer (screen=3D0) at XF86DGA2.c:978
#2 0x04a63efc in SDL_XDGACloseFramebuffer (dpy=3D0x9d3f008, screen=3D0)
at XF86DGA2.c:268
#3 0x04a68b57 in DGA_Available () at SDL_dgavideo.c:98
#4 0x04a53677 in SDL_VideoInit (driver_name=3D0xbfb0bfc7 "dga", flags=3D0)
at SDL_video.c:180
#5 0x04a2613f in SDL_InitSubSystem (flags=3D32) at SDL.c:74
#6 0x04a2617c in SDL_Init (flags=3D32) at SDL.c:166
#7 0x08049722 in main (argc=3D1, argv=3D0x0) at testwin.c:32
This is SDL 1.2.8 on Fedora Core 4, radeon driver for a Radeon 9250,
xorg-x11-6.8.2-37.
I've attached a one-line patch against SDL CVS that updates the size
of the framebuffer at framebuffer map time so that the mprotect() on
unmap will be the same size. I'm not sure if this is the best
approach (i.e. one might want to retain the original value), but it
does make my SDL applications work without segfaulting.
-- Best of luck, Mark Schreiber
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sat, 19 Nov 2005 18:57:00 +0000 |
parents | 609c060fd2a2 |
children | 19418e4422cb |
rev | line source |
---|---|
0 | 1 Summary: Simple DirectMedia Layer |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
2 Name: @PACKAGE@ |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
3 Version: @VERSION@ |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
4 Release: 1 |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
5 Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz |
0 | 6 URL: http://www.libsdl.org/ |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
7 License: LGPL |
0 | 8 Group: System Environment/Libraries |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
9 BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot |
0 | 10 Prefix: %{_prefix} |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
11 %ifos linux |
328
dc21fa30faa9
RPM dependency fix courtesy of Edward Rudd
Sam Lantinga <slouken@libsdl.org>
parents:
300
diff
changeset
|
12 Provides: libSDL-1.1.so.0 |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
13 %endif |
0 | 14 |
15 %description | |
16 This is the Simple DirectMedia Layer, a generic API that provides low | |
17 level access to audio, keyboard, mouse, and display framebuffer across | |
18 multiple platforms. | |
19 | |
20 %package devel | |
21 Summary: Libraries, includes and more to develop SDL applications. | |
22 Group: Development/Libraries | |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
23 Requires: %{name} = %{version} |
0 | 24 |
25 %description devel | |
26 This is the Simple DirectMedia Layer, a generic API that provides low | |
27 level access to audio, keyboard, mouse, and display framebuffer across | |
28 multiple platforms. | |
29 | |
30 This is the libraries, include files and other resources you can use | |
31 to develop SDL applications. | |
32 | |
33 | |
34 %prep | |
35 %setup -q | |
36 | |
37 %build | |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
38 %ifos linux |
1008
5fb02068b648
ALSA is loaded dynamically now, so it's safe to build into the library
Sam Lantinga <slouken@libsdl.org>
parents:
385
diff
changeset
|
39 CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix} --disable-video-svga --disable-video-ggi --disable-video-aalib --disable-debug --enable-dlopen --enable-esd-shared --enable-arts-shared |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
40 %else |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
41 %configure --disable-debug --enable-dlopen |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
42 %endif |
0 | 43 make |
44 | |
45 %install | |
46 rm -rf $RPM_BUILD_ROOT | |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
47 %ifos linux |
0 | 48 make install prefix=$RPM_BUILD_ROOT/%{prefix} |
84
c7f1b0647448
Add a symlink to SDL 1.2 for SDL 1.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
49 ln -s libSDL-1.2.so.0 $RPM_BUILD_ROOT/%{prefix}/lib/libSDL-1.1.so.0 |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
50 %else |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
51 %makeinstall |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
52 %endif |
0 | 53 |
54 %clean | |
55 rm -rf $RPM_BUILD_ROOT | |
56 | |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
57 %ifnos darwin |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
58 %define __defattr %defattr(-,root,root) |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
59 %define __soext so |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
60 %else |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
61 %define __defattr %defattr(-,root,wheel) |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
62 %define __soext dylib |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
63 %endif |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
64 |
0 | 65 %files |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
66 %{__defattr} |
0 | 67 %doc README-SDL.txt COPYING CREDITS BUGS |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
68 %ifnos darwin |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
69 %{_libdir}/lib*.%{__soext}.* |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
70 %else |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
71 %{_libdir}/lib*.*.%{__soext} |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
72 %endif |
0 | 73 |
74 %files devel | |
75 %defattr(-,root,root) | |
76 %doc README README-SDL.txt COPYING CREDITS BUGS WhatsNew docs.html | |
77 %doc docs/index.html docs/html | |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
78 %{_bindir}/*-config |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
79 %{_libdir}/lib*.a |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
80 %{_libdir}/lib*.la |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
81 %{_libdir}/lib*.%{__soext} |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
82 %dir %{_includedir}/SDL |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
83 %{_includedir}/SDL/*.h |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
84 %{_mandir}/man3/* |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
85 %{_datadir}/aclocal/* |
0 | 86 |
87 %changelog | |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
88 * Mon Jan 03 2004 Anders Bjorklund <afb@algonet.se> |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
89 - Added support for Darwin, updated spec file |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1008
diff
changeset
|
90 |
0 | 91 * Wed Jan 19 2000 Sam Lantinga <slouken@libsdl.org> |
92 - Re-integrated spec file into SDL distribution | |
93 - 'name' and 'version' come from configure | |
94 - Some of the documentation is devel specific | |
95 - Removed SMP support from %build - it doesn't work with libtool anyway | |
96 | |
97 * Tue Jan 18 2000 Hakan Tandogan <hakan@iconsult.com> | |
98 - Hacked Mandrake sdl spec to build 1.1 | |
99 | |
100 * Sun Dec 19 1999 John Buswell <johnb@mandrakesoft.com> | |
101 - Build Release | |
102 | |
103 * Sat Dec 18 1999 John Buswell <johnb@mandrakesoft.com> | |
104 - Add symlink for libSDL-1.0.so.0 required by sdlbomber | |
105 - Added docs | |
106 | |
107 * Thu Dec 09 1999 Lenny Cartier <lenny@mandrakesoft.com> | |
108 - v 1.0.0 | |
109 | |
110 * Mon Nov 1 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com> | |
111 - First spec file for Mandrake distribution. | |
112 | |
113 # end of file |