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>