summaryrefslogtreecommitdiff
path: root/misc/buildroot
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-18 22:26:31 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-18 22:26:31 +0000
commitfe4e2296549d9b5288f1d37af048c433099f8cdf (patch)
tree513f620f4a946e2ca9b7bc5952435819d21893fd /misc/buildroot
parent52fc121ac6444a506e2378225194faf5067008e4 (diff)
downloadpx4-nuttx-fe4e2296549d9b5288f1d37af048c433099f8cdf.tar.gz
px4-nuttx-fe4e2296549d9b5288f1d37af048c433099f8cdf.tar.bz2
px4-nuttx-fe4e2296549d9b5288f1d37af048c433099f8cdf.zip
Need .thumb_func for thumb functions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1906 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'misc/buildroot')
-rw-r--r--misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def4
-rw-r--r--misc/buildroot/toolchain/nxflat/ldnxflat.c1
-rw-r--r--misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def10
3 files changed, 8 insertions, 7 deletions
diff --git a/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def b/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def
index 8f58267bc..08faf1624 100644
--- a/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def
+++ b/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def
@@ -153,7 +153,7 @@ static const char dyncall_format[] =
"%s:\n"
"\tstmdb\tsp!,{r4, lr}\n"
"\tldr\tr4, =__dyninfo%04d\n"
- "\tbl\t[r4]\n"
+ "\tblx\tr4\n"
"\tldmia\tsp!,{r4, pc}\n"
"\t.size\t%s, .-%s\n";
@@ -163,7 +163,7 @@ static const char nonreturning_dyncall_format[] =
"\t.type\t%s, function\n\n"
"%s:\n"
"\tldr\tr4, =__dyninfo%04d\n"
- "\tb\t[r4]\n"
+ "\tbx\tr4\n"
"\t.size\t%s, .-%s\n";
/*******************************************************************
diff --git a/misc/buildroot/toolchain/nxflat/ldnxflat.c b/misc/buildroot/toolchain/nxflat/ldnxflat.c
index 83c0ca67e..65c8133ce 100644
--- a/misc/buildroot/toolchain/nxflat/ldnxflat.c
+++ b/misc/buildroot/toolchain/nxflat/ldnxflat.c
@@ -1724,7 +1724,6 @@ static void show_usage(void)
fprintf(stderr, " Entry point to module [%s for executable]\n",
default_exe_entry_name);
fprintf(stderr, " NULL for shared library\n");
- fprintf(stderr, " -l Build a shared library binary [executable]\n");
fprintf(stderr, " -o <out-filename>\n");
fprintf(stderr, " Output to <out-filename> [<bfd-filename>.xflt]\n");
fprintf(stderr, " -s <stack-size>\n");
diff --git a/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def b/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def
index 4bddcd7db..2f0980ee1 100644
--- a/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def
+++ b/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def
@@ -151,21 +151,23 @@ static const char dyncall_decl_prologue[] =
static const char dyncall_format[] =
"\n/* Dynamic call logic for imported symbol %s */\n\n"
"\t.global\t%s\n"
- "\t.type\t%s, function\n\n"
+ "\t.type\t%s, function\n"
+ "\t.thumb_func\n\n"
"%s:\n"
"\tstmdb\tsp!,{r4, lr}\n"
"\tldr\tr4, =__dyninfo%04d\n"
- "\tbl\t[r4]\n"
+ "\tblx\tr4\n"
"\tldmia\tsp!,{r4, pc}\n"
"\t.size\t%s, .-%s\n";
static const char nonreturning_dyncall_format[] =
"\n/* Dynamic call logic for imported, non-returning symbol %s */\n\n"
"\t.global\t%s\n"
- "\t.type\t%s, function\n\n"
+ "\t.type\t%s, function\n"
+ "\t.thumb_func\n\n"
"%s:\n"
"\tldr\tr4, =__dyninfo%04d\n"
- "\tb\t[r4]\n"
+ "\tbx\tr4\n"
"\t.size\t%s, .-%s\n";
/*******************************************************************