* elf/dl-load.c [__WORDSIZE==64] (FILEBUF_SIZE): Adjust the value

up.  We have more program header entries now and the note section
	was normally not loaded.
This commit is contained in:
Ulrich Drepper 2005-07-30 21:15:22 +00:00
parent 1ce359b0fc
commit 23e2554f5b
2 changed files with 11 additions and 7 deletions

View File

@ -1,5 +1,9 @@
2005-07-30 Ulrich Drepper <drepper@redhat.com> 2005-07-30 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c [__WORDSIZE==64] (FILEBUF_SIZE): Adjust the value
up. We have more program header entries now and the note section
was normally not loaded.
* nis/nis_subr.c: Some minor code cleanups. * nis/nis_subr.c: Some minor code cleanups.
2005-07-29 Ulrich Drepper <drepper@redhat.com> 2005-07-29 Ulrich Drepper <drepper@redhat.com>

View File

@ -122,19 +122,19 @@ int __stack_prot attribute_hidden attribute_relro
question is how large are the ELF and program header combined. The question is how large are the ELF and program header combined. The
ELF header 32-bit files is 52 bytes long and in 64-bit files is 64 ELF header 32-bit files is 52 bytes long and in 64-bit files is 64
bytes long. Each program header entry is again 32 and 56 bytes bytes long. Each program header entry is again 32 and 56 bytes
long respectively. I.e., even with a file which has 7 program long respectively. I.e., even with a file which has 10 program
header entries we only have to read 512B. Add to this a bit of header entries we only have to read 372B/624B respectively. Add to
margin for program notes and reading 512B and 640B for 32-bit and this a bit of margin for program notes and reading 512B and 832B
64-bit files respecitvely is enough. If this heuristic should for 32-bit and 64-bit files respecitvely is enough. If this
really fail for some file the code in `_dl_map_object_from_fd' heuristic should really fail for some file the code in
knows how to recover. */ `_dl_map_object_from_fd' knows how to recover. */
struct filebuf struct filebuf
{ {
ssize_t len; ssize_t len;
#if __WORDSIZE == 32 #if __WORDSIZE == 32
# define FILEBUF_SIZE 512 # define FILEBUF_SIZE 512
#else #else
# define FILEBUF_SIZE 640 # define FILEBUF_SIZE 832
#endif #endif
char buf[FILEBUF_SIZE] __attribute__ ((aligned (__alignof (ElfW(Ehdr))))); char buf[FILEBUF_SIZE] __attribute__ ((aligned (__alignof (ElfW(Ehdr)))));
}; };