- priority: 5 --> 2
- status: open --> closed-fixed
OriginalBugID: 1781 Bug
Version: 8.1b3
SubmitDate: '1999-04-12'
LastModified: '1999-10-21'
Severity: CRIT
Status: Released
Submitter: pat
ChangedBy: hobbs
OS: Other
OSVersion: PPC Linux R4
Machine: NA
FixedDate: '1999-10-21'
FixedInVersion: 8.2.2
ClosedDate: '2000-10-25'
Name:
Kenji Sugita
ReproducibleScript:
The files tclResult.c and tclStringObj.c can't be compiled on PowerPC
Linux.
It copies a va_list data directly by an assignment.
That kind of copy is prohibited on a PowerPC platform.
PatchFiles:
Atached is an adhoc patch.
===================================================================
RCS file: RCS/tclResult.c,v
retrieving revision 1.1
diff -u -r1.1 tclResult.c
--- tclResult.c 1999/04/10 17:46:52 1.1
+++ tclResult.c 1999/04/10 18:01:36
@@ -475,7 +475,11 @@
* Scan through all the arguments to see how much space is needed.
*/
+#if defined(powerpc)
+ __va_copy(tmpArgList, argList);
+#else
tmpArgList = argList;
+#endif /* powerpc */
newSpace = 0;
while (1) {
string = va_arg(tmpArgList, char *);
===================================================================
RCS file: RCS/tclStringObj.c,v
retrieving revision 1.1
diff -u -r1.1 tclStringObj.c
--- tclStringObj.c 1999/04/10 17:47:13 1.1
+++ tclStringObj.c 1999/04/10 18:02:35
@@ -429,7 +429,11 @@
* bytes would be appended, just return.
*/
+#if defined(powerpc)
+ __va_copy(tmpArgList, argList);
+#else
tmpArgList = argList;
+#endif /* powerpc */
newLength = oldLength = objPtr->length;
while (1) {
string = va_arg(tmpArgList, char *);
These were both fixed to be more portable for 8.3b1.
-- 10/21/1999 hobbs