@@ -22,6 +22,7 @@ all: directories $(tests-all)
##################################################################
phys_base = $(LOADADDR)
+AUXFLAGS ?= 0x0
CFLAGS += -std=gnu99
CFLAGS += -ffreestanding
@@ -69,7 +70,7 @@ FLATLIBS = $(libcflat) $(LIBFDT_archive) $(libgcc) $(libeabi)
$(CC) $(LDFLAGS) -o $@ \
-Wl,-T,$(SRCDIR)/arm/flat.lds,--build-id=none,-Ttext=$(start_addr) \
$(filter %.o, $^) $(FLATLIBS) \
- $(SRCDIR)/lib/auxinfo.c -DPROGNAME=\"$(@:.elf=.flat)\"
+ $(SRCDIR)/lib/auxinfo.c -DPROGNAME=\"$(@:.elf=.flat)\" -DAUXFLAGS=$(AUXFLAGS)
%.flat: %.elf
$(OBJCOPY) -O binary $^ $@
@@ -1,2 +1,13 @@
#include "auxinfo.h"
-struct auxinfo auxinfo = { PROGNAME };
+
+#ifndef PROGNAME
+#define PROGNAME ((void *)0)
+#endif
+#ifndef AUXFLAGS
+#define AUXFLAGS 0
+#endif
+
+struct auxinfo auxinfo = {
+ .progname = PROGNAME,
+ .flags = AUXFLAGS,
+};
@@ -6,6 +6,7 @@
#define _AUXINFO_H_
struct auxinfo {
const char *progname;
+ unsigned long flags;
};
/* No extern! Define a common symbol. */
Signed-off-by: Andrew Jones <drjones@redhat.com> --- arm/Makefile.common | 3 ++- lib/auxinfo.c | 13 ++++++++++++- lib/auxinfo.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-)