File gcc7-mini-os.patch of Package xen

ld -nostdlib -L/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/cross-root-i686/i686-xen-elf/lib  -m elf_i386 -T /home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/arch/x86/minios-x86_32.lds  /home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os.o  -o /home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os.o: In function `_strtoll_r':
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/newlib-x86_32/i686-xen-elf/newlib/libc/stdlib/../../../../../newlib-1.16.0/newlib/libc/stdlib/strtoll_r.c:110: undefined reference to `__udivmoddi4'
make[2]: *** [Makefile:167: /home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os] Error 1
make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/extras/mini-os-remote'
make[1]: *** [Makefile:566: pv-grub] Error 2
make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom'
make: *** [Makefile:106: install-stubdom] Error 2

GCC 6.x used to generate __umoddi3 and __udivdi3, now __udivmoddi4 is generated.

Index: xen-4.9.0-testing/extras/mini-os-remote/Makefile
===================================================================
--- xen-4.9.0-testing.orig/extras/mini-os-remote/Makefile
+++ xen-4.9.0-testing/extras/mini-os-remote/Makefile
@@ -162,7 +162,11 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  ar
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
-	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
+	if [ "$(MINIOS_TARGET_ARCH)" = "x86_32" -a -f /usr/lib64/gcc/x86_64-suse-linux/7/32/libgcc.a ] ; then \
+		$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) -L/usr/lib64/gcc/x86_64-suse-linux/7/32 $(LDLIBS) -lgcc -o $@.o ; \
+	else \
+		$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o ; \
+	fi
 	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
 	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@
 	gzip -f -9 -c $@ >$@.gz
openSUSE Build Service is sponsored by