* [PATCH] minios: make mini-os_app.o depend on included xen libraries
@ 2016-09-27 12:06 Juergen Gross
2016-09-27 15:56 ` Wei Liu
2016-09-27 16:28 ` Samuel Thibault
0 siblings, 2 replies; 6+ messages in thread
From: Juergen Gross @ 2016-09-27 12:06 UTC (permalink / raw)
To: minios-devel, xen-devel; +Cc: Juergen Gross, samuel.thibault, wei.liu2
When building Mini-OS with an app which is using xen libraries like
libxenguest.a let mini-os_app.o depend on the library binaries as it
is statically linked with them.
While at it add "-T" before app.lds for linking mini-os_app.o to avoid
a linker warning.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
Makefile | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 81b936f..1d2324c 100644
--- a/Makefile
+++ b/Makefile
@@ -125,11 +125,18 @@ OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
ifeq ($(libc),y)
ifeq ($(CONFIG_XC),y)
APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog -whole-archive -lxentoollog -no-whole-archive
+LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog/libxentoollog.a
APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/evtchn -whole-archive -lxenevtchn -no-whole-archive
+LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/evtchn/libxenevtchn.a
APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/gnttab -whole-archive -lxengnttab -no-whole-archive
+LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/gnttab/libxengnttab.a
APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/call -whole-archive -lxencall -no-whole-archive
+LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/call/libxencall.a
APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/foreignmemory -whole-archive -lxenforeignmemory -no-whole-archive
+LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a
APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH) -whole-archive -lxenguest -lxenctrl -no-whole-archive
+LIBS += $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH)/libxenctrl.a
+LIBS += $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH)/libxenguest.a
endif
APP_LDLIBS += -lpci
APP_LDLIBS += -lz
@@ -141,8 +148,8 @@ ifneq ($(APP_OBJS)-$(lwip),-y)
OBJS := $(filter-out $(OBJ_DIR)/daytime.o, $(OBJS))
endif
-$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds
- $(LD) -r -d $(LDFLAGS) -\( $^ -\) $(APP_LDLIBS) --undefined main -o $@
+$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds $(LIBS)
+ $(LD) -r -d $(LDFLAGS) -\( $(APP_OBJS) -T app.lds -\) $(APP_LDLIBS) --undefined main -o $@
ifneq ($(APP_OBJS),)
APP_O=$(OBJ_DIR)/$(TARGET)_app.o
--
2.6.6
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] minios: make mini-os_app.o depend on included xen libraries
2016-09-27 12:06 [PATCH] minios: make mini-os_app.o depend on included xen libraries Juergen Gross
@ 2016-09-27 15:56 ` Wei Liu
2016-09-27 16:03 ` Juergen Gross
2016-09-27 16:28 ` Samuel Thibault
1 sibling, 1 reply; 6+ messages in thread
From: Wei Liu @ 2016-09-27 15:56 UTC (permalink / raw)
To: Juergen Gross; +Cc: minios-devel, xen-devel, wei.liu2, samuel.thibault
On Tue, Sep 27, 2016 at 02:06:24PM +0200, Juergen Gross wrote:
> When building Mini-OS with an app which is using xen libraries like
> libxenguest.a let mini-os_app.o depend on the library binaries as it
> is statically linked with them.
>
> While at it add "-T" before app.lds for linking mini-os_app.o to avoid
> a linker warning.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> Makefile | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 81b936f..1d2324c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -125,11 +125,18 @@ OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
> ifeq ($(libc),y)
> ifeq ($(CONFIG_XC),y)
> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog -whole-archive -lxentoollog -no-whole-archive
> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog/libxentoollog.a
I don't follow. Why is the original APP_LDLIBS not enough?
The new dependency doesn't seem to generate any new rules. What do I
miss?
Wei.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] minios: make mini-os_app.o depend on included xen libraries
2016-09-27 15:56 ` Wei Liu
@ 2016-09-27 16:03 ` Juergen Gross
2016-09-27 16:15 ` Wei Liu
0 siblings, 1 reply; 6+ messages in thread
From: Juergen Gross @ 2016-09-27 16:03 UTC (permalink / raw)
To: Wei Liu; +Cc: minios-devel, xen-devel, samuel.thibault
On 27/09/16 17:56, Wei Liu wrote:
> On Tue, Sep 27, 2016 at 02:06:24PM +0200, Juergen Gross wrote:
>> When building Mini-OS with an app which is using xen libraries like
>> libxenguest.a let mini-os_app.o depend on the library binaries as it
>> is statically linked with them.
>>
>> While at it add "-T" before app.lds for linking mini-os_app.o to avoid
>> a linker warning.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> Makefile | 11 +++++++++--
>> 1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index 81b936f..1d2324c 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -125,11 +125,18 @@ OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
>> ifeq ($(libc),y)
>> ifeq ($(CONFIG_XC),y)
>> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog -whole-archive -lxentoollog -no-whole-archive
>> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog/libxentoollog.a
>
> I don't follow. Why is the original APP_LDLIBS not enough?
This just adds the parameters for ld to use the libs.
> The new dependency doesn't seem to generate any new rules. What do I
> miss?
You snipped:
+$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds $(LIBS)
which adds a dependency on the libs. Now mini-os_app.o will be relinked
if any of the libs changed. That was not the case before. I realized
that a modification of libxc wouldn't make it into pvgrub if I didn't
do a "make clean" and pvgrub was built before.
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] minios: make mini-os_app.o depend on included xen libraries
2016-09-27 16:03 ` Juergen Gross
@ 2016-09-27 16:15 ` Wei Liu
0 siblings, 0 replies; 6+ messages in thread
From: Wei Liu @ 2016-09-27 16:15 UTC (permalink / raw)
To: Juergen Gross; +Cc: minios-devel, xen-devel, Wei Liu, samuel.thibault
On Tue, Sep 27, 2016 at 06:03:28PM +0200, Juergen Gross wrote:
> On 27/09/16 17:56, Wei Liu wrote:
> > On Tue, Sep 27, 2016 at 02:06:24PM +0200, Juergen Gross wrote:
> >> When building Mini-OS with an app which is using xen libraries like
> >> libxenguest.a let mini-os_app.o depend on the library binaries as it
> >> is statically linked with them.
> >>
> >> While at it add "-T" before app.lds for linking mini-os_app.o to avoid
> >> a linker warning.
> >>
> >> Signed-off-by: Juergen Gross <jgross@suse.com>
> >> ---
> >> Makefile | 11 +++++++++--
> >> 1 file changed, 9 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/Makefile b/Makefile
> >> index 81b936f..1d2324c 100644
> >> --- a/Makefile
> >> +++ b/Makefile
> >> @@ -125,11 +125,18 @@ OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
> >> ifeq ($(libc),y)
> >> ifeq ($(CONFIG_XC),y)
> >> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog -whole-archive -lxentoollog -no-whole-archive
> >> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog/libxentoollog.a
> >
> > I don't follow. Why is the original APP_LDLIBS not enough?
>
> This just adds the parameters for ld to use the libs.
>
> > The new dependency doesn't seem to generate any new rules. What do I
> > miss?
>
> You snipped:
>
> +$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds $(LIBS)
>
> which adds a dependency on the libs. Now mini-os_app.o will be relinked
> if any of the libs changed. That was not the case before. I realized
> that a modification of libxc wouldn't make it into pvgrub if I didn't
> do a "make clean" and pvgrub was built before.
>
I see
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
>
> Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] minios: make mini-os_app.o depend on included xen libraries
2016-09-27 12:06 [PATCH] minios: make mini-os_app.o depend on included xen libraries Juergen Gross
2016-09-27 15:56 ` Wei Liu
@ 2016-09-27 16:28 ` Samuel Thibault
2016-09-27 16:52 ` Wei Liu
1 sibling, 1 reply; 6+ messages in thread
From: Samuel Thibault @ 2016-09-27 16:28 UTC (permalink / raw)
To: Juergen Gross; +Cc: minios-devel, xen-devel, wei.liu2
Juergen Gross, on Tue 27 Sep 2016 14:06:24 +0200, wrote:
> When building Mini-OS with an app which is using xen libraries like
> libxenguest.a let mini-os_app.o depend on the library binaries as it
> is statically linked with them.
>
> While at it add "-T" before app.lds for linking mini-os_app.o to avoid
> a linker warning.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
> Makefile | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 81b936f..1d2324c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -125,11 +125,18 @@ OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
> ifeq ($(libc),y)
> ifeq ($(CONFIG_XC),y)
> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog -whole-archive -lxentoollog -no-whole-archive
> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/toollog/libxentoollog.a
> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/evtchn -whole-archive -lxenevtchn -no-whole-archive
> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/evtchn/libxenevtchn.a
> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/gnttab -whole-archive -lxengnttab -no-whole-archive
> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/gnttab/libxengnttab.a
> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/call -whole-archive -lxencall -no-whole-archive
> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/call/libxencall.a
> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/foreignmemory -whole-archive -lxenforeignmemory -no-whole-archive
> +LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a
> APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH) -whole-archive -lxenguest -lxenctrl -no-whole-archive
> +LIBS += $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH)/libxenctrl.a
> +LIBS += $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH)/libxenguest.a
> endif
> APP_LDLIBS += -lpci
> APP_LDLIBS += -lz
> @@ -141,8 +148,8 @@ ifneq ($(APP_OBJS)-$(lwip),-y)
> OBJS := $(filter-out $(OBJ_DIR)/daytime.o, $(OBJS))
> endif
>
> -$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds
> - $(LD) -r -d $(LDFLAGS) -\( $^ -\) $(APP_LDLIBS) --undefined main -o $@
> +$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds $(LIBS)
> + $(LD) -r -d $(LDFLAGS) -\( $(APP_OBJS) -T app.lds -\) $(APP_LDLIBS) --undefined main -o $@
>
> ifneq ($(APP_OBJS),)
> APP_O=$(OBJ_DIR)/$(TARGET)_app.o
> --
> 2.6.6
>
--
Samuel
#ifndef I_WISH_WORLD_WERE_PERFECT
/* It is not :-( All the routers (except for Linux) return only
...
-+- linux/net/ipv4/ipip.c -+-
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] minios: make mini-os_app.o depend on included xen libraries
2016-09-27 16:28 ` Samuel Thibault
@ 2016-09-27 16:52 ` Wei Liu
0 siblings, 0 replies; 6+ messages in thread
From: Wei Liu @ 2016-09-27 16:52 UTC (permalink / raw)
To: Samuel Thibault, Juergen Gross, minios-devel, xen-devel, wei.liu2
On Tue, Sep 27, 2016 at 06:28:10PM +0200, Samuel Thibault wrote:
> Juergen Gross, on Tue 27 Sep 2016 14:06:24 +0200, wrote:
> > When building Mini-OS with an app which is using xen libraries like
> > libxenguest.a let mini-os_app.o depend on the library binaries as it
> > is statically linked with them.
> >
> > While at it add "-T" before app.lds for linking mini-os_app.o to avoid
> > a linker warning.
> >
> > Signed-off-by: Juergen Gross <jgross@suse.com>
>
> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
>
Pushed. Thanks.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-09-27 16:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-27 12:06 [PATCH] minios: make mini-os_app.o depend on included xen libraries Juergen Gross
2016-09-27 15:56 ` Wei Liu
2016-09-27 16:03 ` Juergen Gross
2016-09-27 16:15 ` Wei Liu
2016-09-27 16:28 ` Samuel Thibault
2016-09-27 16:52 ` Wei Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).