2017-08-23 04:15:23 +08:00
|
|
|
#ifdef CONFIG_USERSPACE
|
|
|
|
/* We need to reserve room for the gperf generated hash functions.
|
|
|
|
* Fortunately, unlike the data tables, the size of the code is
|
2017-10-06 02:11:02 +08:00
|
|
|
* reasonably predictable.
|
2017-08-23 04:15:23 +08:00
|
|
|
*
|
|
|
|
* The linker will error out complaining that the location pointer
|
|
|
|
* is moving backwards if the reserved room isn't large enough.
|
|
|
|
*/
|
|
|
|
_kobject_text_area_start = .;
|
|
|
|
*(".kobject_data.text*")
|
|
|
|
_kobject_text_area_end = .;
|
|
|
|
#ifndef LINKER_PASS2
|
2017-11-09 08:38:03 +08:00
|
|
|
#ifdef CONFIG_DYNAMIC_OBJECTS
|
|
|
|
PROVIDE(_k_object_gperf_find = .);
|
|
|
|
PROVIDE(_k_object_gperf_wordlist_foreach = .);
|
|
|
|
#else
|
2017-08-23 04:15:23 +08:00
|
|
|
PROVIDE(_k_object_find = .);
|
2017-10-06 02:11:02 +08:00
|
|
|
PROVIDE(_k_object_wordlist_foreach = .);
|
2017-11-09 08:38:03 +08:00
|
|
|
#endif
|
2017-08-23 04:15:23 +08:00
|
|
|
#endif
|
2018-10-07 23:41:18 +08:00
|
|
|
. += CONFIG_KOBJECT_TEXT_AREA - (_kobject_text_area_end - _kobject_text_area_start);
|
2017-08-23 04:15:23 +08:00
|
|
|
#endif /* CONFIG_USERSPACE */
|
|
|
|
|