Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 354175 - games-strategy/wesnoth-1.8.5 scrolling breaks with sys-libs/glibc-2.13
Summary: games-strategy/wesnoth-1.8.5 scrolling breaks with sys-libs/glibc-2.13
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Games
URL: https://gna.org/bugs/index.php?17573
Whiteboard:
Keywords:
Depends on: 357687
Blocks:
  Show dependency tree
 
Reported: 2011-02-09 00:04 UTC by Seerp
Modified: 2011-03-08 22:10 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Valgrind log (valgrind-wesnoth,4.46 KB, text/plain)
2011-02-12 15:21 UTC, Seerp
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Seerp 2011-02-09 00:04:36 UTC
After upgrading glibc to version 2.13, in-game scrolling to the right is broken for me. Doing so results in the wrong tiles being drawn everywhere. Scrolling in any other direction works fine.

I have tried rebuilding wesnoth as well as its dependencies boost, libsdl, sdl-image and pango, which did not help.

Downgrading glibc to 2.12.2 immediately solves the problem.

Reproducible: Always

Steps to Reproduce:
1. Well upgrade glibc to version 2.13
2. Play any game in wesnoth.
3. Move your mouse to the right edge of the screen, so that the map scrolls to the right.

Actual Results:  
Map is drawn incorrectly.


emerge --info returns

Portage 2.1.9.38 (default/linux/amd64/10.0/no-multilib, gcc-4.5.2, glibc-2.13-r0, 2.6.34-gentoo-r2 x86_64)
=================================================================
System uname: Linux-2.6.34-gentoo-r2-x86_64-Intel-R-_Core-TM-2_CPU_T5600_@_1.83GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 08 Feb 2011 19:15:01 +0000
app-shells/bash:     4.1_p9
dev-lang/python:     2.7.1, 3.1.3
dev-util/cmake:      2.8.3-r1
sys-apps/baselayout: 2.0.1-r1
sys-apps/openrc:     0.7.0
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.10.3, 1.11.1
sys-devel/binutils:  2.21
sys-devel/gcc:       4.5.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ABI="amd64"
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1"
ACCEPT_PROPERTIES="*"
ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol"
APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias"
ARCH="amd64"
ASFLAGS_x86="--32"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CDEFINE_amd64="__x86_64__"
CDEFINE_x86="__i386__"
CFLAGS="-march=native -O2 -pipe"
CFLAGS_x86="-m32"
CHOST="x86_64-pc-linux-gnu"
CHOST_amd64="x86_64-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
CLEAN_DELAY="5"
COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog"
COLLISION_IGNORE="/lib/modules"
COLORTERM="gnome-terminal"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CVS_RSH="ssh"
CXXFLAGS="-march=native -O2 -pipe"
DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-oFWU6l3hHc,guid=44351951c265a0286df2958900000012"
DEFAULT_ABI="amd64"
DISPLAY=":0.0"
DISTDIR="/usr/portage/distfiles"
EDITOR="/bin/nano"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="--ask --tree --verbose --with-bdeps=y"
EMERGE_WARNING_DELAY="10"
EPREFIX=""
EROOT="/"
FCFLAGS=""
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FETCHCOMMAND="/usr/bin/wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
FETCHCOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}""
FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec sftp -P \${port} \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}""
FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}""
FFLAGS=""
GDK_USE_XFT="1"
GENTOO_MIRRORS="http://mirror.bytemark.co.uk/gentoo/ ftp://mirror.bytemark.co.uk/gentoo/ http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ http://gentoo.virginmedia.com/ ftp://gentoo.virginmedia.com/sites/gentoo"
GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx"
GSETTINGS_BACKEND="gconf"
HOME="/home/roald"
INFOPATH="/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.21/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.2/info"
INPUT_DEVICES="evdev"
KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LDFLAGS_x86="-m elf_i386"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LIBDIR_amd64="lib64"
LIBDIR_amd64_fbsd="lib64"
LIBDIR_ppc="lib32"
LIBDIR_ppc64="lib64"
LIBDIR_sparc32="lib32"
LIBDIR_sparc64="lib64"
LIBDIR_x86="lib32"
LIBDIR_x86_fbsd="lib32"
LINGUAS="en_GB"
LOGNAME="roald"
LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"
MAIL="/var/mail/roald"
MAKEOPTS="-j3"
MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.21/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.2/man"
MULTILIB_ABIS="amd64"
MULTILIB_STRICT_DENY="64-bit.*shared object"
MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib"
MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)"
NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml"
OLDPWD="/mnt/downloads/music"
OPENGL_PROFILE="xorg-x11"
ORBIT_SOCKETDIR="/tmp/orbit-roald"
PAGER="/usr/bin/less"
PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.2:/usr/games/bin"
PHP_TARGETS="php5-3"
PKGDIR="/usr/portage/packages"
PORTAGE_ARCHLIST="ppc sparc64-freebsd ppc-openbsd x86-openbsd ppc64 x86-winnt x86-fbsd ppc-aix alpha arm x86-freebsd s390 amd64 arm-linux x86-macos x64-openbsd ia64-hpux hppa x86-netbsd x86-cygwin amd64-linux ia64-linux x86 sparc-solaris x64-freebsd sparc64-solaris x86-linux x64-macos sparc m68k-mint ia64 mips ppc-macos x86-interix hppa-hpux amd64-fbsd x64-solaris mips-irix m68k sh x86-solaris sparc-fbsd"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib64/portage/bin"
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save_summary echo"
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5"
PORTAGE_FETCH_RESUME_MIN_SIZE="350K"
PORTAGE_GID="250"
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_PYM_PATH="/usr/lib64/portage/pym"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_RSYNC_RETRIES="-1"
PORTAGE_SANDBOX_COMPAT_LEVEL="16"
PORTAGE_SYNC_STALE="30"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_VERBOSE="1"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
PRELINK_PATH_MASK="/usr/lib64/libfreebl3.so:/usr/lib64/libnssdbm3.so:/usr/lib64/libsoftokn3.so"
PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND"
PWD="/home/roald"
PYTHONDONTWRITEBYTECODE="1"
RESUMECOMMAND="/usr/bin/wget -c -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
RESUMECOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}""
RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}""
ROOT="/"
ROOTPATH="/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.2"
RPMDIR="/usr/portage/rpm"
RUBYOPT="-rauto_gem"
RUBY_TARGETS="ruby18"
SHELL="/bin/bash"
SHLVL="1"
STAGE1_USE="nptl nptlonly unicode"
SYMLINK_LIB="yes"
SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"
TERM="xterm"
USE="X acl alsa amd64 berkdb bzip2 cli cracklib crypt cxx dbus dri fortran gdbm gnome gpm gtk iconv lcms mmx modules mudflap ncurses nls nptl nptlonly opengl openmp pam pcre pppd readline session smp sse sse2 sse3 ssl ssse3 symlink sysfs tcpd truetype unicode xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
USER="roald"
USERLAND="GNU"
USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS COLLECTD_PLUGINS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS GPSD_PROTOCOLS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL PHP_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS SANE_BACKENDS USERLAND VIDEO_CARDS XFCE_PLUGINS XTABLES_ADDONS"
USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d"
VIDEO_CARDS="intel"
WINDOWID="23068676"
XAUTHORITY="/home/roald/.Xauthority"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="/usr/local/share:/usr/share"
XDG_SESSION_COOKIE="196939237f61455c658c1b474984661e-1297206846.918292-1730977199"
XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
XZ_OPT="--memory=max"
_="/usr/bin/emerge"
Comment 1 Tolga Dalman 2011-02-09 22:01:51 UTC
My guess is, that Wesnoth (or any of its dependencies) has tripped over recent
memcpy() optimizations in glibc.
Some applications wrongly call this function on overlapping memory areas, which in turn yields in undefined behaviour.

Can you provide a debug report, i.e. have you tried calling wesnoth with
valgrind ?

I would also recommend to report this bug directly at wesnoth.org.
Comment 2 Seerp 2011-02-12 15:21:59 UTC
Created attachment 262247 [details]
Valgrind log

Thanks for your reply Tolga.

Following your suggestion I just ran valgrind on wesnoth. In that case the problem doesn't occur, but valgrind does give an error message involving mem_cpy:

"==11400== Source and destination overlap in memcpy(0xd414000, 0xd4140c8, 3328)
==11400==    at 0x4C2A236: memcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11400==    by 0x4E46810: ??? (in /usr/lib64/libSDL-1.2.so.0.11.3)
==11400==    by 0x4E46765: ??? (in /usr/lib64/libSDL-1.2.so.0.11.3)
==11400==    by 0x4E5C0EB: SDL_LowerBlit (in /usr/lib64/libSDL-1.2.so.0.11.3)
==11400==    by 0x4E5C31B: SDL_UpperBlit (in /usr/lib64/libSDL-1.2.so.0.11.3)
==11400==    by 0xCCF2E4: display::scroll(int, int) (in /usr/games/bin/wesnoth)
==11400==    by 0x85336C: controller_base::handle_scroll(CKey&, int, int, int) (in /usr/games/bin/wesnoth)
==11400==    by 0x853822: controller_base::play_slice(bool) (in /usr/games/bin/wesnoth)
==11400==    by 0xB7DC5C: playsingle_controller::play_human_turn() (in /usr/games/bin/wesnoth)
==11400==    by 0xB7D1F4: playsingle_controller::play_side(unsigned int, bool) (in /usr/games/bin/wesnoth)
==11400==    by 0xB7C4D3: playsingle_controller::play_turn(bool) (in /usr/games/bin/wesnoth)
==11400==    by 0xB83D5F: playsingle_controller::play_scenario(std::pair<config::const_child_iterator, config::const_child_iterator> const&, bool) (in /usr/games/bin/wesnoth)"

This was triggered by scrolling to the right. Before doing so, I tried scrolling in the three other directions, none of which gave the same error.

Is this enough information for the people of wesnoth? I don't have much experience in doing these things -- until now I had never heard of valgrind before.
Comment 3 Tolga Dalman 2011-02-12 16:30:05 UTC
Nice :-) The bug seems to be triggered within libSDL. However reporting this issue to the Wesnoth developers seems to be the right way. Perhaps you can just point them to this bug report ?

Thanks & good luck!
Comment 4 Seerp 2011-02-12 20:14:21 UTC
Thanks again Tolga.

I found a wesnoth bug report on this problem and added the valgrind error message to that, as well as a link to this report.

https://gna.org/bugs/index.php?17573
Comment 5 Tolga Dalman 2011-02-12 21:45:16 UTC
Great! Hopefully the bug is fixed quickly then. Thanks!
Comment 6 William Throwe 2011-02-16 20:32:43 UTC
Looks like there's now an upstream bug report at libSDL:
http://bugzilla.libsdl.org/show_bug.cgi?id=1090
Comment 7 tman 2011-02-22 22:19:36 UTC
maybe somebody can help us out with a ebuild for a new version of libsdl?

this bug is fix in CMS but its no patch in portage tree
Comment 8 Richard 2011-03-06 19:20:58 UTC
(In reply to comment #7)
> maybe somebody can help us out with a ebuild for a new version of libsdl?
> 
> this bug is fix in CMS but its no patch in portage tree
> 

That is up to the package maintainer. I have filed a bug #357687 for the libsdl maintainer. In the meantime, people affected by this can apply the patch themselves.

If you are running Gentoo stable, run the following commands as root:

ebuild $(equery which media-libs/libsdl-1.2.13-r1) prepare
cd /var/tmp/portage/media-libs/libsdl-1.2.13-r1/work/SDL-1.2.13
wget -O - http://bugzilla.libsdl.org/attachment.cgi?id=574 | patch -p1
ebuild $(equery which media-libs/libsdl-1.2.13-r1) merge

If you are running Gentoo unstable, run the following commands as root:

ebuild $(equery which media-libs/libsdl-1.2.14-r5) prepare
cd /var/tmp/portage/media-libs/libsdl-1.2.14-r5/work/SDL-1.2.14
wget -O - http://bugzilla.libsdl.org/attachment.cgi?id=574 | patch -p1
ebuild $(equery which media-libs/libsdl-1.2.14-r5) merge

Doing that will patch the package on your system. The patch will be lost if you re-emerge the package (e.g. as part of emerge -ave @world). People who want something that will not be lost when re-emerging the package could put the ebuild and patch into the local overlay. I expect that this will suffice until the package maintainer patches the portage tree; after which, none of this will be necessary anymore.
Comment 9 Richard 2011-03-06 19:24:43 UTC
I just noticed that sys-libs/glibc-2.13-r1 is keyworded, so anyone affected by
this is likely using the unstable tree. Please disregard the instructions I
posted for users of the stable tree. As long as they do not unkeyword glibc,
they will likely not need to worry about this.
Comment 10 Mr. Bones. (RETIRED) gentoo-dev 2011-03-08 22:10:31 UTC
fixed in libsdl-1.2.14-r6