[v2] elf: Add tst-ldconfig-ld_so_conf-update test

Message ID 357df77f-f709-8b35-b28d-e64f4524f92a@linux.ibm.com
State Committed
Headers

Commit Message

Stefan Liebler Jan. 10, 2020, 2:45 p.m. UTC
  On 1/7/20 5:20 AM, Siddhesh Poyarekar wrote:
> On 06/01/20 11:39 pm, Adhemerval Zanella wrote:
>>
>>
>> On 06/01/2020 15:05, Arjun Shankar wrote:
>>> +   Copyright (C) 2019 Free Software Foundation, Inc.
>>> +   This file is part of the GNU C Library.
>>
>> It needs to update the copyright year to 2020
>>
>>>
>>> This version looks good to me and I'd say it's good enough for master.
>>
>> And to not add any confusion, only once 2.32 master open or if
>> release manager (Siddhesh) agrees.
>>
> 
> This is OK for master.
> 
> Thanks,
> Siddhesh
> 

Hi,

If run on 32bit, this test fails while renaming tst-ldconfig-ld-mod.so 
as there is no /usr/lib64 directory.

The attached patch is constructing the file name with help of 
support_libdir_prefix.

If the patch is okay, let me know if I can commit it on master.

Bye,
Stefan
  

Comments

Siddhesh Poyarekar Jan. 10, 2020, 4 p.m. UTC | #1
On 10/01/20 8:15 pm, Stefan Liebler wrote:
> Hi,
> 
> If run on 32bit, this test fails while renaming tst-ldconfig-ld-mod.so
> as there is no /usr/lib64 directory.
> 
> The attached patch is constructing the file name with help of
> support_libdir_prefix.
> 
> If the patch is okay, let me know if I can commit it on master.

Nice catch, looks OK to me.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
  
Stefan Liebler Jan. 13, 2020, 10:08 a.m. UTC | #2
On 1/10/20 5:00 PM, Siddhesh Poyarekar wrote:
> On 10/01/20 8:15 pm, Stefan Liebler wrote:
>> Hi,
>>
>> If run on 32bit, this test fails while renaming tst-ldconfig-ld-mod.so
>> as there is no /usr/lib64 directory.
>>
>> The attached patch is constructing the file name with help of
>> support_libdir_prefix.
>>
>> If the patch is okay, let me know if I can commit it on master.
> 
> Nice catch, looks OK to me.
> 
> Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
> 
Committed.

Thanks,
Stefan
  

Patch

commit 7feda514bc62870cd3ac3413a2aebb810b346d02
Author: Stefan Liebler <stli@linux.ibm.com>
Date:   Fri Jan 10 15:36:52 2020 +0100

    Fix "elf: Add tst-ldconfig-ld_so_conf-update test" on 32bit.
    
    This new test was introduced with recent commit
    591236f1a33f11cc65ccf009d997071ba853e186.
    If run on 32bit, it fails while renaming tst-ldconfig-ld-mod.so as there is no
    /usr/lib64 directory. This patch is constructing the file name with help of
    support_libdir_prefix.

diff --git a/elf/tst-ldconfig-ld_so_conf-update.c b/elf/tst-ldconfig-ld_so_conf-update.c
index 54fae5c829..ff2ee217d9 100644
--- a/elf/tst-ldconfig-ld_so_conf-update.c
+++ b/elf/tst-ldconfig-ld_so_conf-update.c
@@ -71,9 +71,11 @@  do_test (void)
   /* Rename the DSO to start with "lib" because there's an undocumented
      filter in ldconfig where it ignores any file that doesn't start with
      "lib" (for regular shared libraries) or "ld-" (for ld-linux-*).  */
-  if (rename ("/usr/lib64/tst-ldconfig-ld-mod.so",
-              "/tmp/tst-ldconfig/libldconfig-ld-mod.so"))
+  char *mod_src_path = xasprintf ("%s/tst-ldconfig-ld-mod.so",
+				  support_libdir_prefix);
+  if (rename (mod_src_path, "/tmp/tst-ldconfig/libldconfig-ld-mod.so"))
     FAIL_EXIT1 ("Renaming/moving the DSO failed: %m");
+  free (mod_src_path);
 
 
   /* Open the DSO.  We expect this to fail - tst-ldconfig directory