Date: Sun, 2 Jul 2006 11:00:37 +0900 From: Norikatsu Shigemura <nork@FreeBSD.org> To: current@FreeBSD.org Cc: deischen@FreeBSD.org, Alexander@Leidinger.net, nork@FreeBSD.org, kabaev@gmail.com Subject: Re: Linux-flashplugin7 & rtld - RFC Message-ID: <20060702110037.f78ea013.nork@FreeBSD.org> In-Reply-To: <20060702104111.def19d47.nork@FreeBSD.org> References: <44986777.6070601@FreeBSD.org> <20060621061437.GA53019@fit.vutbr.cz> <ygeodwn2fea.wl%ume@mahoroba.org> <2265.211.18.249.19.1150871779.squirrel@mail.ninth-nine.com> <20060621121114.h6udocel5wsgg8sg@netchild.homeip.net> <2692.219.127.74.121.1150885501.squirrel@mail.ninth-nine.com> <20060621155053.d6lseiz8z4ow8wo8@netchild.homeip.net> <Pine.GSO.4.64.0606211204300.23942@sea.ntplx.net> <20060623013106.d4397e26.nork@FreeBSD.org> <Pine.GSO.4.64.0606221244240.427@sea.ntplx.net> <20060622230416.3907a848@kan.dnsalias.net> <20060625191405.d0e78240.nork@FreeBSD.org> <20060625134812.a0rm7fbd2wwg0g84@netchild.homeip.net> <20060702104111.def19d47.nork@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Ah, I think that version_gen.awk has a issue to migrate
SYMVER_ENABLED=yes environment, like symbol non-versioning
binaries -(dynamic link)->symbol versioning libraries.
Almost works in current, but unstable. Because symbol
non-versioning will link symbol any-versioning of the
first to find. It should be order versioning information.
--- share/mk/version_gen.awk.orig Fri Mar 17 00:12:26 2006
+++ share/mk/version_gen.awk Sat Jul 1 13:56:32 2006
@@ -53,6 +53,7 @@
symver = $1;
versions[symver] = 1;
successors[symver] = "";
+ order[version_count] = symver;
version_count++;
}
else if (/^[ \t]*} *[a-zA-Z0-9._]+ *;/) {
@@ -142,17 +143,18 @@
}
END {
- for (v in versions) {
+ for (i = 0; i < version_count; i++) {
+ v = order[i];
printf("\n");
printf("%s {\n", v);
# The version count is always one more that actual,
# so the loop ranges from 1 to n-1.
#
- for (i = 1; i < versions[v]; i++) {
- if (i == 1)
+ for (j = 1; j < versions[v]; j++) {
+ if (j == 1)
printf("global:\n");
- printf("\t%s\n", symbols[v, i]);
+ printf("\t%s\n", symbols[v, j]);
}
if (successors[v] == "") {
# This version succeeds no other version.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060702110037.f78ea013.nork>
