diff options
author | Roland McGrath <roland@redhat.com> | 2006-12-17 23:56:51 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2006-12-17 23:56:51 +0000 |
commit | 8190db6a86a37aec86c81626ab1b083c96aff891 (patch) | |
tree | 2b065733f6ee44885a447e9506fae59518076048 /src | |
parent | 7c0e79ffc201e4828a050b35f2c9d96e3001cb48 (diff) | |
download | elfutils-8190db6a86a37aec86c81626ab1b083c96aff891.tar.gz |
propagate from branch 'com.redhat.elfutils' (head b4944cf70801d9dac056f4f80ef1334e5acb8bdc)
to branch 'com.redhat.elfutils.roland.pending' (head e7e402c668fb0670fc5f6b6a522853ae88f32f11)
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 13 | ||||
-rw-r--r-- | src/Makefile.am | 6 | ||||
-rw-r--r-- | src/elflint.c | 3 | ||||
-rw-r--r-- | src/strip.c | 4 |
4 files changed, 20 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e89f6c0b..190c6732 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -4,6 +4,19 @@ two hash tables have different content (module expected omission of undefined symbols). +2006-10-31 Roland McGrath <roland@redhat.com> + + * elflint.c (check_program_header): Don't complain about + p_filesz > p_memsz if p_memsz is zero and p_type is not PT_LOAD. + +2006-09-19 Jakub Jelinek <jakub@redhat.com> + + * strip.c (process_file): Disallow -f on archives. + +2006-10-09 Roland McGrath <roland@redhat.com> + + * Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC). + 2006-08-29 Roland McGrath <roland@redhat.com> * Makefile.am (MAINTAINERCLEANFILES): New variable. diff --git a/src/Makefile.am b/src/Makefile.am index 470a6b3a..7c9eb842 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -133,9 +133,9 @@ am_libld_elf_i386_pic_a_OBJECTS = i386_ld.os libld_elf_i386_so_SOURCES = libld_elf_i386.so: libld_elf_i386_pic.a libld_elf_i386.map - $(CC) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - $(libelf) $(libeu) \ - -Wl,--version-script,$(srcdir)/libld_elf_i386.map + $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ + $(libelf) $(libeu) \ + -Wl,--version-script,$(srcdir)/libld_elf_i386.map $(textrel_check) endif diff --git a/src/elflint.c b/src/elflint.c index e5917392..06930ca8 100644 --- a/src/elflint.c +++ b/src/elflint.c @@ -3829,7 +3829,8 @@ loadable segment GNU_RELRO applies to is executable\n")); program header offset in ELF header and PHDR entry do not match")); } - if (phdr->p_filesz > phdr->p_memsz) + if (phdr->p_filesz > phdr->p_memsz + && (phdr->p_memsz != 0 || phdr->p_type == PT_LOAD)) ERROR (gettext ("\ program header entry %d: file size greater than memory size\n"), cnt); diff --git a/src/strip.c b/src/strip.c index fc6ddf50..4c6b7bfb 100644 --- a/src/strip.c +++ b/src/strip.c @@ -344,9 +344,9 @@ process_file (const char *fname) case ELF_K_AR: /* It is not possible to strip the content of an archive direct the output to a specific file. */ - if (unlikely (output_fname != NULL)) + if (unlikely (output_fname != NULL || debug_fname != NULL)) { - error (0, 0, gettext ("%s: cannot use -o when stripping archive"), + error (0, 0, gettext ("%s: cannot use -o or -f when stripping archive"), fname); result = 1; } |