Date: Fri, 16 Oct 1998 20:27:35 -0500 From: Jacques Vidrine <n@nectar.com> To: Alex Zepeda <garbanzo@hooked.net> Cc: Peter Wemm <peter@netplex.com.au>, hackers@FreeBSD.ORG Subject: Re: ld and -soname Message-ID: <E0zUL9b-00014c-00@spawn.nectar.com> In-Reply-To: <Pine.BSF.4.00.9810161813560.3177-100000@zippy.dyn.ml.org> References: <Pine.BSF.4.00.9810161813560.3177-100000@zippy.dyn.ml.org>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- I didn't make my point well, I see. Let me try again. Assume you have an application you are porting to a FreeBSD ELF system, which contains something such as: - -- Makefile excerpt -- libfoo.so.${FOO_VERSION}: ${FOO_OBJS} ${LD} ${LDFLAGS} -o libfoo.so.${FOO_VERSION} ${FOO_OBJS} libbar.so.${BAR_VERSION}: ${BAR_OBJS} ${LD} ${LDFLAGS} -o libbar.so.${BAR_VERSION} ${BAR_OBJS} - -- Makefile excerpt -- Now, again, I cannot define LDFLAGS to have "-soname libfoo.so.${FOO_VERSION}" nor "-soname libbar.so.${BAR_VERSION}", now can I? I must change the Makefile rules instead, i.e. s/-o libbar.so.${BAR_VERSION}/-soname libbar.so.${BAR_VERSION} -o libbar.so.${BAR_VERSION}/ and s/-o libfoo.so.${FOO_VERSION}/-soname libfoo.so.${FOO_VERSION} -o libfoo.so.${FOO_VERSION}/ Now, back to my original point... I think that it would be handy to have a flag for ld (let's say ``--implied-soname'' for laughs) that would cause DT_SONAME to be set to the filename supplied with the ``-o'' option. Then I can port the above application by simply changing the definition of LDFLAGS to include ``--implied-soname''. Jacques Vidrine / n@nectar.com / nectar@FreeBSD.org On 16 October 1998 at 18:14, Alex Zepeda <garbanzo@hooked.net> wrote: > On Fri, 16 Oct 1998, Jacques Vidrine wrote: > > MM, that won't solve the problem which I'm trying to solve. > > I want an ``easy fix'' for the Makefiles in the world that > > have something like > > > > libfoobar.so.${VERSION}: ${OBJS} > > ${LD} ${LDFLAGS} -o libfoobar.so.${VERSION} ${OBJS} > > > > I can't very well put -soname in LDFLAGS. > > Yes you can. When you use gcc -Wl,-soname -Wl,libfoo.so.1 you tell gcc to > pass -soname libfoo.so.1 to ld. With FreeBSD's gcc, you can use gcc > -soname, but this is rather unportable. > > - alex -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBNifyhzeRhT8JRySpAQFuBwP/YBS37bqi6NhvPudiQTquEATZ2tZQG3Kk JkS26/+oRkYe3qgGI0LsbCJtcsDuv2fjPvzdI3XY5jJd1PW+7WilfdCjt52FeAo4 S8SBpu9V63v8jC/XDObK+fD5t8zGLoUS9XrU5WszyU11PoQpGTqOFsoooCF5SPdW wTNJbKVWKA4= =9WHk -----END PGP SIGNATURE----- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E0zUL9b-00014c-00>