[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] make use of .startof.() and .sizeof.() assembler expressions
>>> On 30.08.16 at 14:50, <julien.grall@xxxxxxx> wrote: > On 24/08/16 08:44, Jan Beulich wrote: >> --- a/xen/arch/arm/device.c >> +++ b/xen/arch/arm/device.c >> @@ -21,8 +21,8 @@ >> #include <xen/errno.h> >> #include <xen/lib.h> >> >> -extern const struct device_desc _sdevice[], _edevice[]; >> -extern const struct acpi_device_desc _asdevice[], _aedevice[]; >> +extern const struct device_desc _sdevice[] asm(".startof.(.dev.info)"); >> +extern const struct device_desc _edevice[]; >> >> int __init device_init(struct dt_device_node *dev, enum device_class class, >> const void *data) >> @@ -51,6 +51,11 @@ int __init device_init(struct dt_device_ >> return -EBADF; >> } >> >> +#ifdef CONFIG_ACPI > > Why did you add the #ifdef CONFIG_ACPI here? It is not explained in the > commit message. .startof.(section_which_not_exist) gives a linker error. And ld doesn't add to the section table any sections mentioned in the linker script, but without constituents. > If you want to add it, it should be a separate patch and we should go > further by removing the section in the linker script. While I don't think this needs to be broken out, it certainly can (but then really there should have been a conditional like the one I introduce from the beginning, to avoid having dead code in a non- ACPI enabled binary). >> --- a/xen/arch/arm/xen.lds.S >> +++ b/xen/arch/arm/xen.lds.S >> @@ -31,7 +31,6 @@ SECTIONS >> . = XEN_VIRT_START; >> _start = .; >> .text : /* XXX should be AT ( XEN_PHYS_START ) */ { >> - _stext = .; /* Text section */ > > I don't see any removal of _stext in xen/arch/arm/alternative.c. Why should that be removed? _stext doesn't cease to exist: --- a/xen/include/xen/kernel.h +++ b/xen/include/xen/kernel.h @@ -71,24 +71,34 @@ extern char _start[], _end[], start[]; (__p >= _start) && (__p < _end); \ }) -extern char _stext[], _etext[]; +extern const char _stext[] asm(".startof.(.text)"); +extern const char _etext[]; #define is_kernel_text(p) ({ \ Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |