Message ID | 20210504124842.220445-4-jandryuk@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | vtpmmgr: Some fixes - still incomplete | expand |
Jason Andryuk, le mar. 04 mai 2021 08:48:36 -0400, a ecrit: > vtpmmgr was changed to print size_t with the %z modifier, but newlib > isn't compiled with %z support. So you get output like: > > root seal: zu; sector of 13: zu > root: zu v=zu > itree: 36; sector of 112: zu > group: zu v=zu id=zu md=zu > group seal: zu; 5 in parent: zu; sector of 13: zu > vtpm: zu+zu; sector of 48: zu > > Enable the C99 formats in newlib so vtpmmgr prints the numeric values. > > Fixes 9379af08ccc0 "stubdom: vtpmmgr: Correctly format size_t with %z > when printing." > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > --- > I haven't tried, but the other option would be to cast size_t and avoid > %z. Since this seems to be the only mini-os use of %z, that may be > better than building a larger newlib. The size difference will be very small. I believe we prefer to have a working %z rather than getting surprised to see it non-working. > --- > stubdom/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/stubdom/Makefile b/stubdom/Makefile > index 90d9ffcd9f..c6de5f68ae 100644 > --- a/stubdom/Makefile > +++ b/stubdom/Makefile > @@ -105,7 +105,7 @@ cross-newlib: $(NEWLIB_STAMPFILE) > $(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION) > mkdir -p newlib-$(XEN_TARGET_ARCH) > ( cd newlib-$(XEN_TARGET_ARCH) && \ > - CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \ > + CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --enable-newlib-io-c99-formats --disable-multilib && \ > $(MAKE) DESTDIR= && \ > $(MAKE) DESTDIR= install ) > > -- > 2.30.2 >
On 5/4/21 8:48 AM, Jason Andryuk wrote: > vtpmmgr was changed to print size_t with the %z modifier, but newlib > isn't compiled with %z support. So you get output like: > > root seal: zu; sector of 13: zu > root: zu v=zu > itree: 36; sector of 112: zu > group: zu v=zu id=zu md=zu > group seal: zu; 5 in parent: zu; sector of 13: zu > vtpm: zu+zu; sector of 48: zu > > Enable the C99 formats in newlib so vtpmmgr prints the numeric values. > > Fixes 9379af08ccc0 "stubdom: vtpmmgr: Correctly format size_t with %z > when printing." > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com> > --- Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com> > I haven't tried, but the other option would be to cast size_t and avoid > %z. Since this seems to be the only mini-os use of %z, that may be > better than building a larger newlib. > --- > stubdom/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/stubdom/Makefile b/stubdom/Makefile > index 90d9ffcd9f..c6de5f68ae 100644 > --- a/stubdom/Makefile > +++ b/stubdom/Makefile > @@ -105,7 +105,7 @@ cross-newlib: $(NEWLIB_STAMPFILE) > $(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION) > mkdir -p newlib-$(XEN_TARGET_ARCH) > ( cd newlib-$(XEN_TARGET_ARCH) && \ > - CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \ > + CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --enable-newlib-io-c99-formats --disable-multilib && \ > $(MAKE) DESTDIR= && \ > $(MAKE) DESTDIR= install ) > >
diff --git a/stubdom/Makefile b/stubdom/Makefile index 90d9ffcd9f..c6de5f68ae 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -105,7 +105,7 @@ cross-newlib: $(NEWLIB_STAMPFILE) $(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION) mkdir -p newlib-$(XEN_TARGET_ARCH) ( cd newlib-$(XEN_TARGET_ARCH) && \ - CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \ + CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --enable-newlib-io-c99-formats --disable-multilib && \ $(MAKE) DESTDIR= && \ $(MAKE) DESTDIR= install )
vtpmmgr was changed to print size_t with the %z modifier, but newlib isn't compiled with %z support. So you get output like: root seal: zu; sector of 13: zu root: zu v=zu itree: 36; sector of 112: zu group: zu v=zu id=zu md=zu group seal: zu; 5 in parent: zu; sector of 13: zu vtpm: zu+zu; sector of 48: zu Enable the C99 formats in newlib so vtpmmgr prints the numeric values. Fixes 9379af08ccc0 "stubdom: vtpmmgr: Correctly format size_t with %z when printing." Signed-off-by: Jason Andryuk <jandryuk@gmail.com> --- I haven't tried, but the other option would be to cast size_t and avoid %z. Since this seems to be the only mini-os use of %z, that may be better than building a larger newlib. --- stubdom/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)