[kvm-unit-tests PATCH] arm & powerpc: populate argv[0] fixups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Fix powerpc builds, we can't pass $(LDFLAGS) to $(CC)
* Fix argv[0] name to include dir and suffix, like x86 has.
* Satisfy Drew's OCD by adding 'e' to all prognam variables,
  matching the more popular variable name (says Google) used
  by Paolo, PROGNAME.

Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
---
 arm/Makefile.common     | 3 ++-
 lib/argv.c              | 6 +++---
 lib/arm/setup.c         | 4 ++--
 lib/auxinfo.h           | 2 +-
 lib/powerpc/setup.c     | 4 ++--
 powerpc/Makefile.common | 9 +++++----
 6 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/arm/Makefile.common b/arm/Makefile.common
index be99a4a2390e5..ccb554d9251a4 100644
--- a/arm/Makefile.common
+++ b/arm/Makefile.common
@@ -54,7 +54,8 @@ FLATLIBS = $(libcflat) $(LIBFDT_archive) $(libgcc) $(libeabi)
 %.elf: %.o $(FLATLIBS) arm/flat.lds $(cstart.o)
 	$(CC) $(LDFLAGS) -o $@ \
 		-Wl,-T,arm/flat.lds,--build-id=none,-Ttext=$(start_addr) \
-		$(filter %.o, $^) $(FLATLIBS) lib/auxinfo.c -DPROGNAME=\"$(*F)\"
+		$(filter %.o, $^) $(FLATLIBS) \
+		lib/auxinfo.c -DPROGNAME=\"$(@:.elf=.flat)\"
 
 %.flat: %.elf
 	$(OBJCOPY) -O binary $^ $@
diff --git a/lib/argv.c b/lib/argv.c
index d6db685b7a941..482ed004ee64c 100644
--- a/lib/argv.c
+++ b/lib/argv.c
@@ -43,11 +43,11 @@ void setup_args(char *args)
     __setup_args();
 }
 
-void setup_args_prognam(char *args)
+void setup_args_progname(char *args)
 {
     __argv[0] = copy_ptr;
-    strcpy(__argv[0], auxinfo.prognam);
-    copy_ptr += strlen(auxinfo.prognam) + 1;
+    strcpy(__argv[0], auxinfo.progname);
+    copy_ptr += strlen(auxinfo.progname) + 1;
     ++__argc;
     if (args) {
         __args = args;
diff --git a/lib/arm/setup.c b/lib/arm/setup.c
index c27cc8d052f03..7e7b39f11dde1 100644
--- a/lib/arm/setup.c
+++ b/lib/arm/setup.c
@@ -22,7 +22,7 @@
 
 extern unsigned long stacktop;
 extern void io_init(void);
-extern void setup_args_prognam(const char *args);
+extern void setup_args_progname(const char *args);
 
 u32 cpus[NR_CPUS] = { [0 ... NR_CPUS-1] = (~0U) };
 int nr_cpus;
@@ -124,5 +124,5 @@ void setup(const void *fdt)
 
 	ret = dt_get_bootargs(&bootargs);
 	assert(ret == 0);
-	setup_args_prognam(bootargs);
+	setup_args_progname(bootargs);
 }
diff --git a/lib/auxinfo.h b/lib/auxinfo.h
index 18510bac96fd2..ef2376b4aca7f 100644
--- a/lib/auxinfo.h
+++ b/lib/auxinfo.h
@@ -1,7 +1,7 @@
 #ifndef _AUXINFO_H_
 #define _AUXINFO_H_
 struct auxinfo {
-	const char *prognam;
+	const char *progname;
 };
 
 /* No extern!  Define a common symbol.  */
diff --git a/lib/powerpc/setup.c b/lib/powerpc/setup.c
index 82e1346b4a27c..e3d2afa31a59f 100644
--- a/lib/powerpc/setup.c
+++ b/lib/powerpc/setup.c
@@ -20,7 +20,7 @@
 
 extern unsigned long stacktop;
 extern void io_init(void);
-extern void setup_args_prognam(const char *args);
+extern void setup_args_progname(const char *args);
 
 u32 cpus[NR_CPUS] = { [0 ... NR_CPUS-1] = (~0U) };
 int nr_cpus;
@@ -164,5 +164,5 @@ void setup(const void *fdt)
 
 	ret = dt_get_bootargs(&bootargs);
 	assert(ret == 0);
-	setup_args_prognam(bootargs);
+	setup_args_progname(bootargs);
 }
diff --git a/powerpc/Makefile.common b/powerpc/Makefile.common
index bbad9c763a7d4..3f8887daa8423 100644
--- a/powerpc/Makefile.common
+++ b/powerpc/Makefile.common
@@ -41,10 +41,11 @@ FLATLIBS = $(libcflat) $(LIBFDT_archive)
 %.elf: CFLAGS += $(arch_CFLAGS)
 %.elf: LDFLAGS = $(arch_LDFLAGS) -nostdlib -pie
 %.elf: %.o $(FLATLIBS) powerpc/flat.lds $(cstart.o) $(reloc.o)
-	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
-	      -Wl,-T,powerpc/flat.lds -Wl,--build-id=none \
-		$(filter %.o, $^) $(FLATLIBS) \
-		lib/auxinfo.c -DPROGNAME=\"$*\"
+	$(CC) $(CFLAGS) -c -o $(@:.elf=.aux.o) lib/auxinfo.c -DPROGNAME=\"$@\"
+	$(LD) $(LDFLAGS) -o $@ \
+		-T powerpc/flat.lds --build-id=none \
+		$(filter %.o, $^) $(FLATLIBS) $(@:.elf=.aux.o)
+	$(RM) $(@:.elf=.aux.o)
 	@echo -n Checking $@ for unsupported reloc types...
 	@if $(OBJDUMP) -R $@ | grep R_ | grep -v R_PPC64_RELATIVE; then	\
 		false;							\
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux