From 2cd6c5115bc6d19e7303ab83a4dbacdb9135d05f Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Fri, 4 Jan 2013 16:34:56 +0100 Subject: [PATCH] Use raw opcodes for rdrand to build with older binutils --- src/libstrongswan/plugins/rdrand/rdrand_rng.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libstrongswan/plugins/rdrand/rdrand_rng.c b/src/libstrongswan/plugins/rdrand/rdrand_rng.c index 8c219b4263..d032cbe31d 100644 --- a/src/libstrongswan/plugins/rdrand/rdrand_rng.c +++ b/src/libstrongswan/plugins/rdrand/rdrand_rng.c @@ -61,9 +61,9 @@ static bool rdrand16(u_int16_t *out) for (i = 0; i < MAX_TRIES; i++) { - asm("rdrand %0;" + asm(".byte 0x66;.byte 0x0f;.byte 0xc7;.byte 0xf0; " /* rdrand */ "setc %1;" - : "=r"(*out), "=qm"(res)); + : "=a"(*out), "=qm"(res)); if (res) { @@ -83,9 +83,9 @@ static bool rdrand32(u_int32_t *out) for (i = 0; i < MAX_TRIES; i++) { - asm("rdrand %0;" + asm(".byte 0x0f;.byte 0xc7;.byte 0xf0;" /* rdrand */ "setc %1;" - : "=r"(*out), "=qm"(res)); + : "=a"(*out), "=qm"(res)); if (res) { @@ -106,9 +106,9 @@ static bool rdrand64(u_int64_t *out) for (i = 0; i < MAX_TRIES; i++) { - asm("rdrand %0;" + asm(".byte 0x48;.byte 0x0f;.byte 0xc7;.byte 0xf0;" /* rdrand */ "setc %1;" - : "=r"(*out), "=qm"(res)); + : "=a"(*out), "=qm"(res)); if (res) { -- 2.47.2