Linker set issues with ath(4) HALs

Peter Jeremy peterjeremy at
Sat Mar 5 10:50:30 UTC 2011

On 2011-Mar-05 11:48:54 +0200, Kostik Belousov <kostikbel at> wrote:
>On Sat, Mar 05, 2011 at 07:50:05PM +1100, Peter Jeremy wrote:
>> I have a Atheros AR5424 and so, based on the 8.2-STABLE i386 NOTES
>> and some rummaging in the sources, I tried to build a kernel with:
>> device		ath		# Atheros pci/cardbus NIC's
>> device		ath_ar5212	# HAL for Atheros AR5212 and derived chips
>> device		ath_rate_sample	# SampleRate tx rate control for ath
>> These symbols do not appear in any other .o files, though there are a
>> variety of other __{start,stop}_set_* symbols - all of which show up
>> as 'A' (absolule) values in the final kernel.
>> My questions are:
>> How are these linker set references resolved?  I can't find anything
>> that defines these symbols - either in .o files or in ldscript files.
>Linker synthesizes the symbols assuming the following two conditions are
>- the symbols are referenced;
>- there exists an ELF section named `set_ah_rfs'.
>It assigns the (relocated) start of the section to __start_<sectionname>,
>and end to __stop_<sectionname>.

Thank you for that.  Looking through the output of 'objdump -h' showed
that it was user error: When using "device ath_arXXXX", it looks like
you need to include a "device ath_rfYYYY" as well.  After a closer
look at my dmesg and available options, I've add "device ath_rf2425"
and things seem much happier.

Peter Jeremy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url :

More information about the freebsd-stable mailing list