Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | * Don't clobber previously written sections. | Eelco Dolstra | 2008-06-03 | 1 | -3/+13 |
| | |||||
* | * Overwriting replaced sections with 'X's revealed a bug: we weren't | Eelco Dolstra | 2008-05-29 | 1 | -1/+7 |
| | | | | | | updating the DT_GNU_HASH field in the .dynamic section, which is a problem when we move the .gnu.hash section. | ||||
* | * Ancient FreeBSD compat. | Eelco Dolstra | 2008-05-29 | 1 | -0/+4 |
| | |||||
* | * Support executables without a .dynamic section (klcc generates | Eelco Dolstra | 2008-05-28 | 1 | -33/+36 |
| | | | | | 'em). | ||||
* | * More duplicate code removal. | Eelco Dolstra | 2008-05-28 | 1 | -143/+120 |
| | |||||
* | * Removed some duplicate code (and work around an apparent g++ code | Eelco Dolstra | 2008-05-28 | 1 | -83/+40 |
| | | | | | generation bug). | ||||
* | * When reordering the section headers, the e_shstrndx field in the ELF | Eelco Dolstra | 2008-05-28 | 1 | -1/+7 |
| | | | | | header should be updated as well. | ||||
* | * Add the DT_RUNPATH (or DT_RPATH) entry to the top of the .dynamic | Eelco Dolstra | 2008-05-28 | 1 | -11/+8 |
| | | | | | section, otherwise "readelf" barfs for unknown reasons. | ||||
* | * A first attempt at --set-rpath support for libraries. This is very | Eelco Dolstra | 2008-05-28 | 1 | -3/+170 |
| | | | | | | | | | | useful for the NVIDIA libGL.so, since setting an RPATH on libGL.so to include its dependencies (like libXext and libGLcore) makes it unnecessary to set an RPATH on the executables that use it. This is especially important for executables that use RUNPATH (like Wine) since there the paths in RUNPATH are ignored when resolving the dependencies of dependencies (i.e. RUNPATH is scoped). | ||||
* | * Support DT_RUNPATH (in fact, prefer DT_RUNPATH over DT_RPATH unless | Eelco Dolstra | 2008-05-27 | 1 | -9/+49 |
| | | | | | --force-rpath is set). | ||||
* | * Sort the program headers. This makes "strip" contain less about | Eelco Dolstra | 2008-05-27 | 1 | -1/+27 |
| | | | | | | the resulting executables (but unfortunately doesn't fix NIXPKGS-85). | ||||
* | * Typos. | Eelco Dolstra | 2008-05-27 | 1 | -2/+2 |
| | |||||
* | * patchelf: fix compilation on GCC 4.3.0. | Eelco Dolstra | 2008-05-21 | 1 | -1/+1 |
| | |||||
* | * Compilation fixes for FreeBSD 4. | Eelco Dolstra | 2008-05-09 | 1 | -0/+22 |
| | |||||
* | * Remove debug lines. | Eelco Dolstra | 2007-12-07 | 1 | -3/+0 |
| | |||||
* | * Various 64-bit fixes. Computation of the first page to use was | Eelco Dolstra | 2007-12-07 | 1 | -24/+28 |
| | | | | | | | | | incorrect if the ELF image maps everything above 2^32 (which seems to be the case for IA-64, which has the code starting at 0x4000000000000000). * IA-64 support. Not tested since I don't have an IA-64 machine, but readelf doesn't complain about the resulting executable. | ||||
* | * When sorting the sections, make sure that we maintain the sh_link | Eelco Dolstra | 2007-02-01 | 1 | -10/+49 |
| | | | | | and sh_info fields. Tricky. | ||||
* | * Keep the section headers sorted by offset. If we don't, we won't | Eelco Dolstra | 2007-02-01 | 1 | -6/+50 |
| | | | | | | correctly find the sections to be moved and some might be overwritten. | ||||
* | * Support big endian binaries (such as on powerpc-linux). | Eelco Dolstra | 2007-01-31 | 1 | -88/+115 |
| | |||||
* | * .rel.plt is called .rela.plt on x86_64-linux. | Eelco Dolstra | 2007-01-31 | 1 | -2/+6 |
| | |||||
* | * Instantiate the right template depending on whether the file is 32 | Eelco Dolstra | 2007-01-31 | 1 | -16/+39 |
| | | | | | | or 64 bits. (This is done at runtime, so patchelf can patch 32 *and* 64-bit executables on both 32 and 64-bit platforms). | ||||
* | * Templatise the ElfFile class to take the Elf32_* types as | Eelco Dolstra | 2007-01-31 | 1 | -59/+74 |
| | | | | | | arguments. The idea is that we can just pass the Elf64_* types to get a 64-bit version of the class. | ||||
* | * Put the ELF operations in a class. | Eelco Dolstra | 2007-01-31 | 1 | -35/+77 |
| | |||||
* | * Print error messages on stderr. | Eelco Dolstra | 2007-01-31 | 1 | -2/+2 |
| | |||||
* | * Hack: if we can't find .rel.dyn, use .rel.got. No idea if this | Eelco Dolstra | 2006-03-03 | 1 | -5/+20 |
| | | | | | makes sense. | ||||
* | * `--interpreter' -> `--set-interpreter'. | Eelco Dolstra | 2005-10-11 | 1 | -2/+2 |
| | |||||
* | * A `--debug' flag. | Eelco Dolstra | 2005-10-04 | 1 | -16/+36 |
| | |||||
* | * Fix computation of the new start page. | Eelco Dolstra | 2005-10-03 | 1 | -15/+22 |
| | |||||
* | * Use a bigger maximum size. | Eelco Dolstra | 2005-10-02 | 1 | -1/+2 |
| | |||||
* | * Handle the case where no RPATH is present, so the .dynamic table has | Eelco Dolstra | 2005-10-01 | 1 | -75/+129 |
| | | | | | to be increased. | ||||
* | * Handle `--set-rpath' for the growing case. | Eelco Dolstra | 2005-09-30 | 1 | -12/+39 |
| | |||||
* | * `patchelf --set-rpath': short case. | Eelco Dolstra | 2005-09-30 | 1 | -11/+28 |
| | |||||
* | * Refactoring continued: `--shrink-rpath' works again. | Eelco Dolstra | 2005-09-30 | 1 | -134/+61 |
| | |||||
* | * Clear out trailing and padding space. | Eelco Dolstra | 2005-09-30 | 1 | -1/+6 |
| | |||||
* | * Refactoring continued: `--set-interpreter' works again. | Eelco Dolstra | 2005-09-30 | 1 | -49/+91 |
| | |||||
* | * Start of refactoring to support growing the RPATH. | Eelco Dolstra | 2005-09-30 | 1 | -28/+207 |
| | |||||
* | * C++-ify. | Eelco Dolstra | 2005-09-30 | 1 | -96/+92 |
| | |||||
* | * Use a real programming language. | Eelco Dolstra | 2005-09-30 | 2 | -5/+5 |
| | |||||
* | * Add an operation `--print-rpath' to print the RPATH of the library | Eelco Dolstra | 2005-09-29 | 1 | -2/+12 |
| | | | | | or executable and exit. | ||||
* | * Added a flag `--print-interpreter' that prints the path of the | Eelco Dolstra | 2005-09-29 | 1 | -3/+16 |
| | | | | | executable's ELF interpreter on standard output and exits. | ||||
* | * Add tests. | Eelco Dolstra | 2005-09-29 | 2 | -0/+413 |