svn commit: r249217 - in user/dchagin/lemul/sys: amd64/linux32 i386/linux
Dmitry Chagin
dchagin at FreeBSD.org
Sat Apr 6 21:56:56 UTC 2013
Author: dchagin
Date: Sat Apr 6 21:56:54 2013
New Revision: 249217
URL: http://svnweb.freebsd.org/changeset/base/249217
Log:
Relocate the vdso instead of hardcode prelink it.
Modified:
user/dchagin/lemul/sys/amd64/linux32/linux32_genassym.c
user/dchagin/lemul/sys/amd64/linux32/linux32_locore.s
user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c
user/dchagin/lemul/sys/amd64/linux32/linux32_vdso.lds.s
user/dchagin/lemul/sys/i386/linux/linux_locore.s
user/dchagin/lemul/sys/i386/linux/linux_sysvec.c
user/dchagin/lemul/sys/i386/linux/linux_vdso.lds.s
Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_genassym.c
==============================================================================
--- user/dchagin/lemul/sys/amd64/linux32/linux32_genassym.c Sat Apr 6 21:44:02 2013 (r249216)
+++ user/dchagin/lemul/sys/amd64/linux32/linux32_genassym.c Sat Apr 6 21:56:54 2013 (r249217)
@@ -13,6 +13,5 @@ ASSYM(LINUX_SIGF_SC, offsetof(struct l_s
ASSYM(LINUX_RT_SIGF_HANDLER, offsetof(struct l_rt_sigframe, sf_handler));
ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_sc));
ASSYM(LINUX_RT_SIGF_SC, offsetof(struct l_ucontext, uc_mcontext));
-ASSYM(LINUX32_SHAREDPAGE, LINUX32_SHAREDPAGE);
ASSYM(LINUX_VERSION_CODE, LINUX_VERSION_CODE);
ASSYM(LINUX_SC_ESP, offsetof(struct l_sigcontext, sc_esp));
Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_locore.s
==============================================================================
--- user/dchagin/lemul/sys/amd64/linux32/linux32_locore.s Sat Apr 6 21:44:02 2013 (r249216)
+++ user/dchagin/lemul/sys/amd64/linux32/linux32_locore.s Sat Apr 6 21:56:54 2013 (r249217)
@@ -49,8 +49,6 @@ NON_GPROF_ENTRY(linux32_vsyscall)
ret
.endvsyscall:
- .globl linux32_sharedpage
- .set linux32_sharedpage, LINUX32_SHAREDPAGE
.section .note.Linux, "a", at note
.long 2f - 1f /* namesz */
Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c
==============================================================================
--- user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Apr 6 21:44:02 2013 (r249216)
+++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Apr 6 21:56:54 2013 (r249217)
@@ -1092,7 +1092,7 @@ linux_vdso_install(void *param)
linux_shared_page_obj = __elfN(linux_shared_page_init)
(&linux_shared_page_mapping);
- __elfN(linux_vdso_reloc)(&elf_linux_sysvec, 0);
+ __elfN(linux_vdso_reloc)(&elf_linux_sysvec, LINUX32_SHAREDPAGE);
bcopy(elf_linux_sysvec.sv_sigcode, linux_shared_page_mapping,
linux_szsigcode);
Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_vdso.lds.s
==============================================================================
--- user/dchagin/lemul/sys/amd64/linux32/linux32_vdso.lds.s Sat Apr 6 21:44:02 2013 (r249216)
+++ user/dchagin/lemul/sys/amd64/linux32/linux32_vdso.lds.s Sat Apr 6 21:56:54 2013 (r249217)
@@ -8,7 +8,7 @@
SECTIONS
{
- . = linux32_sharedpage + SIZEOF_HEADERS;
+ . = . + SIZEOF_HEADERS;
.hash : { *(.hash) } :text
.gnu.hash : { *(.gnu.hash) }
Modified: user/dchagin/lemul/sys/i386/linux/linux_locore.s
==============================================================================
--- user/dchagin/lemul/sys/i386/linux/linux_locore.s Sat Apr 6 21:44:02 2013 (r249216)
+++ user/dchagin/lemul/sys/i386/linux/linux_locore.s Sat Apr 6 21:56:54 2013 (r249217)
@@ -48,8 +48,6 @@ NON_GPROF_ENTRY(linux_vsyscall)
ret
.endvsyscall:
- .globl linux_sharedpage
- .set linux_sharedpage, VM_MAXUSER_ADDRESS - PAGE_SIZE
.section .note.Linux, "a", at note
.long 2f - 1f /* namesz */
Modified: user/dchagin/lemul/sys/i386/linux/linux_sysvec.c
==============================================================================
--- user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Sat Apr 6 21:44:02 2013 (r249216)
+++ user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Sat Apr 6 21:56:54 2013 (r249217)
@@ -1066,7 +1066,7 @@ linux_vdso_install(void *param)
linux_shared_page_obj = __elfN(linux_shared_page_init)
(&linux_shared_page_mapping);
- __elfN(linux_vdso_reloc)(&elf_linux_sysvec, 0);
+ __elfN(linux_vdso_reloc)(&elf_linux_sysvec, LINUX_SHAREDPAGE);
bcopy(elf_linux_sysvec.sv_sigcode, linux_shared_page_mapping,
linux_szsigcode);
Modified: user/dchagin/lemul/sys/i386/linux/linux_vdso.lds.s
==============================================================================
--- user/dchagin/lemul/sys/i386/linux/linux_vdso.lds.s Sat Apr 6 21:44:02 2013 (r249216)
+++ user/dchagin/lemul/sys/i386/linux/linux_vdso.lds.s Sat Apr 6 21:56:54 2013 (r249217)
@@ -8,7 +8,7 @@
SECTIONS
{
- . = linux_sharedpage + SIZEOF_HEADERS;
+ . = . + SIZEOF_HEADERS;
.hash : { *(.hash) } :text
.gnu.hash : { *(.gnu.hash) }
More information about the svn-src-user
mailing list