Date: Sat, 6 Apr 2013 21:56:54 +0000 (UTC) From: Dmitry Chagin <dchagin@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r249217 - in user/dchagin/lemul/sys: amd64/linux32 i386/linux Message-ID: <201304062156.r36LusXK049546@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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",@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",@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) }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304062156.r36LusXK049546>