public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/344] New: Bogus dl test: elf/tst-dlopenrpath.c and elf/tst-dlopenrpathmod.c
@ 2004-08-23 20:55 hjl at lucon dot org
  2004-08-23 20:56 ` [Bug libc/344] " hjl at lucon dot org
  2004-09-12 19:28 ` drepper at redhat dot com
  0 siblings, 2 replies; 3+ messages in thread
From: hjl at lucon dot org @ 2004-08-23 20:55 UTC (permalink / raw)
  To: glibc-bugs

Either elf/tst-dlopenrpath.c is bogus or open_path in elf/dl-load.c is wrong.
open_path has

/* Try to open NAME in one of the directories in *DIRSP.
   Return the fd, or -1.  If successful, fill in *REALNAME
   with the malloc'd full directory name.  If it turns out
   that none of the directories in *DIRSP exists, *DIRSP is
   replaced with (void *) -1, and the old value is free()d
   if MAY_FREE_DIRS is true.  */
                                                                                
static int
open_path (const char *name, size_t namelen, int preloaded,
           struct r_search_path_struct *sps, char **realname,
           struct filebuf *fbp)

So when a DSO has a DT_RPATH which isn't used to locate a DT_NEEDED
entry, that DT_RPATH may be ignored for this DSO later on for any dlopen
calls made from the DSO. elf/tst-dlopenrpathmod.c has

xxxxx          (RPATH)              Library rpath: [$ORIGIN/test-subdir]

If DT_RPATH is searched when loading tst-dlopenrpathmod.so for some reason,
DT_RPATH will be ignored for dlopen calls in tst-dlopenrpathmod.so. I got

couldn't open in-subdir.so from foo

-- 
           Summary: Bogus dl test: elf/tst-dlopenrpath.c and elf/tst-
                    dlopenrpathmod.c
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: gotom at debian dot or dot jp
        ReportedBy: hjl at lucon dot org
                CC: glibc-bugs at sources dot redhat dot com


http://sources.redhat.com/bugzilla/show_bug.cgi?id=344

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libc/344] Bogus dl test: elf/tst-dlopenrpath.c and elf/tst-dlopenrpathmod.c
  2004-08-23 20:55 [Bug libc/344] New: Bogus dl test: elf/tst-dlopenrpath.c and elf/tst-dlopenrpathmod.c hjl at lucon dot org
@ 2004-08-23 20:56 ` hjl at lucon dot org
  2004-09-12 19:28 ` drepper at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: hjl at lucon dot org @ 2004-08-23 20:56 UTC (permalink / raw)
  To: glibc-bugs


------- Additional Comments From hjl at lucon dot org  2004-08-23 20:56 -------
Created an attachment (id=172)
 --> (http://sources.redhat.com/bugzilla/attachment.cgi?id=172&action=view)
A testcase

gcc -c -fPIC -g -O2 -D_LARGEFILE64_SOURCE tst-dlopenrpathmod.c
gcc -shared -o tst-dlopenrpathmod.so tst-dlopenrpathmod.o -ldl -lpopt
-Wl,-rpath,/export/home/hjl/bugs/libc/dl/test-subdir
gcc -o foo -g -O2 -D_LARGEFILE64_SOURCE tst-dlopenrpath.c
/export/home/hjl/bugs/libc/dl/tst-dlopenrpathmod.so -ldl
rm -rf test-subdir
cp -af tst-dlopenrpathmod.so firstobj.so
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/ld-linux.so.2
--library-path
/export/build/gnu/glibc-nptl-3.4/build-i686-linux:/export/build/gnu/glibc-nptl-3.4/build-i686-linux/dlfcn
./foo
couldn't open in-subdir.so from foo: in-subdir.so: cannot open shared object
file: No such file or directory
make: [all] Error 1 (ignored)
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/ld-linux.so.2
--library-path
/export/build/gnu/glibc-nptl-3.4/build-i686-linux:/export/build/gnu/glibc-nptl-3.4/build-i686-linux/dlfcn
./foo


-- 


http://sources.redhat.com/bugzilla/show_bug.cgi?id=344

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libc/344] Bogus dl test: elf/tst-dlopenrpath.c and elf/tst-dlopenrpathmod.c
  2004-08-23 20:55 [Bug libc/344] New: Bogus dl test: elf/tst-dlopenrpath.c and elf/tst-dlopenrpathmod.c hjl at lucon dot org
  2004-08-23 20:56 ` [Bug libc/344] " hjl at lucon dot org
@ 2004-09-12 19:28 ` drepper at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: drepper at redhat dot com @ 2004-09-12 19:28 UTC (permalink / raw)
  To: glibc-bugs


------- Additional Comments From drepper at redhat dot com  2004-09-12 19:28 -------


*** This bug has been marked as a duplicate of 333 ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |DUPLICATE


http://sources.redhat.com/bugzilla/show_bug.cgi?id=344

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-09-12 19:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-23 20:55 [Bug libc/344] New: Bogus dl test: elf/tst-dlopenrpath.c and elf/tst-dlopenrpathmod.c hjl at lucon dot org
2004-08-23 20:56 ` [Bug libc/344] " hjl at lucon dot org
2004-09-12 19:28 ` drepper at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).