diff options
author | Matt Fleming <matt.fleming@intel.com> | 2012-06-01 13:24:51 +0100 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2012-06-08 08:10:22 +0100 |
commit | e33c487c3930357a4f53455e019c72be0477ef98 (patch) | |
tree | 18adf73139ed8ddad5ea4bc85dffa48c82b8d67d /com32/lib/Makefile | |
parent | 6bf3351711fe6c3f5731e519c2fbb298c6bcf2b4 (diff) | |
download | syslinux-e33c487c3930357a4f53455e019c72be0477ef98.tar.gz |
module: Actually use last component of DT_NEEDED pathname
The comment in module_load() claims that we strip everything from the
DT_NEEDED pathnames but the last component. That's not true as we
leave the initial '/', which works fine if the module is in the root
directory, but not so well if we're in a sub-directory. Worse still,
if the DT_NEEDED entry pathname doesn't include a '/' the module is
skipped entirely.
We should also be loading dependencies in reverse order, as modules
loaded because of DT_NEEDED entries may also have dependencies and
their dependencies should be loaded first.
Also, now we need the strrchr() implementation in the core, so move
strrchr.o into $CORELIBOBJS.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'com32/lib/Makefile')
-rw-r--r-- | com32/lib/Makefile | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/com32/lib/Makefile b/com32/lib/Makefile index daa7284e..75771d97 100644 --- a/com32/lib/Makefile +++ b/com32/lib/Makefile @@ -125,7 +125,7 @@ LIBOTHER_OBJS = \ strnlen.o \ strncat.o strndup.o \ stpncpy.o \ - strntoimax.o strntoumax.o strrchr.o strsep.o strspn.o strstr.o \ + strntoimax.o strntoumax.o strsep.o strspn.o strstr.o \ strtoimax.o strtok.o strtol.o strtoll.o strtoul.o strtoull.o \ strtoumax.o vprintf.o vsprintf.o \ asprintf.o vasprintf.o \ @@ -169,7 +169,7 @@ CORELIBOBJS = \ fputs.o fwrite2.o fwrite.o fgetc.o fclose.o errno.o lmalloc.o \ sys/err_read.o sys/err_write.o sys/null_read.o \ sys/stdcon_write.o sys/openconsole.o \ - syslinux/memscan.o \ + syslinux/memscan.o strrchr.o \ libgcc/__ashldi3.o libgcc/__udivdi3.o \ libgcc/__negdi2.o libgcc/__ashrdi3.o libgcc/__lshrdi3.o \ libgcc/__muldi3.o libgcc/__udivmoddi4.o libgcc/__umoddi3.o \ |