summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/asm.h
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2013-08-17 19:24:58 +0000
committerjilles <jilles@FreeBSD.org>2013-08-17 19:24:58 +0000
commitfd29e78a6864b1354fa628a2e1c86403f42edb1c (patch)
treee6e7bc14dde6fbd106d542a3999fdc26cb10ceea /sys/i386/include/asm.h
parenta8298dcc377707c8e7f1295e9e503cad9057196e (diff)
downloadFreeBSD-src-fd29e78a6864b1354fa628a2e1c86403f42edb1c.zip
FreeBSD-src-fd29e78a6864b1354fa628a2e1c86403f42edb1c.tar.gz
libc: Access _logname_valid more efficiently.
The variable _logname_valid is not exported via the version script; therefore, change C and i386/amd64 assembler code to remove indirection (which allowed interposition). This makes the code slightly smaller and faster. Also, remove #define PIC_GOT from i386/amd64 in !PIC mode. Without PIC, there is no place containing the address of each variable, so there is no possible definition for PIC_GOT.
Diffstat (limited to 'sys/i386/include/asm.h')
-rw-r--r--sys/i386/include/asm.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/i386/include/asm.h b/sys/i386/include/asm.h
index 7ce3d57..cc8bfe0 100644
--- a/sys/i386/include/asm.h
+++ b/sys/i386/include/asm.h
@@ -49,11 +49,12 @@
popl %ebx
#define PIC_PLT(x) x@PLT
#define PIC_GOT(x) x@GOT(%ebx)
+#define PIC_GOTOFF(x) x@GOTOFF(%ebx)
#else
#define PIC_PROLOGUE
#define PIC_EPILOGUE
#define PIC_PLT(x) x
-#define PIC_GOT(x) x
+#define PIC_GOTOFF(x) x
#endif
/*
OpenPOWER on IntegriCloud