Commit Graph

176 Commits

Author SHA1 Message Date
liuhaitao
4c4d8b1c1c examples/elf: update elf_main.c dependency to fix parallel build break
Update elf_main.c depends on tests/symtab.c to make sure romfs.h exist
before compiling elf_main.c.

Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-02-26 10:24:05 -06:00
YAMAMOTO Takashi
2abf0f50e1 examples/elf/tests: Ensure "build" before "install" 2020-02-26 00:05:02 -06:00
YAMAMOTO Takashi
45bcfa8b2e examples/elf: Add a few make rules
To fix "don't know how to create tests/dirlist.h" make complaints.
2020-02-25 07:43:23 -06:00
liuguo09
2f23d2a602
examples/elf/tests: Correct symtab.c dependency to fix parallel build break
Correct symtab dependency from build to populate instead, or tests
subdirectory programs would be built twice which resulted in errors
as below:
arm-none-eabi-ld: hello++3.o: file not recognized: file truncated
2020-02-25 13:26:51 +01:00
Xiang Xiao
41d88f06e7 Run codespell -w with the latest dictonary again 2020-02-23 07:10:14 -06:00
Gregory Nutt
218d8c9fe2 examples/elf/tests/mutex/mutex.c: Fix typo in a previous PR. 2020-02-15 19:08:03 +01:00
Gregory Nutt
1056cce2b5 apps/examples/elf: Correct mount point configuration error.
If an external file system is used but is not mounted by the the ELF example, then a compilation error will occur.  This configuration problem has existed for a long time but was unmasked by a recent PR.  In the failure mode, CONFIG_EXAMPLES_ELF_FSTYPE would not be defined because it depends on CONFIG_EXAMPLES_ELF_FSMOUNT which is not defined.  The resulting mountpoint, MOUNTPT, would therefore be left in an invalid state.  Previous changes to conditional logic now allowed setenv() to run and to attempt to set the PATH variable to MOUNTPT, causing a compile time failure like this:

    CC:  elf_main.c
    elf_main.c: In function 'elf_main':
    elf_main.c:113:32: error: expected ')' before 'CONFIG_EXAMPLES_ELF_FSTYPE'
     #  define MOUNTPT      "/mnt/" CONFIG_EXAMPLES_ELF_FSTYPE
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    elf_main.c:364:18: note: in expansion of macro 'MOUNTPT'
       setenv("PATH", MOUNTPT, 1);
                       ^~~~~~~
    elf_main.c:364:3: error: too few arguments to function 'setenv'
       setenv("PATH", MOUNTPT, 1);
       ^~~~~~
    In file included from elf_main.c:47:
    D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include/stdlib.h:158:11: note: declared here
     int       setenv(FAR const char *name, FAR const char *value, int overwrite);
               ^~~~~~

This problem was found during manual build testing using configuration lx_cpu:nsh.
2020-02-15 18:06:43 +01:00
Gregory Nutt
1d8b738a2b apps/examples/elf: Resolve issue issue 63 2020-02-15 23:55:33 +08:00
YAMAMOTO Takashi
e5dd0b1eb9 mksymtab.sh: Avoid using find -executable
As it seems GNU-find only.  macOS doesn't have it.

-perm is in POSIX and should be more widely available.
2020-02-14 09:13:55 -06:00
YAMAMOTO Takashi
66e7590dd0 examples/elf: Don't bother to honor CONFIG_PATH_INITIAL
As we know where the binaries are, there's little point
to use CONFIG_PATH_INITIAL.
2020-02-14 18:38:07 +08:00
Masayuki Ishikawa
539d0854dd examples: elf: Fix warnings when compiled for RISC-V 64bit 2020-02-10 14:16:00 +08:00
Xiang Xiao
779197c63e Ensure all source code end with one and only one newline
by this command:
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
2020-02-09 08:14:49 -06:00
Masayuki Ishikawa
bb3cd0a496 apps: elf: Fix stack corruption in task test
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-02-04 20:56:52 -08:00
Xiang Xiao
e0dcfa0c55 Remove extra whitespace from files (#43)
* Remove multiple newlines at the end of file
* Remove the white space from the end of line
2020-01-31 08:29:24 -06:00
liuhaitao
02dbab7679 Makefile: Fix warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
Change-Id: I73d156f55bc82778c64defe5a8dd84bb478c9008
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-01-19 07:24:21 -06:00
Xiang Xiao
857158451b Unify the void cast usage
1.Remove void cast for function because many place ignore the returned value witout cast
2.Replace void cast for variable with UNUSED macro

Change-Id: Ie644129a563244a6397036789c4c3ea83c4e9b09
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-01-02 23:21:01 +08:00
Gregory Nutt
3da8091d30 Include nuttx/symtab.h instead of nuttx/binfmt/symtab.h since symtab.h under binfmt folder is for internal use. 2019-12-10 08:39:22 -06:00
Xiang Xiao
7808eb62d2 apps/: In all Make.def files, append to CONFIGURED_APPS patch with the absolute path. 2019-10-17 11:33:59 -06:00
Gregory Nutt
3a23523147 Makefiles: This reverts part of commit cf0365ea9. It restores 'conditional' inclusion of TOPDIR/Make.defs. Otherwise all make targets fail if the board has not been configured. That is okay most of the time, but not for things like clean and distclean which should not depend on being configured. 2019-10-15 09:25:48 +08:00
Xiang Xiao
e806097c70 Application.mk and main.c files: Change builtin's entry point from main to xxx_main by macro expansion. This change make the entry point fully compliant with POSIX/ANSI standard. 2019-10-06 06:14:56 -06:00
Xiang Xiao
e829f047bc apps/; Change space to tab and help to ---help--- in Kconfig files. 2019-10-05 21:37:19 -06:00
Xiang Xiao
cf0365ea92 Clean up Makefile under apps folder no functional changes. 2019-10-04 08:35:46 -06:00
Xiang Xiao
9a27d4a697 Makefiles: Remove .PRECIOUS if Makefile doesn't touch libapps. 2019-10-01 11:48:55 -06:00
Manuel Stühn
88d47e469f Merged in manuelstuehn/nuttx-apps/feature/bsd-portable (pull request #190)
change all occurences of /bin/(ba)sh to /usr/bin/env bash which appears more portable

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-10 17:16:33 +00:00
Gregory Nutt
8f5944c4a8 Squashed commit of the following:
include/ and netutils/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    nshlib/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    system/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    testing/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    examples/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
2019-04-29 14:53:38 -06:00
Gregory Nutt
9db029e318 The file system can no longer be disabled. Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS==0 2019-02-11 13:10:10 -06:00
anchao
3432acf7c4 apps/: Rename BINFMT_EXEPATH to LIB_ENVPATH. 2018-11-08 07:31:52 -06:00
anchao
7f5d8dfffe apps/: Fix build break in case sama5d4-ek/elf configuration. Also fix a patch problem in mkromfsimg.h. 2018-09-04 08:05:31 -06:00
anchao
b5cfd93444 apps/: Modification to build system: Unified application compilation rules 2018-09-03 09:29:56 -06:00
anchao
220653f21c Squashed commit of the following:
Author: anchao <anchao@pinecone.net>

     apps/, most main() function: Correct CONFIG_BUILD_LOADABLE usage
     Loadable apps/: Correct loadable symbol table generate
     apps/system/ubloxmodem:  Fix build break
     apps/examples/ostest: start restart/waitpid/user test from main loop
     apps/nshlib:  Expand reboot and poweroff commands to include a second, optional mode argument

    Author: Gregory Nutt <gnutt@nuttx.org>

     An attempt to fix build issues.  Does not work.
     apps/examples/ostest:  Fix some inappropriate renaming of static functions introduced with recent patches.
     apps/builtin/exec_builtin.c:  Fix a error introduced by recent comments.  Found in build testing.

    Author: anchao <anchao@pinecone.net>

     apps/builtin/exec_builtin.c:  Try posix_spawn if builtin apps do not have have an entry point.
     apps/Application.mk: introduce MODULE config to simplify tristate(m)
     apps/nsh:  Change the nuttx shell module type to tristate
     apps:  Add loadable application support
     script/mksymtab:  Generate symbol table name by default
     apps/builtin:  Allow loadable applications can register with apps/builtin.
2018-08-23 11:06:15 -06:00
Gregory Nutt
2f982e9c77 Revert "Squashed commit of the following:"
This reverts commit 25b92edd9f.
2018-08-22 12:06:32 -06:00
anchao
25b92edd9f Squashed commit of the following:
apps/builtin/exec_builtin.c:  Try posix_spawn if builtin apps do not have have an entry point.
    apps/Application.mk: introduce MODULE config to simplify tristate(m)
    apps/nsh:  Change the nuttx shell module type to tristate
    apps:  Add loadable application support
    script/mksymtab:  Generate symbol table name by default
    apps/builtin:  Allow loadable applications can register with apps/builtin.
2018-08-22 09:30:38 -06:00
Gregory Nutt
f5eeaf1fb6 examples/module: Add support for automounting removable media. This involves a wait for the block driver to become available before performing the mount. 2018-08-05 15:35:38 -06:00
Gregory Nutt
6210fcae8b apps/examples/elf: Update some Kconfig comments. 2018-08-04 16:38:46 -06:00
Gregory Nutt
8572f223ae apps/examples/elf: If the test ELF files are on media in removable meda such as SD or USB FLASH, the wait until the media has been installed and initialized before starting the test. 2018-08-04 16:24:02 -06:00
Gregory Nutt
ba2d9e7c42 apps/examples/elf: CROMFS and ROMFS configuration currently only usable in FLAT build. Add configuration to use ELF objects on external media like SD card or USB drive instead. 2018-08-04 13:10:40 -06:00
Gregory Nutt
4db29bc2eb apps/examples/elf: Correct some Kconfig coments. 2018-07-16 12:10:16 -06:00
Gregory Nutt
5ecec24084 There many occurences of the global variable g_exports and the opportunity for collisions. Make the global variable names unique. 2018-07-14 16:36:25 -06:00
Gregory Nutt
654ee7e6f9 apps/examples/elf, module, posix_spawn: Correct naming of global variables that violations the naming requirements of the coding standard. 2018-07-12 09:53:38 -06:00
Gregory Nutt
634dd7709b apps/, Various Makefiles: Fix mixed references to nuttx/lib. These need to be changed to nuttx/staging. 2018-05-30 11:08:13 -06:00
Gregory Nutt
12baeaa22d apps/examples/elf: Add an option to strip debug symbols even if the debug symbols are enabled in the base code. 2018-03-25 10:13:50 -06:00
Gregory Nutt
9dcf0c5ecb apps/examples/elf: Use strip command to make ELF binaries MUCH smaller. 2018-03-25 09:39:18 -06:00
Gregory Nutt
e413211e6e apps/examples/elf: Remove some debug code that was left in the previous commit. 2018-03-24 12:49:37 -06:00
Gregory Nutt
dbdfad8ff5 apps/examples/elf: Extend the ELF program module demo so that you can use compressed ELF programs with CROMFS. 2018-03-24 11:36:20 -06:00
Gregory Nutt
947cbf6d7b apps/examples/nsh and posix_spawn: Must not call exec_setsymtab() directly. That is a non-POSIX internal OS interface. 2018-03-16 08:51:49 -06:00
Gregory Nutt
1db7d34a84 examples/elf and nxff: Won't build with CONFIG_BUILD_KERNEL because the interface exec() is not available in that configuration. Also, remove a stray comma and a stray semacolon in examples/pty_test/Kconfig and examples/random/Kconfig 2017-10-06 15:13:00 -06:00
Gregory Nutt
56814bec38 apps/examples: In elf and nxflat examples, remove low-level interfaces and replace with call to exec(). 2017-10-02 14:32:17 -06:00
Gregory Nutt
7a8561728c The last change added .PRECIOUS: $(BIN) to everyway Makefile in hopes the libapps.a will not be deleted on Control-C (unproven so far). However, $(BIN) may contain back slashes in some build platforms and that causes problems for make: It can't handle the backslashes in the .PRECIOUS dependency list. $(BIN) replaced with ../../libapp.a, where the number of ../ depends on the depth of the Makefile in the apps/ source tree. 2017-08-13 11:03:17 -06:00
Gregory Nutt
a66da34f18 All Makefiles: Add .PRECIOUS: apps/libapps.a to every Makefile. Hopefully this will end awkward problems when you Control-C out of a build and libapps.a is deleted. 2017-08-13 09:35:14 -06:00
Gregory Nutt
4477cbcbd1 Fix some misplaced semicolons as found in build testing. 2017-08-12 14:27:48 -06:00
Daniel Agar
ecab40da6a
remove extra semicolons 2017-06-04 12:25:32 -04:00
Gregory Nutt
b08ea68a33 Move prototype from nuttx/include/nuttx/arch.h to apps/include/platform/cxxinitialize.h 2017-05-13 16:53:33 -06:00
Gregory Nutt
d5b7268d95 ramdisk.h moved from include/fs/nuttx/ to include/nuttx/drivers. 2016-07-20 14:02:41 -06:00
Gregory Nutt
5098539063 Add _ to front of remaining debug macros 2016-06-16 12:12:34 -06:00
Gregory Nutt
cc03ecefc8 Rename err() to _err() 2016-06-16 11:44:22 -06:00
Gregory Nutt
586b0aa7e0 Change names of *dbg() * *err() 2016-06-11 15:51:27 -06:00
Gregory Nutt
e82a54bf18 Reserver the name 'err' for other purposes 2016-06-11 14:49:55 -06:00
Gregory Nutt
468bdcf8e6 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:13:39 -06:00
Sebastien Lorquet
bfff5e7179 Add empty preconfig rules to 'leaf' makefiles 2016-06-02 16:24:30 +02:00
Gregory Nutt
29e8b8e059 Several Makefiles: Add .PHONY definitions to prevent 'clean up to date' message weirdness; Add default definitions for some commonly used things when 'make clean' is used without .config or Make.defs files installed. 2016-05-10 15:40:20 -06:00
Gregory Nutt
e00bc64c40 Trivial correction of some spacing 2016-01-23 17:04:37 -06:00
Gregory Nutt
e39c85b718 Eliminate a warning about a symbol being redefined 2016-01-23 17:03:46 -06:00
Gregory Nutt
aacfce081e Fix several cosmetic, C coding style issues 2015-10-03 11:03:42 -06:00
Gregory Nutt
0629c5466e Standardize the width of all comment boxes in C file 2015-10-02 17:33:30 -06:00
Gregory Nutt
e9447c6058 Standardize nameing of the pre-processor definitiongs group header 2015-10-02 14:06:11 -06:00
Gregory Nutt
c11c4d6bd9 Add si_errno to siginfo_t 2015-08-14 10:12:35 -06:00
Gregory Nutt
d5b6949c9f Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:14:53 -06:00
Gregory Nutt
bd9b2bd740 Add hello++5 to ELF example. From Leo Aloe3132 2015-06-01 10:03:14 -06:00
Gregory Nutt
5f6b3276a2 apps/examples/elf: Add configuration optionst o support building the hello++4 example that depends upon having uClibc++ available. From Leo aloe3132. 2015-05-29 11:47:40 -06:00
Gregory Nutt
3e16e0a0f9 apps/examples: Modify/simpify apps/examples build files. From Roman Saveljev. 2015-05-06 08:19:54 -06:00
Gregory Nutt
b5c4fbf7b6 Fixes for more complaints from cppcheck 2014-11-25 10:32:54 -06:00
Gregory Nutt
bd07573a00 Do not build test cases that use task_create is there is an address environment 2014-09-14 08:19:46 -06:00
Gregory Nutt
0a4258db6d MAINOBJ needs to be added to object list in many Makefile 2014-09-11 06:48:11 -06:00
Gregory Nutt
4f14d3b8c4 Changes to many Makefiles. For kernel buil object containing main cannot go into library because of name collisions. The object file must be handled as a special case in every Makefile 2014-09-07 08:43:01 -06:00
Gregory Nutt
043d6898db Determine the main object name from the main source name in every kernel build Makefile 2014-09-07 07:19:19 -06:00
Gregory Nutt
2881b73f3d Add an nm command after every kernel build link to show if there are any undefined symbols 2014-09-07 07:15:59 -06:00
Gregory Nutt
70765b94fc Add the main object to the list objects to link in every kernel build link command 2014-09-07 07:12:55 -06:00
Gregory Nutt
22720d5eb3 Add the main object to the dependencies for the kernel build 2014-09-07 07:09:22 -06:00
Gregory Nutt
b65500c289 If now a kernel build, then add the main object in with all of the rest 2014-09-07 07:05:54 -06:00
Gregory Nutt
22eb5d5c46 Update apps/examples/helloxx/Makefile 2014-09-07 06:59:30 -06:00
Gregory Nutt
181b75301f Customize the program name in the generic setup that was added to each makefile that installs a program 2014-09-06 13:30:44 -06:00
Gregory Nutt
3454362678 Add generic setup logic to every Makefile that installs a program. Each will need customization 2014-09-06 13:19:02 -06:00
Gregory Nutt
cedf1d7369 Fix all install targets 2014-09-06 13:01:44 -06:00
Gregory Nutt
72cd42282c Oops wrong else 2014-09-06 10:54:58 -06:00
Gregory Nutt
753f347723 Add missing else from last big change 2014-09-06 10:51:18 -06:00
Gregory Nutt
544cfc8aa2 Add program installation for CONFIG_BUILD_KERNEL in all Makefiles that build a main() 2014-09-06 10:42:03 -06:00
Gregory Nutt
d8a239d649 Use more standard *argv[] instead easier **argv 2014-09-06 09:23:23 -06:00
Gregory Nutt
9f7c9b273f With kernel build, entry point to all tasks is main, not some xyz_main 2014-09-06 09:19:15 -06:00
Gregory Nutt
38ecd36a61 Fix clean and distclean targets. Back out a few too many changes made by sed 2014-09-06 08:28:24 -06:00
Gregory Nutt
d6bcd1a93a Add an install target to all makefiles. For the import build, the top-level Makefile now does two passes: (1) builds libapp.a, then (2) installs the programs (not yet finished) 2014-09-06 08:00:47 -06:00
Gregory Nutt
95679676a1 Need to add CRT0 to every Makefile in apps/examples/tests 2014-09-05 16:05:29 -06:00
Gregory Nutt
5cd3325f7e Provide library names and paths in apps/import/Make.defs 2014-09-05 13:59:20 -06:00
Gregory Nutt
c38a108343 Copy more logic from nuttx/tools/Config.mk into the Make.defs file. Plus trivial related changes 2014-09-05 11:25:34 -06:00
Gregory Nutt
7c7a81aa69 Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL 2014-08-29 14:47:22 -06:00
Gregory Nutt
7b721a8b17 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). 2014-08-29 07:20:07 -06:00
Gregory Nutt
2b0f1ed109 Change all variadic macros to C99 style 2014-05-22 09:01:51 -06:00
Gregory Nutt
745de760de Add a ROMFS file system for testing the P-Code binary format 2014-05-08 11:08:01 -06:00
Gregory Nutt
b9cf7acb1a More trailing whilespace removal 2014-04-13 16:24:28 -06:00
Gregory Nutt
3669b6799a More changes to reduce complaints from CppCheck. Some latent bugs fixes, but probably some new typos introduced 2014-02-10 19:11:56 -06:00
Gregory Nutt
d9f6b144bc Move ramdisk.h to include/nutt/fs/ramdisk.h 2013-12-10 09:42:58 -06:00