summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/strip.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a384ed67..81229034 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2005-08-07 Roland McGrath <[email protected]>
+
+ * strip.c (process_file): Open read-only when using a different output
+ file.
+
2005-08-06 Ulrich Drepper <[email protected]>
* elflint.c (in_nobits_scn): New function.
diff --git a/src/strip.c b/src/strip.c
index 214513c4..2de5d6b8 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -274,7 +274,7 @@ process_file (const char *fname)
}
/* Open the file. */
- int fd = open (fname, O_RDWR);
+ int fd = open (fname, output_fname == NULL ? O_RDWR : O_RDONLY);
if (fd == -1)
{
error (0, errno, gettext ("while opening \"%s\""), fname);
@@ -300,7 +300,8 @@ process_file (const char *fname)
}
/* Now get the ELF descriptor. */
- Elf *elf = elf_begin (fd, ELF_C_RDWR, NULL);
+ Elf *elf = elf_begin (fd, output_fname == NULL ? ELF_C_RDWR : ELF_C_READ,
+ NULL);
int result;
switch (elf_kind (elf))
{