| Index: elf/nacl_fixup_ldso.py
|
| diff --git a/elf/nacl_fixup_ldso.py b/elf/nacl_fixup_ldso.py
|
| index 4084d6d458613519dadd2efac742e65ffbbaf131..a5eb1f9eea1e32680b10909f76a2c97bb4ab61b1 100644
|
| --- a/elf/nacl_fixup_ldso.py
|
| +++ b/elf/nacl_fixup_ldso.py
|
| @@ -43,6 +43,19 @@ def main(args):
|
| check("B", offset_e_type, ET_DYN)
|
| replace("B", offset_e_type, ET_EXEC)
|
|
|
| + # sel_ldr rejects ELF Program Headers other than PT_LOAD.
|
| + # Drop PT_DYNAMIC, PT_GNU_STACK and PT_TLS.
|
| + fh.seek(offset_ei_class)
|
| + elfclass = fh.read(1)
|
| + if elfclass == elfclass32:
|
| + check("H", offset_e_phnum32, 7)
|
| + replace("H", offset_e_phnum32, 3)
|
| + elif elfclass == elfclass64:
|
| + check("H", offset_e_phnum64, 7)
|
| + replace("H", offset_e_phnum64, 3)
|
| + else:
|
| + raise AssertionError("Unknown ELF class in file %s." % filename)
|
| +
|
| fh.close()
|
|
|
|
|
|
|