summaryrefslogtreecommitdiff
path: root/apps/examples/elf/tests
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-08-29 07:20:07 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-08-29 07:20:07 -0600
commit1280639f2eb423c3e6210441a36c96761cd07560 (patch)
tree904f52c432c65a10d5d8c56a1ca7a4dba6664d0d /apps/examples/elf/tests
parentaa61bf9998f4b6e8d6002a94037c54773387ea81 (diff)
downloadnuttx-1280639f2eb423c3e6210441a36c96761cd07560.tar.gz
nuttx-1280639f2eb423c3e6210441a36c96761cd07560.tar.bz2
nuttx-1280639f2eb423c3e6210441a36c96761cd07560.zip
The ELF test/example has been extended so the individual ELF test programs can link against the SYSCALL library (if it is available) or against the C library to eliminate or minimize the need for symbol tables (2014-8-29).
Diffstat (limited to 'apps/examples/elf/tests')
-rw-r--r--apps/examples/elf/tests/errno/Makefile36
-rw-r--r--apps/examples/elf/tests/hello/Makefile34
-rw-r--r--apps/examples/elf/tests/helloxx/Makefile40
-rw-r--r--apps/examples/elf/tests/longjmp/Makefile34
-rw-r--r--apps/examples/elf/tests/mutex/Makefile34
-rw-r--r--apps/examples/elf/tests/pthread/Makefile34
-rw-r--r--apps/examples/elf/tests/signal/Makefile34
-rw-r--r--apps/examples/elf/tests/struct/Makefile36
-rw-r--r--apps/examples/elf/tests/task/Makefile34
9 files changed, 293 insertions, 23 deletions
diff --git a/apps/examples/elf/tests/errno/Makefile b/apps/examples/elf/tests/errno/Makefile
index ca2f34bf9..44e50744b 100644
--- a/apps/examples/elf/tests/errno/Makefile
+++ b/apps/examples/elf/tests/errno/Makefile
@@ -1,7 +1,7 @@
############################################################################
-# examples/elf/tests/hello/Makefile
+# examples/elf/tests/errno/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = errno
SRCS = $(BIN).c
@@ -48,7 +78,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))
diff --git a/apps/examples/elf/tests/hello/Makefile b/apps/examples/elf/tests/hello/Makefile
index 07f97bee9..a5fc71e31 100644
--- a/apps/examples/elf/tests/hello/Makefile
+++ b/apps/examples/elf/tests/hello/Makefile
@@ -1,7 +1,7 @@
############################################################################
# examples/elf/tests/hello/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = hello
SRCS = $(BIN).c
@@ -48,7 +78,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))
diff --git a/apps/examples/elf/tests/helloxx/Makefile b/apps/examples/elf/tests/helloxx/Makefile
index 260475c5d..f0b204ca5 100644
--- a/apps/examples/elf/tests/helloxx/Makefile
+++ b/apps/examples/elf/tests/helloxx/Makefile
@@ -1,7 +1,7 @@
############################################################################
# examples/elf/tests/helloxx/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN1 = hello++1
BIN2 = hello++2
ifeq ($(CONFIG_BINFMT_CONSTRUCTORS),y)
@@ -82,18 +112,18 @@ $(LIBSTDC_STUBS_LIB):
$(BIN1): $(OBJS1)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
$(BIN2): $(OBJS2)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
# BIN3 is equivalent to BIN2 except that is uses static initializers
ifeq ($(CONFIG_BINFMT_CONSTRUCTORS),y)
$(BIN3): $(OBJS3)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
endif
# BIN4 is similar to BIN3 except that it uses the streams code from libstdc++
@@ -102,7 +132,7 @@ endif
#
#$(BIN4): $(OBJS4)
# @echo "LD: $<"
-# $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+# $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN1))
diff --git a/apps/examples/elf/tests/longjmp/Makefile b/apps/examples/elf/tests/longjmp/Makefile
index a0100b247..f85f95434 100644
--- a/apps/examples/elf/tests/longjmp/Makefile
+++ b/apps/examples/elf/tests/longjmp/Makefile
@@ -1,7 +1,7 @@
############################################################################
# examples/elf/tests/longjmp/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = longjmp
SRCS = $(BIN).c
@@ -48,7 +78,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))
diff --git a/apps/examples/elf/tests/mutex/Makefile b/apps/examples/elf/tests/mutex/Makefile
index e3085ad8e..70848c0f8 100644
--- a/apps/examples/elf/tests/mutex/Makefile
+++ b/apps/examples/elf/tests/mutex/Makefile
@@ -1,7 +1,7 @@
############################################################################
# examples/elf/tests/mutex/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = mutex
SRCS = $(BIN).c
@@ -48,7 +78,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))
diff --git a/apps/examples/elf/tests/pthread/Makefile b/apps/examples/elf/tests/pthread/Makefile
index f201b12f5..1b02b017c 100644
--- a/apps/examples/elf/tests/pthread/Makefile
+++ b/apps/examples/elf/tests/pthread/Makefile
@@ -1,7 +1,7 @@
############################################################################
# examples/elf/tests/pthread/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = pthread
SRCS = $(BIN).c
@@ -48,7 +78,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))
diff --git a/apps/examples/elf/tests/signal/Makefile b/apps/examples/elf/tests/signal/Makefile
index 53a5d5721..abb596f6c 100644
--- a/apps/examples/elf/tests/signal/Makefile
+++ b/apps/examples/elf/tests/signal/Makefile
@@ -1,7 +1,7 @@
############################################################################
# examples/elf/tests/signal/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = signal
SRCS = $(BIN).c
@@ -48,7 +78,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))
diff --git a/apps/examples/elf/tests/struct/Makefile b/apps/examples/elf/tests/struct/Makefile
index 80117a72f..b0fa3e474 100644
--- a/apps/examples/elf/tests/struct/Makefile
+++ b/apps/examples/elf/tests/struct/Makefile
@@ -1,7 +1,7 @@
############################################################################
-# examples/elf/tests/hello/Makefile
+# examples/elf/tests/struct/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -37,6 +37,36 @@
CELFFLAGS += -I.
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = struct
SRCS = struct_main.c struct_dummy.c
OBJS = $(SRCS:.c=.o)
@@ -49,7 +79,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))
diff --git a/apps/examples/elf/tests/task/Makefile b/apps/examples/elf/tests/task/Makefile
index c30fa8076..dcf758dfd 100644
--- a/apps/examples/elf/tests/task/Makefile
+++ b/apps/examples/elf/tests/task/Makefile
@@ -1,7 +1,7 @@
############################################################################
# examples/elf/tests/task/Makefile
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,36 @@
-include $(TOPDIR)/Make.defs
+ifeq ($(WINTOOL),y)
+NUTTXLIB = "${shell cygpath -w $(TOPDIR)$(DELIM)lib}"
+else
+NUTTXLIB = "$(TOPDIR)$(DELIM)lib"
+endif
+
+LIBPATH =
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+else
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+LDELFFLAGS += -Bstatic
+LIBPATH += -L $(NUTTXLIB)
+endif
+endif
+
+LIBS =
+ifeq ($(CONFIG_EXAMPLES_ELF_LIBC),y)
+ifeq ($(CONFIG_NUTTX_KERNEL),y)
+LIBS += -luc
+else
+LIBS += -lc
+endif
+endif
+
+ifeq ($(CONFIG_EXAMPLES_ELF_SYSCALL),y)
+LIBS += -lproxies
+endif
+
BIN = task
SRCS = $(BIN).c
@@ -48,7 +78,7 @@ $(OBJS): %.o: %.c
$(BIN): $(OBJS)
@echo "LD: $<"
- $(Q) $(LD) $(LDELFFLAGS) -o $@ $^
+ $(Q) $(LD) $(LDELFFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
clean:
$(call DELFILE, $(BIN))