Add __ImageBase symbol to pe.em and pep.em.
This commit is contained in:
parent
b7fcf6f6bb
commit
dffc6a6425
3 changed files with 15 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2007-11-06 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
|
* emultempl/pe.em: (init): Add __ImageBase symbol.
|
||||||
|
(MSIMAGEBASEOFF): New.
|
||||||
|
(set_pe_name): Keep __image_base and __ImageBase value synch.
|
||||||
|
(_set_symbols): Likewise.
|
||||||
|
* emultempl/pep.em: Likewise.
|
||||||
|
|
||||||
2007-10-26 Alan Modra <amodra@bigpond.net.au>
|
2007-10-26 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
PR 5215
|
PR 5215
|
||||||
|
|
|
@ -286,6 +286,8 @@ static definfo init[] =
|
||||||
D(ImageBase,"__image_base__", NT_EXE_IMAGE_BASE),
|
D(ImageBase,"__image_base__", NT_EXE_IMAGE_BASE),
|
||||||
#define DLLOFF 1
|
#define DLLOFF 1
|
||||||
{&dll, sizeof(dll), 0, "__dll__", 0},
|
{&dll, sizeof(dll), 0, "__dll__", 0},
|
||||||
|
#define MSIMAGEBASEOFF 2
|
||||||
|
D(ImageBase, U ("__ImageBase"), NT_EXE_IMAGE_BASE),
|
||||||
D(SectionAlignment,"__section_alignment__", PE_DEF_SECTION_ALIGNMENT),
|
D(SectionAlignment,"__section_alignment__", PE_DEF_SECTION_ALIGNMENT),
|
||||||
D(FileAlignment,"__file_alignment__", PE_DEF_FILE_ALIGNMENT),
|
D(FileAlignment,"__file_alignment__", PE_DEF_FILE_ALIGNMENT),
|
||||||
D(MajorOperatingSystemVersion,"__major_os_version__", 4),
|
D(MajorOperatingSystemVersion,"__major_os_version__", 4),
|
||||||
|
@ -374,6 +376,8 @@ set_pe_name (char *name, long val)
|
||||||
{
|
{
|
||||||
init[i].value = val;
|
init[i].value = val;
|
||||||
init[i].inited = 1;
|
init[i].inited = 1;
|
||||||
|
if (strcmp (name,"__image_base__") == 0)
|
||||||
|
set_pe_name (U ("__ImageBase"), val);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -708,6 +712,7 @@ gld_${EMULATION_NAME}_set_symbols (void)
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
init[IMAGEBASEOFF].value = NT_EXE_IMAGE_BASE;
|
init[IMAGEBASEOFF].value = NT_EXE_IMAGE_BASE;
|
||||||
|
init[MSIMAGEBASEOFF].value = init[IMAGEBASEOFF].value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't do any symbol assignments if this is a relocatable link. */
|
/* Don't do any symbol assignments if this is a relocatable link. */
|
||||||
|
|
|
@ -260,7 +260,7 @@ static definfo init[] =
|
||||||
#define DLLOFF 1
|
#define DLLOFF 1
|
||||||
{&dll, sizeof(dll), 0, "__dll__", 0},
|
{&dll, sizeof(dll), 0, "__dll__", 0},
|
||||||
#define MSIMAGEBASEOFF 2
|
#define MSIMAGEBASEOFF 2
|
||||||
D(ImageBase,"__ImageBase", NT_EXE_IMAGE_BASE),
|
D(ImageBase,"___ImageBase", NT_EXE_IMAGE_BASE),
|
||||||
D(SectionAlignment,"__section_alignment__", PE_DEF_SECTION_ALIGNMENT),
|
D(SectionAlignment,"__section_alignment__", PE_DEF_SECTION_ALIGNMENT),
|
||||||
D(FileAlignment,"__file_alignment__", PE_DEF_FILE_ALIGNMENT),
|
D(FileAlignment,"__file_alignment__", PE_DEF_FILE_ALIGNMENT),
|
||||||
D(MajorOperatingSystemVersion,"__major_os_version__", 4),
|
D(MajorOperatingSystemVersion,"__major_os_version__", 4),
|
||||||
|
@ -343,7 +343,7 @@ set_pep_name (char *name, long val)
|
||||||
init[i].value = val;
|
init[i].value = val;
|
||||||
init[i].inited = 1;
|
init[i].inited = 1;
|
||||||
if (strcmp (name,"__image_base__") == 0)
|
if (strcmp (name,"__image_base__") == 0)
|
||||||
set_pep_name ("__ImageBase", val);
|
set_pep_name ("___ImageBase", val);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue