summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2005-08-28 12:52:10 +0000
committerOwen Taylor <otaylor@redhat.com>2005-08-28 12:52:10 +0000
commit2120864edfb1bc51251dca3aeefbfadffb442ad0 (patch)
treed4f047529023c551dc00dd5662d1588c6767f8f7
parenta83537fe02d29fc36a78be0f5599421edf75dc62 (diff)
Use local labels rather than global labels in the assembly, to be robust if the code is inlined in multiple places. (#4283, Reported by Marco Manfredini)
-rw-r--r--pixman/ChangeLog6
-rw-r--r--pixman/src/fbmmx.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/pixman/ChangeLog b/pixman/ChangeLog
index d81411211..79509db52 100644
--- a/pixman/ChangeLog
+++ b/pixman/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-28 Owen Taylor <otaylor@redhat.com>
+
+ * src/fbmmx.c (detectCPUFeatures): Use local labels rather than
+ global labels in the assembly, to be robust if the code is inlined
+ in multiple places. (#4283, Reported by Marco Manfredini)
+
2005-08-27 Billy Biggs <vektor@dumbterm.net>
Some fixes for warnings from sparse (Part of bug #4208,
diff --git a/pixman/src/fbmmx.c b/pixman/src/fbmmx.c
index 2523b622d..580747102 100644
--- a/pixman/src/fbmmx.c
+++ b/pixman/src/fbmmx.c
@@ -2505,7 +2505,7 @@ static unsigned int detectCPUFeatures(void) {
"pop %%eax\n"
"mov $0x0, %%edx\n"
"xor %%ecx, %%eax\n"
- "jz skip\n"
+ "jz 1f\n"
"mov $0x00000000, %%eax\n"
"push %%ebx\n"
@@ -2519,7 +2519,7 @@ static unsigned int detectCPUFeatures(void) {
"push %%ebx\n"
"cpuid\n"
"pop %%ebx\n"
- "skip:\n"
+ "1:\n"
"mov %%edx, %0\n"
: "=r" (result),
"=m" (vendor[0]),
@@ -2549,10 +2549,10 @@ static unsigned int detectCPUFeatures(void) {
"cpuid\n"
"xor %%edx, %%edx\n"
"cmp $0x1, %%eax\n"
- "jge skip2\n"
+ "jge 1f\n"
"mov $0x80000001, %%eax\n"
"cpuid\n"
- "skip2:\n"
+ "1:\n"
"pop %%ebx\n"
"mov %%edx, %0\n"
: "=r" (result)