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

2016-10-02 Thread Mark Hatle
On 10/2/16 6:18 PM, Khem Raj wrote:
> Mark
> 
> have we integrated this patch ?

I have not yet.  Continue to ping me, I should hopefully get to it this week.

--Mark

>> On Sep 14, 2016, at 4:23 PM, Joseph Myers  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  
>>
>>  * 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 (_dirs, "/usr/lib32/tls", strlen ("/usr/lib32/tls"));
>>   add_dir (_dirs, "/usr/lib32", strlen ("/usr/lib32"));
>> }
>> +  else if (use_x32)
>> +{
>> +  dst_LIB = "libx32";
>> +  add_dir (_dirs, "/libx32/tls", strlen ("/libx32/tls"));
>> +  add_dir (_dirs, "/libx32", strlen ("/libx32"));
>> +  add_dir (_dirs, "/usr/libx32/tls", strlen ("/usr/libx32/tls"));
>> +  add_dir (_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
>> jos...@codesourcery.com
>> --
>> ___
>> yocto mailing list
>> yocto@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
> 

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


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

2016-10-02 Thread Khem Raj
Mark

have we integrated this patch ?

> On Sep 14, 2016, at 4:23 PM, Joseph Myers  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  
> 
>   * 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 (_dirs, "/usr/lib32/tls", strlen ("/usr/lib32/tls"));
>   add_dir (_dirs, "/usr/lib32", strlen ("/usr/lib32"));
> }
> +  else if (use_x32)
> +{
> +  dst_LIB = "libx32";
> +  add_dir (_dirs, "/libx32/tls", strlen ("/libx32/tls"));
> +  add_dir (_dirs, "/libx32", strlen ("/libx32"));
> +  add_dir (_dirs, "/usr/libx32/tls", strlen ("/usr/libx32/tls"));
> +  add_dir (_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
> jos...@codesourcery.com
> --
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



signature.asc
Description: Message signed with OpenPGP using GPGMail
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


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

2016-09-15 Thread Joseph Myers
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  

* 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 (_dirs, "/usr/lib32/tls", strlen ("/usr/lib32/tls"));
   add_dir (_dirs, "/usr/lib32", strlen ("/usr/lib32"));
 }
+  else if (use_x32)
+{
+  dst_LIB = "libx32";
+  add_dir (_dirs, "/libx32/tls", strlen ("/libx32/tls"));
+  add_dir (_dirs, "/libx32", strlen ("/libx32"));
+  add_dir (_dirs, "/usr/libx32/tls", strlen ("/usr/libx32/tls"));
+  add_dir (_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
jos...@codesourcery.com
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto