c3be4bc18d
On platforms where time_t is a signed 32-bit integer, most notably i386 Linux, various functions stop working when dealing with a timestamp beyond January 2038. glibc has an opt-in mechanism that redefines time_t to be 64-bit, and correspondingly increases the size of all system data structures that contain a time_t, such as struct timeval and struct stat. This is necessary to allow timestamps beyond January 2038 to be represented; as well as things that obviously deal with timestamps, this affects functions like stat(), which will fail with EOVERFLOW if asked to inspect a file whose correct timestamp does not fit in time_t. This in turn can cause unexpected problems for "filesystem APIs" of the form "if /run/foo exists, then ..." when accessed by 32-bit code, if the check for existence is done with stat() rather than access(). Using 64-bit timestamps in glibc is an opt-in and not the default, because if done carelessly it can change libraries' ABIs. However, SDL mostly doesn't use system headers or types in its own headers. I Co-authored-by: Simon McVittie <smcv@collabora.com> |
||
---|---|---|
.github | ||
VisualC | ||
VisualC-GDK | ||
VisualC-WinRT | ||
Xcode | ||
android-project | ||
build-scripts | ||
cmake | ||
docs | ||
include | ||
mingw/pkg-support/cmake | ||
src | ||
test | ||
wayland-protocols | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.gitignore | ||
.wikiheaders-options | ||
Android.mk | ||
BUGS.txt | ||
CMakeLists.txt | ||
CREDITS.txt | ||
INSTALL.txt | ||
LICENSE.txt | ||
README-SDL.txt | ||
README.md | ||
TODO.txt | ||
WhatsNew.txt |
README.md
Simple DirectMedia Layer (SDL) Version 3.0
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
More extensive documentation is available in the docs directory, starting with README.md
Enjoy!
Sam Lantinga (slouken@libsdl.org)