mirror of
git://git.musl-libc.org/musl
synced 2025-03-06 20:48:29 +01:00
don't fail to map library/executable with zero-length segment maps
reportedly the GNU linker can emit such segments, causing spurious failure to load due to mmap with a length of zero producing EINVAL. no action is required for such a load map (it's effectively a nop in the program headers table) so just treat it as always successful.
This commit is contained in:
parent
e48e99c112
commit
cfdfd5ea3c
1 changed files with 1 additions and 0 deletions
|
@ -579,6 +579,7 @@ static void *mmap_fixed(void *p, size_t n, int prot, int flags, int fd, off_t of
|
|||
{
|
||||
static int no_map_fixed;
|
||||
char *q;
|
||||
if (!n) return p;
|
||||
if (!no_map_fixed) {
|
||||
q = mmap(p, n, prot, flags|MAP_FIXED, fd, off);
|
||||
if (!DL_NOMMU_SUPPORT || q != MAP_FAILED || errno != EINVAL)
|
||||
|
|
Loading…
Add table
Reference in a new issue