No description
Betreff: [SDL] [PATCH] Make static variables const Datum: Tue, 19 May 2009 19:45:37 +0200 Hi, this is a set of simple changes which make some of SDL's internal static arrays constant. The purpose is to shrink the number of write-able static bytes and thus increase the number of memory pages shared between SDL applications. The patch set is against trunk@4513. Each of the attached patch files is specific to a sub-system. The set is completed by a second mail, because of the list's 40 KiB limit. The files readelf-r4513.txt and readelf-const-patch.txt where made by calling 'readelf -S libSDL.so'. They show the difference in ELF sections without and with the patch. Some numbers measured on my x86-64: Before [13] .rodata PROGBITS 00000000000eaaa0 000eaaa0 0000000000008170 0000000000000000 A 0 0 32 [19] .data.rel.ro PROGBITS 00000000003045e0 001045e0 00000000000023d0 0000000000000000 WA 0 0 32 [23] .data PROGBITS 00000000003076e0 001076e0 0000000000004988 0000000000000000 WA 0 0 32 After [13] .rodata PROGBITS 00000000000eaaa0 000eaaa0 0000000000009a50 0000000000000000 A 0 0 32 [19] .data.rel.ro PROGBITS 0000000000306040 00106040 0000000000002608 0000000000000000 WA 0 0 32 [23] .data PROGBITS 0000000000309360 00109360 0000000000002e88 0000000000000000 WA 0 0 32 The size of the write-able data section decreased considerably. Some entries became const-after-relocation, while most of its content went straight into the read-only data section. Best regards, Thomas --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403618 |
||
---|---|---|
build-scripts | ||
docs | ||
include | ||
src | ||
test | ||
VisualC | ||
VisualCE | ||
Xcode | ||
XCodeiPhoneOS | ||
.indent.pro | ||
acinclude.m4 | ||
autogen.sh | ||
Borland.html | ||
Borland.zip | ||
BUGS | ||
configure.in | ||
COPYING | ||
CREDITS | ||
docs.html | ||
INSTALL | ||
Makefile.dc | ||
Makefile.ds | ||
Makefile.in | ||
Makefile.minimal | ||
Makefile.pandora | ||
NOTES | ||
README | ||
README-SDL.txt | ||
README.BeOS | ||
README.CVS | ||
README.DC | ||
README.DirectFB | ||
README.iphoneos | ||
README.MacOSX | ||
README.MiNT | ||
README.NanoX | ||
README.OS2 | ||
README.pandora | ||
README.Porting | ||
README.QNX | ||
README.RISCOS | ||
README.SVN | ||
README.Watcom | ||
README.WinCE | ||
README.wscons | ||
sdl-config.in | ||
sdl.m4 | ||
sdl.pc.in | ||
SDL.spec.in | ||
TODO | ||
UNDER_CONSTRUCTION.txt | ||
VisualC.html | ||
Watcom-OS2.zip | ||
Watcom-Win32.zip | ||
WhatsNew |
Simple DirectMedia Layer (SDL) Version 1.2 --- http://www.libsdl.org/ This is the Simple DirectMedia Layer, a general API that provides low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D framebuffer across multiple platforms. The current version supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk. This library is distributed under GNU LGPL version 2, which can be found in the file "COPYING". This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library. The best way to learn how to use SDL is to check out the header files in the "include" subdirectory and the programs in the "test" subdirectory. The header files and test programs are well commented and always up to date. More documentation is available in HTML format in "docs/index.html", and a documentation wiki is available online at: http://www.libsdl.org/cgi/docwiki.cgi The test programs in the "test" subdirectory are in the public domain. Frequently asked questions are answered online: http://www.libsdl.org/faq.php If you need help with the library, or just want to discuss SDL related issues, you can join the developers mailing list: http://www.libsdl.org/mailing-list.php Enjoy! Sam Lantinga (slouken@libsdl.org)