diff options
author | mcgrathr@chromium.org <mcgrathr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-06 00:30:02 +0000 |
---|---|---|
committer | mcgrathr@chromium.org <mcgrathr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-06 00:30:02 +0000 |
commit | 2e7efaf1ba5fc3ef21ff15c89ab45fade576707c (patch) | |
tree | 60fa697d8821b7273dbcb461e055d2b90c9c747c /chrome/nacl/nacl_helper_bootstrap_munge_phdr.c | |
parent | 00d41a8f6f4a844b97ef29ef9e55afb7faf20a64 (diff) | |
download | chromium_src-2e7efaf1ba5fc3ef21ff15c89ab45fade576707c.zip chromium_src-2e7efaf1ba5fc3ef21ff15c89ab45fade576707c.tar.gz chromium_src-2e7efaf1ba5fc3ef21ff15c89ab45fade576707c.tar.bz2 |
Use nacl_helper_bootstrap from native_client repository
These sources have been moved over to the native_client repository.
Remove them from chromium/src altogether and just make the gyp files
refer to the native_client stuff.
BUG= none
TEST= linux still builds
R=sehr@google.com,noelallen@chromium.org
Review URL: http://codereview.chromium.org/8799016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113074 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/nacl/nacl_helper_bootstrap_munge_phdr.c')
-rw-r--r-- | chrome/nacl/nacl_helper_bootstrap_munge_phdr.c | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/chrome/nacl/nacl_helper_bootstrap_munge_phdr.c b/chrome/nacl/nacl_helper_bootstrap_munge_phdr.c deleted file mode 100644 index 87fe73f..0000000 --- a/chrome/nacl/nacl_helper_bootstrap_munge_phdr.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright (c) 2011 The Chromium Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - * - * This is a trivial program to edit an ELF file in place, making - * one crucial modification to a program header. It's invoked: - * bootstrap_phdr_hacker FILENAME SEGMENT_NUMBER - * where SEGMENT_NUMBER is the zero-origin index of the program header - * we'll touch. This is a PT_LOAD with p_filesz of zero. We change its - * p_filesz to match its p_memsz value. - */ - -#include <errno.h> -#include <error.h> -#include <fcntl.h> -#include <gelf.h> -#include <libelf.h> -#include <stdlib.h> -#include <unistd.h> - -int main(int argc, char **argv) { - if (argc != 3) - error(1, 0, "Usage: %s FILENAME SEGMENT_NUMBER", argv[0]); - - const char *const file = argv[1]; - const int segment = atoi(argv[2]); - - int fd = open(file, O_RDWR); - if (fd < 0) - error(2, errno, "Cannot open %s for read/write", file); - - if (elf_version(EV_CURRENT) == EV_NONE) - error(2, 0, "elf_version: %s", elf_errmsg(-1)); - - Elf *elf = elf_begin(fd, ELF_C_RDWR, NULL); - if (elf == NULL) - error(2, 0, "elf_begin: %s", elf_errmsg(-1)); - - if (elf_flagelf(elf, ELF_C_SET, ELF_F_LAYOUT) == 0) - error(2, 0, "elf_flagelf: %s", elf_errmsg(-1)); - - GElf_Phdr phdr; - GElf_Phdr *ph = gelf_getphdr(elf, segment, &phdr); - if (ph == NULL) - error(2, 0, "gelf_getphdr: %s", elf_errmsg(-1)); - - if (ph->p_type != PT_LOAD) - error(3, 0, "Program header %d is %u, not PT_LOAD", - segment, (unsigned int) ph->p_type); - if (ph->p_filesz != 0) - error(3, 0, "Program header %d has nonzero p_filesz", segment); - - ph->p_filesz = ph->p_memsz; - if (gelf_update_phdr(elf, segment, ph) == 0) - error(2, 0, "gelf_update_phdr: %s", elf_errmsg(-1)); - - if (elf_flagphdr(elf, ELF_C_SET, ELF_F_DIRTY) == 0) - error(2, 0, "elf_flagphdr: %s", elf_errmsg(-1)); - - if (elf_update(elf, ELF_C_WRITE) < 0) - error(2, 0, "elf_update: %s", elf_errmsg(-1)); - - close(fd); - - return 0; -} |