Re: Linux-flashplugin7 & rtld - RFC

From: Norikatsu Shigemura <nork_at_FreeBSD.org>
Date: Sun, 2 Jul 2006 11:00:37 +0900
	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
_at__at_ -53,6 +53,7 _at__at_
 			symver = $1;
 			versions[symver] = 1;
 			successors[symver] = "";
+			order[version_count] = symver;
 			version_count++;
 		}
 		else if (/^[ \t]*} *[a-zA-Z0-9._]+ *;/) {
_at__at_ -142,17 +143,18 _at__at_
 }
 
 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.
Received on Sun Jul 02 2006 - 00:20:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:57 UTC