mirror of git://sourceware.org/git/glibc.git
* 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:
parent
1ce359b0fc
commit
23e2554f5b
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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)))));
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue