The ancient way of declaring module dependencies with _depends_on has
been deprecated since SunOS 2.6 (circa 1996). The presence of the old
_depends_on symbol triggers a warning message on the console starting
with Solaris 12, and the kernel runtime loader (krtld) feature of using
the _depends_on symbol to load dependencies may be removed in a future
version of Solaris.
Convert the kernel module from the ancient _depends_on method to modern
ELF dependencies. Remove the old _depends_on symbol and specify the -dy
and -N <name> linker options to set the ELF dependencies at link time,
as recommended in the Solaris device driver developer guidelines [1].
This commit does not change the declared dependencies, which may be
vestiges of ancient afs versions.
[1]: http://docs.oracle.com/cd/E19455-01/805-7378/6j6un037u/index.html#loading-16
Reviewed-on: https://gerrit.openafs.org/12453
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit
37db7985fde9e6a5e71ae628d0b7124a27bf31c3)
Change-Id: I1a4ad8bface1ecf774e906b846c2e8263631d77a
Reviewed-on: https://gerrit.openafs.org/12514
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
};
#endif /* AFS_SUN511_ENV */
-/* inter-module dependencies */
-char _depends_on[] =
-#if AFS_SUN510_ENV
- "drv/ip drv/udp strmod/rpcmod fs/ufs";
-#else
- "drv/ip drv/udp strmod/rpcmod";
-#endif
-
/*
* Info/Structs to link the afs module into the kernel
*/
<all>
CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
+<sun4x_58 sunx86_58 sun4x_59 sunx86_59>
+LDFLAGS=-r -dy -N drv/ip -N drv/udp -N strmod/rpcmod
+
+<sun4x_510 sunx86_510 sun4x_511 sunx86_511>
+LDFLAGS=-r -dy -N drv/ip -N drv/udp -N strmod/rpcmod -N fs/ufs
+
# Name of directory to hold object files and libraries.
<all -sun4x_57 -sun4x_58 -sun4x_59 -sun4x_510 -sun4x_511 -sunx86_57 -sunx86_58 -sunx86_59 -sunx86_510 -sunx86_511>
KOBJ = MODLOAD
${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
$(RM) -f $@
- $(LD) -r -o $@ $(AFSAOBJS) ${AFSNFSOBJS}
+ $(LD) $(LDFLAGS) -o $@ $(AFSAOBJS) ${AFSNFSOBJS}
${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
$(RM) -f $@
- $(LD) -r -o $@ $(AFSAOBJS) ${AFSNONFSOBJS}
+ $(LD) $(LDFLAGS) -o $@ $(AFSAOBJS) ${AFSNONFSOBJS}