[yocto] [prelink-cross] Support x32 libx32 directory

Khem Raj raj.khem at gmail.com
Sun Oct 2 16:18:40 PDT 2016


Mark

have we integrated this patch ?

> On Sep 14, 2016, at 4:23 PM, Joseph Myers <joseph at codesourcery.com> wrote:
> 
> Cross-prelink's prelink-rtld is missing suport for the /libx32
> directory used with the x86_64 x32 ABI.  This patch adds such support.
> 
> 2016-09-14  Joseph Myers  <joseph at codesourcery.com>
> 
> 	* src/rtld/rtld.c (load_ld_so_conf): Add argument use_x32.
> 	(main): Update call to load_ld_so_conf.
> 
> diff --git a/src/rtld/rtld.c b/src/rtld/rtld.c
> index 8d7d760..2d72083 100644
> --- a/src/rtld/rtld.c
> +++ b/src/rtld/rtld.c
> @@ -409,7 +409,7 @@ free_path (struct search_path *path)
> }
> 
> void
> -load_ld_so_conf (int use_64bit, int use_mipsn32)
> +load_ld_so_conf (int use_64bit, int use_mipsn32, int use_x32)
> {
>   int fd;
>   FILE *conf;
> @@ -435,6 +435,14 @@ load_ld_so_conf (int use_64bit, int use_mipsn32)
>       add_dir (&ld_dirs, "/usr/lib32/tls", strlen ("/usr/lib32/tls"));
>       add_dir (&ld_dirs, "/usr/lib32", strlen ("/usr/lib32"));
>     }
> +  else if (use_x32)
> +    {
> +      dst_LIB = "libx32";
> +      add_dir (&ld_dirs, "/libx32/tls", strlen ("/libx32/tls"));
> +      add_dir (&ld_dirs, "/libx32", strlen ("/libx32"));
> +      add_dir (&ld_dirs, "/usr/libx32/tls", strlen ("/usr/libx32/tls"));
> +      add_dir (&ld_dirs, "/usr/libx32", strlen ("/usr/libx32"));
> +    }
>   else
>     {
>       dst_LIB = "lib";
> @@ -1195,7 +1203,8 @@ main(int argc, char **argv)
> 	}
> 
>       load_ld_so_conf (gelf_getclass (dso->elf) == ELFCLASS64,
> -		( dso->ehdr.e_machine == EM_MIPS) && ( dso->ehdr.e_flags & EF_MIPS_ABI2 ) );
> +		( dso->ehdr.e_machine == EM_MIPS) && ( dso->ehdr.e_flags & EF_MIPS_ABI2 ),
> +		dso->ehdr.e_machine == EM_X86_64 && gelf_getclass (dso->elf) == ELFCLASS32);
> 
>       if (multiple)
> 	printf ("%s:\n", argv[remaining]);
> 
> --
> Joseph S. Myers
> joseph at codesourcery.com
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20161002/fab4d7b0/attachment.pgp>


More information about the yocto mailing list