aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-02-21 15:45:17 -0800
committerDavid S. Miller <davem@davemloft.net>2012-02-20 17:52:01 -0800
commit0722d7c2ac52b343e895b0726fd08ec8e9677c04 (patch)
treebb83f4de76d3ab6b9e04b2742353824870dca3a1 /sysdeps
parent3d2b3019e0efa9735370498122ac80298deff8c7 (diff)
downloadglibc-0722d7c2ac52b343e895b0726fd08ec8e9677c04.tar
glibc-0722d7c2ac52b343e895b0726fd08ec8e9677c04.tar.gz
glibc-0722d7c2ac52b343e895b0726fd08ec8e9677c04.tar.bz2
glibc-0722d7c2ac52b343e895b0726fd08ec8e9677c04.zip
Explain why we don't make use of RDPC in the sparc PIC register setup.
* sysdeps/unix/sparc/sysdep.h: Document why we don't use "rd %pc" in the PIC register setup sequences.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sparc/sysdep.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/unix/sparc/sysdep.h b/sysdeps/unix/sparc/sysdep.h
index 10d561e789..1a095cc6c2 100644
--- a/sysdeps/unix/sparc/sysdep.h
+++ b/sysdeps/unix/sparc/sysdep.h
@@ -39,6 +39,9 @@ __sparc_get_pc_thunk.reg: \
.previous; \
.endif;
+/* Even when v9 we use a call sequence instead of using "rd %pc" because
+ RDPC is extremely expensive and incurs a full pipeline flush. */
+
#define SETUP_PIC_REG(reg) \
SPARC_PIC_THUNK(reg) \
sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %##reg; \