diff --git a/ChangeLog.d/bugfix_PR3452.txt b/ChangeLog.d/bugfix_PR3452.txt new file mode 100644 index 000000000..acf593eb8 --- /dev/null +++ b/ChangeLog.d/bugfix_PR3452.txt @@ -0,0 +1,3 @@ +Bugfix + * Use local labels in mbedtls_padlock_has_support() to fix an invalid symbol redefinition if the function is inlined. + Reported in #3451 and fix contributed in #3452 by okhowang. diff --git a/library/padlock.c b/library/padlock.c index 887a386e8..96463b90b 100644 --- a/library/padlock.c +++ b/library/padlock.c @@ -54,10 +54,10 @@ int mbedtls_padlock_has_support( int feature ) "cpuid \n\t" "cmpl $0xC0000001, %%eax \n\t" "movl $0, %%edx \n\t" - "jb unsupported \n\t" + "jb 1f \n\t" "movl $0xC0000001, %%eax \n\t" "cpuid \n\t" - "unsupported: \n\t" + "1: \n\t" "movl %%edx, %1 \n\t" "movl %2, %%ebx \n\t" : "=m" (ebx), "=m" (edx)