diff options
Diffstat (limited to 'misc')
-rw-r--r-- | misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def | 36 | ||||
-rw-r--r-- | misc/buildroot/toolchain/nxflat/ldnxflat.c | 4 | ||||
-rw-r--r-- | misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def | 36 |
3 files changed, 34 insertions, 42 deletions
diff --git a/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def b/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def index 3aaa86d8b..3d4b3d735 100644 --- a/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def +++ b/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def @@ -153,12 +153,10 @@ static const char dyncall_format[] = "\t.global\t%s\n" "\t.type\t%s, function\n\n" "%s:\n" - "\tstmdb\tsp!,{r4, lr}\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tldr\tr4,[sl,r4]\n" - "\tldr\tr4,[r4,#4]\n" - "\tblx\tr4\n" - "\tldmia\tsp!,{r4, pc}\n" + "\tldr\tip,.Ldyn%04d\n" + "\tldr\tip,[sl,ip]\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d(GOT)\n" "\t.size\t%s, .-%s\n"; @@ -168,10 +166,10 @@ static const char nonreturning_dyncall_format[] = "\t.global\t%s\n" "\t.type\t%s, function\n\n" "%s:\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tldr\tr4,[sl,r4]\n" - "\tldr\tr4,[r4,#4]\n" - "\tbx\tr4\n" + "\tldr\tip,.Ldyn%04d\n" + "\tldr\tip,[sl,ip]\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d(GOT)\n" "\t.size\t%s, .-%s\n"; @@ -183,12 +181,10 @@ static const char dyncall_format[] = "\t.global\t%s\n" "\t.type\t%s, function\n\n" "%s:\n" - "\tstmdb\tsp!,{r4, lr}\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tadd\tr4,r4,sl\n" - "\tldr\tr4,[r4,#4]\n" - "\tblx\tr4\n" - "\tldmia\tsp!,{r4, pc}\n" + "\tldr\tip,.Ldyn%04d\n" + "\tadd\tip,ip,sl\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d\n" "\t.size\t%s, .-%s\n"; @@ -198,10 +194,10 @@ static const char nonreturning_dyncall_format[] = "\t.global\t%s\n" "\t.type\t%s, function\n\n" "%s:\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tadd\tr4,r4,sl\n" - "\tldr\tr4,[r4,#4]\n" - "\tbx\tr4\n" + "\tldr\tip,.Ldyn%04d\n" + "\tadd\tip,ip,sl\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d\n" "\t.size\t%s, .-%s\n"; diff --git a/misc/buildroot/toolchain/nxflat/ldnxflat.c b/misc/buildroot/toolchain/nxflat/ldnxflat.c index 018a2ac18..e600e4a94 100644 --- a/misc/buildroot/toolchain/nxflat/ldnxflat.c +++ b/misc/buildroot/toolchain/nxflat/ldnxflat.c @@ -960,7 +960,7 @@ resolve_segment_relocs(bfd *input_bfd, segment_info *inf, asymbol **syms) exit(1); } - vdbg(" Modified opcode: %08lx\n", temp); + vdbg(" Modified opcode: %08lx\n", (long)temp); #ifdef ARCH_BIG_ENDIAN *target = (long)nxflat_swap32(temp); #else @@ -1028,7 +1028,7 @@ resolve_segment_relocs(bfd *input_bfd, segment_info *inf, asymbol **syms) temp |= saved & (~how_to->dst_mask); - vdbg(" Modified opcode: %08lx\n", temp); + vdbg(" Modified opcode: %08lx\n", (long)temp); #ifdef ARCH_BIG_ENDIAN *target = (long)nxflat_swap32(temp); #else diff --git a/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def b/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def index 935e2f59d..1c4d0c387 100644 --- a/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def +++ b/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def @@ -156,12 +156,10 @@ static const char dyncall_format[] = "\t.type\t%s, function\n" "\t.thumb_func\n\n" "%s:\n" - "\tstmdb\tsp!,{r4, lr}\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tldr\tr4,[sl,r4]\n" - "\tldr\tr4,[r4,#4]\n" - "\tblx\tr4\n" - "\tldmia\tsp!,{r4, pc}\n" + "\tldr\tip,.Ldyn%04d\n" + "\tldr\tip,[sl,ip]\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d(GOT)\n" "\t.size\t%s, .-%s\n"; @@ -172,10 +170,10 @@ static const char nonreturning_dyncall_format[] = "\t.type\t%s, function\n" "\t.thumb_func\n\n" "%s:\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tldr\tr4,[sl,r4]\n" - "\tldr\tr4,[r4,#4]\n" - "\tbx\tr4\n" + "\tldr\tip,.Ldyn%04d\n" + "\tldr\tip,[sl,ip]\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d(GOT)\n" "\t.size\t%s, .-%s\n"; @@ -188,12 +186,10 @@ static const char dyncall_format[] = "\t.type\t%s, function\n" "\t.thumb_func\n\n" "%s:\n" - "\tstmdb\tsp!,{r4, lr}\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tadd\tr4,r4,sl\n" - "\tldr\tr4,[r4,#4]\n" - "\tblx\tr4\n" - "\tldmia\tsp!,{r4, pc}\n" + "\tldr\tip,.Ldyn%04d\n" + "\tadd\tip,ip,sl\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d\n" "\t.size\t%s, .-%s\n"; @@ -204,10 +200,10 @@ static const char nonreturning_dyncall_format[] = "\t.type\t%s, function\n" "\t.thumb_func\n\n" "%s:\n" - "\tldr\tr4,.Ldyn%04d\n" - "\tadd\tr4,r4,sl\n" - "\tldr\tr4,[r4,#4]\n" - "\tbx\tr4\n" + "\tldr\tip,.Ldyn%04d\n" + "\tadd\tip,ip,sl\n" + "\tldr\tip,[ip,#4]\n" + "\tbx\tip\n" ".Ldyn%04d:\n" "\t.word\t__dyninfo%04d\n" "\t.size\t%s, .-%s\n"; |