diff options
author | avg <avg@FreeBSD.org> | 2010-09-15 10:02:46 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2010-09-15 10:02:46 +0000 |
commit | 50571f8bfa82e5e5b58ce1788d16b7ea400a744d (patch) | |
tree | de277776f8106943e14494eff71ee16cdb28452c /sys/sys/pcpu.h | |
parent | 7c1018585f996a186a310ccb324e2fbd8249b63e (diff) | |
download | FreeBSD-src-50571f8bfa82e5e5b58ce1788d16b7ea400a744d.zip FreeBSD-src-50571f8bfa82e5e5b58ce1788d16b7ea400a744d.tar.gz |
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
Diffstat (limited to 'sys/sys/pcpu.h')
-rw-r--r-- | sys/sys/pcpu.h | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/sys/sys/pcpu.h b/sys/sys/pcpu.h index 7d510c9..75017d6 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; -__asm__( -#ifdef __arm__ - ".section set_pcpu, \"aw\", %progbits\n" -#else - ".section set_pcpu, \"aw\", @progbits\n" -#endif - "\t.p2align " __XSTRING(CACHE_LINE_SHIFT) "\n" - "\t.previous"); - /* * Array of dynamic pcpu base offsets. Indexed by id. */ |