<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>290061</bug_id>
          
          <creation_ts>2011-12-29 00:11:39 +0000</creation_ts>
          <short_desc>pie elf always loaded at 0x108000</short_desc>
          <delta_ts>2025-04-11 01:19:57 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Developer tools</classification>
          <product>valgrind</product>
          <component>general</component>
          <version>3.7 SVN</version>
          <rep_platform>Unlisted Binaries</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.kde.org/show_bug.cgi?id=138424</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Amir Szekely">kichik</reporter>
          <assigned_to name="Paul Floyd">pjfloyd</assigned_to>
          <cc>pjfloyd</cc>
    
    <cc>pwmarcz</cc>
    
    <cc>sam</cc>
    
    <cc>stephen.j.parker</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1206071</commentid>
    <comment_count>0</comment_count>
      <attachid>67208</attachid>
    <who name="Amir Szekely">kichik</who>
    <bug_when>2011-12-29 00:11:39 +0000</bug_when>
    <thetext>Created attachment 67208
suggested fix

It seems load_ELF() always loads pie elf (e-&gt;e.e_type == ET_DYN) at 0x108000. The code uses info-&gt;exe_base and info-&gt;exe_end to calculate a random load address, trying to emulate kernel behavior, but those are only set later in the same function. When the code is executed, both are 0 and so ebase is always 0. A few lines later, ebase is set to 0x108000 so the elf is not loaded at 0x0.

This usually shouldn&apos;t be a problem, but for me it randomly generated mmap failures after a recent kernel upgrade. It seems my new kernel decided to load ld.so a bit lower and randomly it would overlap my moderately sized executables (~3MB) always loaded at 0x108000.

In the attached log (valgrind -d -d) ld.so is loaded at 0x311000 and my 2580480 bytes executable tries to load at 0x108000. So it&apos;s trying to map the executable at 0x108000-0x37e000 and fails as it overlaps ld.so at 0x311000. The result is the good old:

valgrind: mmap(0x108000, 2580480) failed in UME with error 22 (Invalid argument).
valgrind: this can be caused by executables with very large text, data or bss segments.

Originally this happened in Valgrind 3.4.1, but I&apos;ve been able to reproduce with 3.7.0.

I believe this should be fixed by loading the elf to a random segment large enough to contain it. I&apos;ve attached a patch that replaces ebase calculation code with a call to am_get_advisory_client_simple(). This way the elf will never overlap existing allocated memory segments. It doesn&apos;t exactly generate random loading addresses, but it&apos;s good enough in my opinion.

I&apos;ve ran regression tests and the results haven&apos;t changed with the patch. I&apos;d supply unit tests or regression tests too, but I am not sure where coregrind tests would go. If there is a place, please let me know and I&apos;ll write some, mostly so I can ease myself knowing my patch doesn&apos;t destroy anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206072</commentid>
    <comment_count>1</comment_count>
      <attachid>67209</attachid>
    <who name="Amir Szekely">kichik</who>
    <bug_when>2011-12-29 00:12:49 +0000</bug_when>
    <thetext>Created attachment 67209
error log from 3.4.1 run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206089</commentid>
    <comment_count>2</comment_count>
      <attachid>67212</attachid>
    <who name="Amir Szekely">kichik</who>
    <bug_when>2011-12-29 01:51:13 +0000</bug_when>
    <thetext>Created attachment 67212
suggested fix (with proper svn diff)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206352</commentid>
    <comment_count>3</comment_count>
    <who name="Amir Szekely">kichik</who>
    <bug_when>2011-12-29 21:16:20 +0000</bug_when>
    <thetext>I was able to reproduce this on Ubuntu 11.10 pretty easily. I created a pie elf with 3mb static array and ran Valgrind in a loop.

altor@valgrind:~$ uname -a
Linux valgrind 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:34:47 UTC 2011 i686 i686 i386 GNU/Linux

altor@valgrind:~$ valgrind --version
valgrind-3.6.1-Debian

altor@valgrind:~$ cat test.c
static char meh[3000000]; // ~3mb
int main() {
  return 0;
}

altor@valgrind:~$ gcc -pie test.c
altor@valgrind:~$ readelf -h a.out
...
  Type:                              DYN (Shared object file)
  Machine:                           Intel 80386
...

altor@valgrind:~$ while valgrind ./a.out ; do echo wait for it... ; done
==1422== Memcheck, a memory error detector
==1422== Copyright (C) 2002-2010, and GNU GPL&apos;d, by Julian Seward et al.
==1422== Using Valgrind-3.6.1-Debian and LibVEX; rerun with -h for copyright info
==1422== Command: ./a.out
==1422==
==1422==
==1422== HEAP SUMMARY:
==1422==     in use at exit: 0 bytes in 0 blocks
==1422==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==1422==
==1422== All heap blocks were freed -- no leaks are possible
==1422==
==1422== For counts of detected and suppressed errors, rerun with: -v
==1422== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 11 from 6)
wait for it...
valgrind: mmap(0x10b000, 2998272) failed in UME with error 22 (Invalid argument).
valgrind: this can be caused by executables with very large text, data or bss segments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646895</commentid>
    <comment_count>4</comment_count>
    <who name="Stephen Parker">stephen.j.parker</who>
    <bug_when>2016-12-22 17:58:59 +0000</bug_when>
    <thetext>This is a bit of a necrobump (almost 5 years later to the date!), but I ran into a similar problem trying to run memcheck on android/arm64 with an executable &gt;600mb (Unreal game) and Amir&apos;s patch solved the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1969779</commentid>
    <comment_count>5</comment_count>
    <who name="Paweł Marczewski">pwmarcz</who>
    <bug_when>2020-10-29 13:02:13 +0000</bug_when>
    <thetext>I&apos;ve run into this problem trying to use Valgrind on Graphene [1], a project that functions as a library OS and loads other binaries into its own address space to execute them. The main executable is a PIE, and after loading, it loads the target binary.

This works well when running under Linux directly, as Linux will load the PIE under a high enough address. However, when running under Valgrind *and* loading a non-PIE binary inside, this often fails because Graphene will get mapped at 0x108000 and the inner binary typically will need to be mapped at 0x400000, which overlaps with the already loaded PIE binary.

Would it be possible for Valgrind to match Linux&apos;s behaviour, or use a high address by default, or perhaps just include an option to override the default address? I&apos;d be happy to work on a patch to that effect.

[1] https://graphene.readthedocs.io/en/latest/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2320829</commentid>
    <comment_count>6</comment_count>
    <who name="Paul Floyd">pjfloyd</who>
    <bug_when>2024-05-20 20:20:12 +0000</bug_when>
    <thetext>The patch no longer applies cleanly. Currently there is some special case code for mips64. I&apos;ve tried to access a suitable machine to check if this is still relevant, but no success so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2414768</commentid>
    <comment_count>7</comment_count>
    <who name="Paul Floyd">pjfloyd</who>
    <bug_when>2025-04-10 18:57:19 +0000</bug_when>
    <thetext>14 years later, thanks for the patch.

commit 3d7fdf7ecf2c0e50fc45a9ef97686f5a99261944 (HEAD -&gt; master, origin/master, origin/HEAD)
Author: Paul Floyd &lt;pjfloyd@wanadoo.fr&gt;
Date:   Sun May 19 11:55:30 2024 +0200

    Bug 290061 - pie elf always loaded at 0x108000
    
    Initial patch from Amir Szekely &lt;kichik@gmail.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2414838</commentid>
    <comment_count>8</comment_count>
    <who name="Amir Szekely">kichik</who>
    <bug_when>2025-04-11 01:00:47 +0000</bug_when>
    <thetext>Blast from the past. Thanks for fixing it!

You might want to consider closing #138424 too.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67208</attachid>
            <date>2011-12-29 00:11:39 +0000</date>
            <delta_ts>2011-12-29 01:51:13 +0000</delta_ts>
            <desc>suggested fix</desc>
            <filename>elf_pie_load_fix.patch</filename>
            <type>text/plain</type>
            <size>1841</size>
            <attacher name="Amir Szekely">kichik</attacher>
            
              <data encoding="base64">SW5kZXg6IGVsZi5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZWxmLmMJKHJldmlzaW9uIDEyMzIyKQ0KKysr
IGVsZi5jCSh3b3JraW5nIGNvcHkpDQpAQCAtMjc0LDggKzI3NCw4IEBADQogICAgICByZXF1aXJl
ZC4gIG1hcGVsZigpIHJldHVybnMgdGhlIGFkZHJlc3MganVzdCBiZXlvbmQgdGhlIGVuZCBvZgog
ICAgICB0aGUgZnVydGhlc3QtYWxvbmcgbWFwcGluZyBpdCBjcmVhdGVzLiAgVGhlIGV4ZWN1dGFi
bGUgaXMgbWFwcGVkCiAgICAgIHN0YXJ0aW5nIGF0IEVCQVNFLCB3aGljaCBpcyB1c3VhbGx5IHJl
YWQgZnJvbSBpdCAoZWcsIDB4ODA0ODAwMAotICAgICBldGMpIGV4Y2VwdCBpZiBpdCdzIGEgUElF
LCBpbiB3aGljaCBjYXNlIEknbSBub3Qgc3VyZSB3aGF0Ci0gICAgIGhhcHBlbnMuCisgICAgIGV0
YykgZXhjZXB0IGlmIGl0J3MgYSBQSUUsIGluIHdoaWNoIGNhc2UgYXNwYWNlbSBpcyBxdWVyaWVk
IGZvcgorICAgICB0aGUgZmlyc3QgYWRlcXVhdGVseSBzaXplZCBzZWdlbWVudC4KIAogICAgICBU
aGUgcmV0dXJuZWQgYWRkcmVzcyBpcyByZWNvcmRlZCBpbiBpbmZvLT5icmtiYXNlIGFzIHRoZSBz
dGFydAogICAgICBwb2ludCBvZiB0aGUgYnJrIChkYXRhKSBzZWdtZW50LCBhcyBpdCBpcyB0cmFk
aXRpb25hbCB0byBwbGFjZQpAQCAtMzI1LDEwICszMjUsOCBAQA0KICAgICAgIHJldHVybiBWS0lf
RU5PRVhFQzsKIAogICAgLyogVGhlIGtlcm5lbCBtYXBzIHBvc2l0aW9uLWluZGVwZW5kZW50IGV4
ZWN1dGFibGVzIGF0IFRBU0tfU0laRSoyLzM7Ci0gICAgICBkdXBsaWNhdGUgdGhpcyBiZWhhdmlv
ciBhcyBjbG9zZSBhcyB3ZSBjYW4uICovCisgICAgICBmb3IgdXMgaXQncyBnb29kIGVub3VnaCB0
byBqdXN0IGxvYWQgaXQgc29tZXdoZXJlIHdpdGggZW5vdWdoIGZyZWUgc3BhY2UuICovCiAgICBp
ZiAoZS0+ZS5lX3R5cGUgPT0gRVRfRFlOICYmIGViYXNlID09IDApIHsKLSAgICAgIGViYXNlID0g
VkdfUEdST1VOREROKGluZm8tPmV4ZV9iYXNlIAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
KyAoaW5mby0+ZXhlX2VuZCAtIGluZm8tPmV4ZV9iYXNlKSAqIDIgLyAzKTsKICAgICAgIC8qIFdl
IHJlYWxseSBkb24ndCB3YW50IHRvIGxvYWQgUElFcyBhdCB6ZXJvIG9yIHRvbyBjbG9zZS4gIEl0
CiAgICAgICAgICB3b3JrcywgYnV0IGl0J3MgdW5yb2J1c3QgKE5VTEwgcG9pbnRlciByZWFkcyBh
bmQgd3JpdGVzCiAgICAgICAgICBiZWNvbWUgbGVnaXQsIHdoaWNoIGlzIHJlYWxseSBiYWQpIGFu
ZCBjYXVzZXMgcHJvYmxlbXMgZm9yCkBAIC0zMzgsNiArMzM2LDE1IEBADQogICAgICAgICAgd2hp
Y2ggdG90YWxseSBzY3Jld3MgdGhpbmdzIHVwLCBiZWNhdXNlIG5vdGhpbmcgZWxzZSBjYW4gZ28K
ICAgICAgICAgIHRoZXJlLiAgU28gYnVtcCB0aGUgaGFja3kgbG9hZCBhZGRlc3MgYWxvbmcgYnkg
MHg4MDAwLCB0bwogICAgICAgICAgMHgxMDgwMDAuICovCisKKyAgICAgIEJvb2wgb2sgPSBGYWxz
ZTsKKyAgICAgIGViYXNlID0gVkdfKGFtX2dldF9hZHZpc29yeV9jbGllbnRfc2ltcGxlKSggMCwg
ZS0+cC0+cF9maWxlc3osICZvayApOworCisgICAgICBpZiAoIW9rKSB7CisgICAgICAgICBWR18o
cHJpbnRmKSggIkNhbm5vdCBmaW5kIHNlZ21lbnQgbGFyZ2UgZW5vdWdoIHRvIGNvbnRhaW4gJXAg
Ynl0ZXNcbiIsIGUtPnAtPnBfZmlsZXN6ICk7CisgICAgICAgICByZXR1cm4gVktJX0VOT01FTTsK
KyAgICAgIH0KKwogICAgICAgaWYgKGViYXNlIDwgMHgxMDgwMDApCiAgICAgICAgICBlYmFzZSA9
IDB4MTA4MDAwOwogICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>67209</attachid>
            <date>2011-12-29 00:12:49 +0000</date>
            <delta_ts>2011-12-29 00:12:49 +0000</delta_ts>
            <desc>error log from 3.4.1 run</desc>
            <filename>error.log</filename>
            <type>application/octet-stream</type>
            <size>3494</size>
            <attacher name="Amir Szekely">kichik</attacher>
            
              <data encoding="base64">dmFsZ3JpbmQgLWQgLWQgcmFuZG9tXzNtYl9lbGYKLS0xODMwMjoxOmRlYnVnbG9nIERlYnVnTG9n
IHN5c3RlbSBzdGFydGVkIGJ5IFN0YWdlIDEsIGxldmVsIDIgbG9nZ2luZyByZXF1ZXN0ZWQKLS0x
ODMwMjoxOmxhdW5jaGVyIG5vIHRvb2wgcmVxdWVzdGVkLCBkZWZhdWx0aW5nIHRvICdtZW1jaGVj
aycKLS0xODMwMjoxOmxhdW5jaGVyIHNlbGVjdGVkIHBsYXRmb3JtICd4ODYtbGludXgnCi0tMTgz
MDI6MTpsYXVuY2hlciBsYXVuY2hpbmcgL3Vzci9saWIvdmFsZ3JpbmQveDg2LWxpbnV4L21lbWNo
ZWNrCi0tMTgzMDI6MTpkZWJ1Z2xvZyBEZWJ1Z0xvZyBzeXN0ZW0gc3RhcnRlZCBieSBTdGFnZSAy
IChtYWluKSwgbGV2ZWwgMiBsb2dnaW5nIHJlcXVlc3RlZAotLTE4MzAyOjE6bWFpbiAgICAgV2Vs
Y29tZSB0byBWYWxncmluZCB2ZXJzaW9uIDMuNC4xIGRlYnVnIGxvZ2dpbmcKLS0xODMwMjoxOm1h
aW4gICAgIENoZWNraW5nIGN1cnJlbnQgc3RhY2sgaXMgcGxhdXNpYmxlCi0tMTgzMDI6MTptYWlu
ICAgICBDaGVja2luZyBpbml0aWFsIHN0YWNrIHdhcyBub3RlZAotLTE4MzAyOjE6bWFpbiAgICAg
U3RhcnRpbmcgdGhlIGFkZHJlc3Mgc3BhY2UgbWFuYWdlcgotLTE4MzAyOjI6YXNwYWNlbSAgICAg
ICAgICAgIHNwX2F0X3N0YXJ0dXAgPSAweDAwYmZlNmJjYTAgKHN1cHBsaWVkKQotLTE4MzAyOjI6
YXNwYWNlbSAgICAgICAgICAgICAgICAgIG1pbkFkZHIgPSAweDAwMDQwMDAwMDAgKGNvbXB1dGVk
KQotLTE4MzAyOjI6YXNwYWNlbSAgICAgICAgICAgICAgICAgIG1heEFkZHIgPSAweDAwYmZlNmFm
ZmYgKGNvbXB1dGVkKQotLTE4MzAyOjI6YXNwYWNlbSAgICAgICAgICAgICAgICAgICBjU3RhcnQg
PSAweDAwMDQwMDAwMDAgKGNvbXB1dGVkKQotLTE4MzAyOjI6YXNwYWNlbSAgICAgICAgICAgICAg
ICAgICB2U3RhcnQgPSAweDAwNjFmMzYwMDAgKGNvbXB1dGVkKQotLTE4MzAyOjI6YXNwYWNlbSAg
ICBzdWdnZXN0ZWRfY2xzdGFja190b3AgPSAweDAwYmVlNmJmZmYgKGNvbXB1dGVkKQotLTE4MzAy
OjI6YXNwYWNlbSAgICA8PDwgU0hPV19TRUdNRU5UUzogSW5pdGlhbCBsYXlvdXQgKDUgc2VnbWVu
dHMsIDAgc2VnbmFtZXMpCi0tMTgzMDI6Mjphc3BhY2VtICAgICAgMDogUlNWTiAwMDAwMDAwMDAw
LTAwMDNmZmZmZmYgICAgIDY0bSAtLS0tLSBTbUZpeGVkCi0tMTgzMDI6Mjphc3BhY2VtICAgICAg
MTogICAgICAwMDA0MDAwMDAwLTAwNjFmMzVmZmYgICAxNTAzbQotLTE4MzAyOjI6YXNwYWNlbSAg
ICAgIDI6IFJTVk4gMDA2MWYzNjAwMC0wMDYxZjM2ZmZmICAgIDQwOTYgLS0tLS0gU21GaXhlZAot
LTE4MzAyOjI6YXNwYWNlbSAgICAgIDM6ICAgICAgMDA2MWYzNzAwMC0wMGJmZTZhZmZmICAgMTUw
M20KLS0xODMwMjoyOmFzcGFjZW0gICAgICA0OiBSU1ZOIDAwYmZlNmIwMDAtMDBmZmZmZmZmZiAg
IDEwMjVtIC0tLS0tIFNtRml4ZWQKLS0xODMwMjoyOmFzcGFjZW0gICAgPj4+Ci0tMTgzMDI6Mjph
c3BhY2VtICAgIFJlYWRpbmcgL3Byb2Mvc2VsZi9tYXBzCi0tMTgzMDI6Mjphc3BhY2VtICAgIDw8
PCBTSE9XX1NFR01FTlRTOiBXaXRoIGNvbnRlbnRzIG9mIC9wcm9jL3NlbGYvbWFwcyAoMTIgc2Vn
bWVudHMsIDEgc2VnbmFtZXMpCi0tMTgzMDI6Mjphc3BhY2VtICAgICggMCkgL3Vzci9saWIvdmFs
Z3JpbmQveDg2LWxpbnV4L21lbWNoZWNrCi0tMTgzMDI6Mjphc3BhY2VtICAgICAgMDogUlNWTiAw
MDAwMDAwMDAwLTAwMDAzMTBmZmYgMzIxNTM2MCAtLS0tLSBTbUZpeGVkCi0tMTgzMDI6Mjphc3Bh
Y2VtICAgICAgMTogQU5PTiAwMDAwMzExMDAwLTAwMDAzMTFmZmYgICAgNDA5NiByLXgtLQotLTE4
MzAyOjI6YXNwYWNlbSAgICAgIDI6IFJTVk4gMDAwMDMxMjAwMC0wMDAzZmZmZmZmICAgICA2MG0g
LS0tLS0gU21GaXhlZAotLTE4MzAyOjI6YXNwYWNlbSAgICAgIDM6ICAgICAgMDAwNDAwMDAwMC0w
MDM3ZmZmZmZmICAgIDgzMm0KLS0xODMwMjoyOmFzcGFjZW0gICAgICA0OiBGSUxFIDAwMzgwMDAw
MDAtMDAzODFiY2ZmZiAxODIyNzIwIHIteC0tIGQ9MHg4MDEgaT0zMzI5MTIgIG89MCAgICAgICAo
MCkKLS0xODMwMjoyOmFzcGFjZW0gICAgICA1OiBGSUxFIDAwMzgxYmQwMDAtMDAzODFiZGZmZiAg
ICA0MDk2IHJ3LS0tIGQ9MHg4MDEgaT0zMzI5MTIgIG89MTgxODYyNCAoMCkKLS0xODMwMjoyOmFz
cGFjZW0gICAgICA2OiBBTk9OIDAwMzgxYmUwMDAtMDAzODhkYmZmZiA3NDYyOTEyIHJ3LS0tCi0t
MTgzMDI6Mjphc3BhY2VtICAgICAgNzogICAgICAwMDM4OGRjMDAwLTAwNjFmMzVmZmYgICAgNjYy
bQotLTE4MzAyOjI6YXNwYWNlbSAgICAgIDg6IFJTVk4gMDA2MWYzNjAwMC0wMDYxZjM2ZmZmICAg
IDQwOTYgLS0tLS0gU21GaXhlZAotLTE4MzAyOjI6YXNwYWNlbSAgICAgIDk6ICAgICAgMDA2MWYz
NzAwMC0wMGJmZTU2ZmZmICAgMTUwM20KLS0xODMwMjoyOmFzcGFjZW0gICAgIDEwOiBBTk9OIDAw
YmZlNTcwMDAtMDBiZmU2YmZmZiAgIDg2MDE2IHJ3LS0tCi0tMTgzMDI6Mjphc3BhY2VtICAgICAx
MTogUlNWTiAwMGJmZTZjMDAwLTAwZmZmZmZmZmYgICAxMDI1bSAtLS0tLSBTbUZpeGVkCi0tMTgz
MDI6Mjphc3BhY2VtICAgID4+PgotLTE4MzAyOjE6bWFpbiAgICAgQWRkcmVzcyBzcGFjZSBtYW5h
Z2VyIGlzIHJ1bm5pbmcKLS0xODMwMjoxOm1haW4gICAgIFN0YXJ0aW5nIHRoZSBkeW5hbWljIG1l
bW9yeSBtYW5hZ2VyCi0tMTgzMDI6MTptYWxsb2NmciBuZXdTdXBlcmJsb2NrIGF0IDB4NjFGMzcw
MDAgKHBzekIgNDE5NDI4OCkgb3duZXIgVkFMR1JJTkQvdG9vbAotLTE4MzAyOjE6bWFpbiAgICAg
RHluYW1pYyBtZW1vcnkgbWFuYWdlciBpcyBydW5uaW5nCi0tMTgzMDI6MTptYWluICAgICBJbml0
aWFsaXNlIG1fZGVidWdpbmZvCi0tMTgzMDI6MTptYWluICAgICBHZXR0aW5nIHN0YWdlMSdzIG5h
bWUKLS0xODMwMjoxOm1haW4gICAgIEdldCBoYXJkd2FyZSBjYXBhYmlsaXRpZXMgLi4uCi0tMTgz
MDI6MTptYWluICAgICAuLi4gYXJjaCA9IFg4NiwgaHdjYXBzID0geDg2LXNzZTEtc3NlMgotLTE4
MzAyOjE6bWFpbiAgICAgR2V0dGluZyB0aGUgd29ya2luZyBkaXJlY3RvcnkgYXQgc3RhcnR1cAot
LTE4MzAyOjE6bWFpbiAgICAgLi4uIC9tbnQvZGlzazIvaG9tZS9raWNoaWsvYWx0b3IvYWdlbnQt
dHJ1bmsKLS0xODMwMjoxOm1haW4gICAgIFNwbGl0IHVwIGNvbW1hbmQgbGluZQotLTE4MzAyOjE6
bWFpbiAgICAgKGVhcmx5XykgUHJvY2VzcyBWYWxncmluZCdzIGNvbW1hbmQgbGluZSBvcHRpb25z
Ci0tMTgzMDI6MTptYWluICAgICBDcmVhdGUgaW5pdGlhbCBpbWFnZQotLTE4MzAyOjE6aW5pdGlt
ZyAgTG9hZGluZyBjbGllbnQKdmFsZ3JpbmQ6IG1tYXAoMHgxMDgwMDAsIDI1ODA0ODApIGZhaWxl
ZCBpbiBVTUUgd2l0aCBlcnJvciAyMiAoSW52YWxpZCBhcmd1bWVudCkuCnZhbGdyaW5kOiB0aGlz
IGNhbiBiZSBjYXVzZWQgYnkgZXhlY3V0YWJsZXMgd2l0aCB2ZXJ5IGxhcmdlIHRleHQsIGRhdGEg
b3IgYnNzIHNlZ21lbnRzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67212</attachid>
            <date>2011-12-29 01:51:13 +0000</date>
            <delta_ts>2011-12-29 01:51:13 +0000</delta_ts>
            <desc>suggested fix (with proper svn diff)</desc>
            <filename>elf_pie_load_fix.patch</filename>
            <type>text/plain</type>
            <size>1882</size>
            <attacher name="Amir Szekely">kichik</attacher>
            
              <data encoding="base64">SW5kZXg6IGNvcmVncmluZC9tX3VtZS9lbGYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjb3JlZ3JpbmQvbV91
bWUvZWxmLmMJKHJldmlzaW9uIDEyMzIyKQorKysgY29yZWdyaW5kL21fdW1lL2VsZi5jCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNzQsOCArMjc0LDggQEAKICAgICAgcmVxdWlyZWQuICBtYXBlbGYoKSBy
ZXR1cm5zIHRoZSBhZGRyZXNzIGp1c3QgYmV5b25kIHRoZSBlbmQgb2YKICAgICAgdGhlIGZ1cnRo
ZXN0LWFsb25nIG1hcHBpbmcgaXQgY3JlYXRlcy4gIFRoZSBleGVjdXRhYmxlIGlzIG1hcHBlZAog
ICAgICBzdGFydGluZyBhdCBFQkFTRSwgd2hpY2ggaXMgdXN1YWxseSByZWFkIGZyb20gaXQgKGVn
LCAweDgwNDgwMDAKLSAgICAgZXRjKSBleGNlcHQgaWYgaXQncyBhIFBJRSwgaW4gd2hpY2ggY2Fz
ZSBJJ20gbm90IHN1cmUgd2hhdAotICAgICBoYXBwZW5zLgorICAgICBldGMpIGV4Y2VwdCBpZiBp
dCdzIGEgUElFLCBpbiB3aGljaCBjYXNlIGFzcGFjZW0gaXMgcXVlcmllZCBmb3IKKyAgICAgdGhl
IGZpcnN0IGFkZXF1YXRlbHkgc2l6ZWQgc2VnZW1lbnQuCiAKICAgICAgVGhlIHJldHVybmVkIGFk
ZHJlc3MgaXMgcmVjb3JkZWQgaW4gaW5mby0+YnJrYmFzZSBhcyB0aGUgc3RhcnQKICAgICAgcG9p
bnQgb2YgdGhlIGJyayAoZGF0YSkgc2VnbWVudCwgYXMgaXQgaXMgdHJhZGl0aW9uYWwgdG8gcGxh
Y2UKQEAgLTMyNSwxMCArMzI1LDggQEAKICAgICAgIHJldHVybiBWS0lfRU5PRVhFQzsKIAogICAg
LyogVGhlIGtlcm5lbCBtYXBzIHBvc2l0aW9uLWluZGVwZW5kZW50IGV4ZWN1dGFibGVzIGF0IFRB
U0tfU0laRSoyLzM7Ci0gICAgICBkdXBsaWNhdGUgdGhpcyBiZWhhdmlvciBhcyBjbG9zZSBhcyB3
ZSBjYW4uICovCisgICAgICBmb3IgdXMgaXQncyBnb29kIGVub3VnaCB0byBqdXN0IGxvYWQgaXQg
c29tZXdoZXJlIHdpdGggZW5vdWdoIGZyZWUgc3BhY2UuICovCiAgICBpZiAoZS0+ZS5lX3R5cGUg
PT0gRVRfRFlOICYmIGViYXNlID09IDApIHsKLSAgICAgIGViYXNlID0gVkdfUEdST1VOREROKGlu
Zm8tPmV4ZV9iYXNlIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAoaW5mby0+ZXhlX2Vu
ZCAtIGluZm8tPmV4ZV9iYXNlKSAqIDIgLyAzKTsKICAgICAgIC8qIFdlIHJlYWxseSBkb24ndCB3
YW50IHRvIGxvYWQgUElFcyBhdCB6ZXJvIG9yIHRvbyBjbG9zZS4gIEl0CiAgICAgICAgICB3b3Jr
cywgYnV0IGl0J3MgdW5yb2J1c3QgKE5VTEwgcG9pbnRlciByZWFkcyBhbmQgd3JpdGVzCiAgICAg
ICAgICBiZWNvbWUgbGVnaXQsIHdoaWNoIGlzIHJlYWxseSBiYWQpIGFuZCBjYXVzZXMgcHJvYmxl
bXMgZm9yCkBAIC0zMzgsNiArMzM2LDE1IEBACiAgICAgICAgICB3aGljaCB0b3RhbGx5IHNjcmV3
cyB0aGluZ3MgdXAsIGJlY2F1c2Ugbm90aGluZyBlbHNlIGNhbiBnbwogICAgICAgICAgdGhlcmUu
ICBTbyBidW1wIHRoZSBoYWNreSBsb2FkIGFkZGVzcyBhbG9uZyBieSAweDgwMDAsIHRvCiAgICAg
ICAgICAweDEwODAwMC4gKi8KKworICAgICAgQm9vbCBvayA9IEZhbHNlOworICAgICAgZWJhc2Ug
PSBWR18oYW1fZ2V0X2Fkdmlzb3J5X2NsaWVudF9zaW1wbGUpKCAwLCBlLT5wLT5wX2ZpbGVzeiwg
Jm9rICk7CisKKyAgICAgIGlmICghb2spIHsKKyAgICAgICAgIFZHXyhwcmludGYpKCAiQ2Fubm90
IGZpbmQgc2VnbWVudCBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiAlcCBieXRlc1xuIiwgZS0+cC0+
cF9maWxlc3ogKTsKKyAgICAgICAgIHJldHVybiBWS0lfRU5PTUVNOworICAgICAgfQorCiAgICAg
ICBpZiAoZWJhc2UgPCAweDEwODAwMCkKICAgICAgICAgIGViYXNlID0gMHgxMDgwMDA7CiAgICB9
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>