path: root/sys/sys/pcpu.h
diff options
authorAndriy Gapon <avg@FreeBSD.org>2010-09-15 10:02:46 +0000
committerAndriy Gapon <avg@FreeBSD.org>2010-09-15 10:02:46 +0000
commitd94815546541ca4d8ad58029e04c14ed8bbcffc9 (patch)
treede277776f8106943e14494eff71ee16cdb28452c /sys/sys/pcpu.h
parent522a3b5fbc0dea64b732a061bc379e3a7d852ba7 (diff)
sys/pcpu.h: remove a workaround for a fixed ld bug
The workaround was incorrectly documented as having something to do with set_pcpu section's progbits, but in fact it was for incorrect placement of __start_set_pcpu because of the bug in ld. The bug was fixed in r210245, see commit message for details. A side-effect of the workaround was that a zero-size set_pcpu section was produced for modules, source code of which included pcpu.h but didn't actually define any dynamic per-cpu variables. This commit should remove the side-effect. The same workaround is present sys/net/vnet.h, has an analogous side-effect and can be removed as well. An UPDATING entry that warns about a need for recent ld is following. MFC after: 1 month
Notes: svn path=/head/; revision=212647
Diffstat (limited to 'sys/sys/pcpu.h')
1 files changed, 0 insertions, 14 deletions
diff --git a/sys/sys/pcpu.h b/sys/sys/pcpu.h
index 7d510c9ae7fe..75017d6c6bcd 100644
--- a/sys/sys/pcpu.h
+++ b/sys/sys/pcpu.h
@@ -44,24 +44,10 @@
* Define a set for pcpu data.
- *
- * We don't use SET_DECLARE because it defines the set as 'a' when we
- * want 'aw'. gcc considers uninitialized data in a separate section
- * writable, and there is no generic zero initializer that works for
- * structs and scalars.
extern uintptr_t *__start_set_pcpu;
extern uintptr_t *__stop_set_pcpu;
-#ifdef __arm__
- ".section set_pcpu, \"aw\", %progbits\n"
- ".section set_pcpu, \"aw\", @progbits\n"
- "\t.p2align " __XSTRING(CACHE_LINE_SHIFT) "\n"
- "\t.previous");
* Array of dynamic pcpu base offsets. Indexed by id.