On 10/23/2012 09:19 PM, Stephen Rothwell wrote:> Hi all, > > Changes since 201201023: >on x86_64: drivers/built-in.o: In function `dbgp_reset_prep': (.text+0xb96b5): undefined reference to `xen_dbgp_reset_prep' drivers/built-in.o: In function `dbgp_external_startup': (.text+0xb9d95): undefined reference to `xen_dbgp_external_startup' Full randconfig file is attached. -- ~Randy -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: config-r8330 URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20121024/5c8a45eb/attachment-0001.ksh>
>>> On 24.10.12 at 23:33, Randy Dunlap <rdunlap@xenotime.net> wrote: > On 10/23/2012 09:19 PM, Stephen Rothwell wrote: > >> Hi all, >> >> Changes since 201201023: >> > > on x86_64: > > drivers/built-in.o: In function `dbgp_reset_prep'': > (.text+0xb96b5): undefined reference to `xen_dbgp_reset_prep'' > drivers/built-in.o: In function `dbgp_external_startup'': > (.text+0xb9d95): undefined reference to `xen_dbgp_external_startup'' > > > Full randconfig file is attached.So this is because with !USB_SUPPORT but EARLY_PRINTK_DBGP dbgp_reset_prep() and dbgp_external_startup() get pointlessly defined and exported. This got broken by the merge recommendation for the ARM side changes (originally compilation of drivers/xen/dbgp.c depended on just CONFIG_XEN_DOM0). From my pov, fixing the USB side would be the clean solution (i.e. putting those function definitions inside a CONFIG_USB_SUPPORT conditional). The alternative of a smaller change would be to extend the conditional around the respective xen_dbgp_...() declarations in include/linux/usb/ehci_def.h to become #if defined(CONFIG_XEN_DOM0) && defined(CONFIG_USB_SUPPORT) Please advise towards your preference. Jan
>>> On 24.10.12 at 23:33, Randy Dunlap <rdunlap at xenotime.net> wrote: > On 10/23/2012 09:19 PM, Stephen Rothwell wrote: > >> Hi all, >> >> Changes since 201201023: >> > > on x86_64: > > drivers/built-in.o: In function `dbgp_reset_prep': > (.text+0xb96b5): undefined reference to `xen_dbgp_reset_prep' > drivers/built-in.o: In function `dbgp_external_startup': > (.text+0xb9d95): undefined reference to `xen_dbgp_external_startup' > > > Full randconfig file is attached.So this is because with !USB_SUPPORT but EARLY_PRINTK_DBGP dbgp_reset_prep() and dbgp_external_startup() get pointlessly defined and exported. This got broken by the merge recommendation for the ARM side changes (originally compilation of drivers/xen/dbgp.c depended on just CONFIG_XEN_DOM0).
On Thu, 25 Oct 2012, Jan Beulich wrote:> >>> On 24.10.12 at 23:33, Randy Dunlap <rdunlap@xenotime.net> wrote: > > On 10/23/2012 09:19 PM, Stephen Rothwell wrote: > > > >> Hi all, > >> > >> Changes since 201201023: > >> > > > > on x86_64: > > > > drivers/built-in.o: In function `dbgp_reset_prep'': > > (.text+0xb96b5): undefined reference to `xen_dbgp_reset_prep'' > > drivers/built-in.o: In function `dbgp_external_startup'': > > (.text+0xb9d95): undefined reference to `xen_dbgp_external_startup'' > > > > > > Full randconfig file is attached. > > So this is because with !USB_SUPPORT but EARLY_PRINTK_DBGP > dbgp_reset_prep() and dbgp_external_startup() get pointlessly > defined and exported. This got broken by the merge > recommendation for the ARM side changes (originally compilation > of drivers/xen/dbgp.c depended on just CONFIG_XEN_DOM0). > > >From my pov, fixing the USB side would be the clean solution (i.e. > putting those function definitions inside a CONFIG_USB_SUPPORT > conditional). > > The alternative of a smaller change would be to extend the > conditional around the respective xen_dbgp_...() declarations > in include/linux/usb/ehci_def.h to become > > #if defined(CONFIG_XEN_DOM0) && defined(CONFIG_USB_SUPPORT) > > Please advise towards your preference.I think that your first suggestion is the right one. Otherwise we could also make drivers/xen/dbgp.c compile if CONFIG_EARLY_PRINTK_DBGP rather than CONFIG_USB_SUPPORT. I think that it would create fewer maintenance pains if dbgp_reset_prep and dbgp_external_startup had the same compile requirements as their xen counterparts (aside from Xen support of course).