Discussion:
[uClinux-dev] toolchain for c++ on coldfire
angelo
2016-04-19 07:37:32 UTC
Permalink
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
angelo
2016-04-19 07:40:15 UTC
Permalink
Sry, i forgot html format enabled, so i resend.

Dear Greg and all,

i am building from some time some c++ apps for mcf5307.
At the time being, with the toolchain m68k-uclinux-20101118 i get
some errors, like usleep not declared, even including <unistd.h>,
as
88:15: error: ‘usleep’ was not declared in this scope

Actually, the only toolchain i can use successfully for c++
apps on mcf5307 is an old

Sourcery_CodeBench_Lite_for_ColdFire_uClinux

But we know they are no more available / open. Do you know any other
alternative ? Or a guide i can use to prepare a c,c++ toolchain
for uClinux (then i can make it available) ?

Thanks,

Regards,
Angelo Dureghello


_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.ucli
Greg Ungerer
2016-04-19 13:52:36 UTC
Permalink
Hi Angelo,
Post by angelo
Sry, i forgot html format enabled, so i resend.
Dear Greg and all,
i am building from some time some c++ apps for mcf5307.
At the time being, with the toolchain m68k-uclinux-20101118 i get
some errors, like usleep not declared, even including <unistd.h>,
as
88:15: error: ‘usleep’ was not declared in this scope
Actually, the only toolchain i can use successfully for c++
apps on mcf5307 is an old
Sourcery_CodeBench_Lite_for_ColdFire_uClinux
But we know they are no more available / open. Do you know any other
alternative ? Or a guide i can use to prepare a c,c++ toolchain
for uClinux (then i can make it available) ?
Attached is a build script I use to build m68k-uclinux toolchains.

Most recently I have built and am testing a gcc-5.3 based toolchain.
The elf2flt package referenced in this script was just a snapshot
of the github uclinux/elf2flt tree on that date.

I don't know if it will work any better for you with c++ apps,
but it is worth a try.

Note that gcc-5.3 will produce broken non-MMU m68k linux
for kernel versions older then 4.5 (due to code generation
issues with the signal handling code). So keep that in mind
if you are compiling kernels with it.

Regards
Greg
angelo
2016-04-19 18:14:12 UTC
Permalink
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Greg Ungerer
2016-04-20 00:24:22 UTC
Permalink
Hi Angelo,
infinite thanks.
Do you maybe have also the
gcc-5.3.0-fix-libgcc-build.patch ?
Yep, attached.

Regards
Greg
Post by Greg Ungerer
Hi Angelo,
Post by angelo
Sry, i forgot html format enabled, so i resend.
Dear Greg and all,
i am building from some time some c++ apps for mcf5307.
At the time being, with the toolchain m68k-uclinux-20101118 i get
some errors, like usleep not declared, even including <unistd.h>,
as
88:15: error: ‘usleep’ was not declared in this scope
Actually, the only toolchain i can use successfully for c++
apps on mcf5307 is an old
Sourcery_CodeBench_Lite_for_ColdFire_uClinux
But we know they are no more available / open. Do you know any other
alternative ? Or a guide i can use to prepare a c,c++ toolchain
for uClinux (then i can make it available) ?
Attached is a build script I use to build m68k-uclinux toolchains.
Most recently I have built and am testing a gcc-5.3 based toolchain.
The elf2flt package referenced in this script was just a snapshot
of the github uclinux/elf2flt tree on that date.
I don't know if it will work any better for you with c++ apps,
but it is worth a try.
Note that gcc-5.3 will produce broken non-MMU m68k linux
for kernel versions older then 4.5 (due to code generation
issues with the signal handling code). So keep that in mind
if you are compiling kernels with it.
Regards
Greg
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
angelo
2016-04-20 06:01:33 UTC
Permalink
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
angelo
2016-04-21 07:08:47 UTC
Permalink
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Greg Ungerer
2016-04-21 07:36:29 UTC
Permalink
Hi Angelo,
Hi Greg,
checking size of double... 8
checking size of long double... 12
checking for inttypes.h... no
checking for stdint.h... no
checking for stdlib.h... no
checking for ftw.h... no
checking for unistd.h... no
checking for sys/stat.h... no
checking for sys/types.h... no
checking for string.h... no
checking for strings.h... no
checking for memory.h... no
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... no
checking whether decimal floating point is supported... no
configure: WARNING: decimal float is not supported for this target, ignored
checking whether fixed-point is supported... no
checking whether to use setjmp/longjmp exceptions... unknown
configure: error: unable to detect exception model
Makefile:12550: set di istruzioni per l'obiettivo "configure-target-libgcc" non riuscito
make[1]: *** [configure-target-libgcc] Errore 1
make[1]: uscita dalla directory "/home/angelo/archivio/aziende/sysam/uClinux-toolchains/m68k-uclinux-gcc"
Makefile:876: set di istruzioni per l'obiettivo "all" non riuscito
make: *** [all] Errore 2
Do you mean during STAGE6?
That is where I would expect these configure checks.

Any way, most of those headers should be found (so "... yes").
It looks like the header install step didn't work as expected.
Can you check for files under /usr/local/m68k-uclinux/include.

Regards
Greg
Any idea on what it could be ?
Thanks
Regards,
Angelo
Many thanks,
i see that the patch seems related to this
https://gcc.gnu.org/ml/gcc/2016-04/msg00118.html
It is the workaround i see also somewhere, so good to have it.
Regards,
Angelo
Post by Greg Ungerer
Hi Angelo,
infinite thanks.
Do you maybe have also the
gcc-5.3.0-fix-libgcc-build.patch ?
Yep, attached.
Regards
Greg
Post by Greg Ungerer
Hi Angelo,
Post by angelo
Sry, i forgot html format enabled, so i resend.
Dear Greg and all,
i am building from some time some c++ apps for mcf5307.
At the time being, with the toolchain m68k-uclinux-20101118 i get
some errors, like usleep not declared, even including <unistd.h>,
as
88:15: error: ‘usleep’ was not declared in this scope
Actually, the only toolchain i can use successfully for c++
apps on mcf5307 is an old
Sourcery_CodeBench_Lite_for_ColdFire_uClinux
But we know they are no more available / open. Do you know any other
alternative ? Or a guide i can use to prepare a c,c++ toolchain
for uClinux (then i can make it available) ?
Attached is a build script I use to build m68k-uclinux toolchains.
Most recently I have built and am testing a gcc-5.3 based toolchain.
The elf2flt package referenced in this script was just a snapshot
of the github uclinux/elf2flt tree on that date.
I don't know if it will work any better for you with c++ apps,
but it is worth a try.
Note that gcc-5.3 will produce broken non-MMU m68k linux
for kernel versions older then 4.5 (due to code generation
issues with the signal handling code). So keep that in mind
if you are compiling kernels with it.
Regards
Greg
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Waldemar Brodkorb
2016-04-28 19:10:51 UTC
Permalink
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
Hi Angelo,
infinite thanks.
Do you maybe have also the
gcc-5.3.0-fix-libgcc-build.patch ?
Yep, attached.
Can you explain why this patch is required and why
the atomic code failes to compile?
Do you mind to add some notes/comments to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833

There is another workaround in your script:
find ${GCCLIB} -name libgcc.a -print | while read t
do
${TARGET}-ar dv "$t" _ctors.o
done

What kind of pain this is causing?

Both works fine for me and the second workaround
is simpler than my old way via a extra gcc spec file
and a gcc-wrapper script.

best regards
Waldemar
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Greg Ungerer
2016-04-29 05:22:34 UTC
Permalink
Hi Waldemar,
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
Hi Angelo,
infinite thanks.
Do you maybe have also the
gcc-5.3.0-fix-libgcc-build.patch ?
Yep, attached.
Can you explain why this patch is required and why
the atomic code failes to compile?
It is required because it fails to compile without it :-)
I don't know why it fails, I didn't dig any further into it.
Do you mind to add some notes/comments to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
I don't see I can add any value there. I googled and found
Larry's bug report and fix at this link. The above patch is
exactly Larry's solution from that thread.
find ${GCCLIB} -name libgcc.a -print | while read t
do
${TARGET}-ar dv "$t" _ctors.o
done
What kind of pain this is causing?
I don't know. It was in that script before I started using it.
It hasn't caused any problems with it there so I have never
removed it.
Both works fine for me and the second workaround
is simpler than my old way via a extra gcc spec file
and a gcc-wrapper script.
So when you are compiling a modern gcc for m68k-uclinux you
don't hit the problem compiling linux-atomic.c?

Regards
Greg


_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Waldemar Brodkorb
2016-04-29 06:01:37 UTC
Permalink
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
Hi Waldemar,
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
Hi Angelo,
infinite thanks.
Do you maybe have also the
gcc-5.3.0-fix-libgcc-build.patch ?
Yep, attached.
Can you explain why this patch is required and why
the atomic code failes to compile?
It is required because it fails to compile without it :-)
I don't know why it fails, I didn't dig any further into it.
Do you mind to add some notes/comments to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
I don't see I can add any value there. I googled and found
Larry's bug report and fix at this link. The above patch is
exactly Larry's solution from that thread.
find ${GCCLIB} -name libgcc.a -print | while read t
do
${TARGET}-ar dv "$t" _ctors.o
done
What kind of pain this is causing?
I don't know. It was in that script before I started using it.
It hasn't caused any problems with it there so I have never
removed it.
I think it is still required. Without it, an image for
qemu-system-m68k does not boot completely.
Post by Greg Ungerer
Both works fine for me and the second workaround
is simpler than my old way via a extra gcc spec file
and a gcc-wrapper script.
So when you are compiling a modern gcc for m68k-uclinux you
don't hit the problem compiling linux-atomic.c?
I hit it. And I would like to get it resolved upstream.
Furthermore the buildroot people are very strict about submissions
and want to know all glory details about a required patch :)

So I just thought I might get some more detailed explanation from
the uClinux experts.

best regards
Waldemar
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
angelo
2016-04-29 07:28:25 UTC
Permalink
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Greg Ungerer
2016-05-05 11:38:34 UTC
Permalink
Hi Angelo,
i have the 5.3.0 c and c++ toolchain up and running.
Last issue i had was compiling errors building a separate
applications in c++, related to usleep undefined.
To have usleep included in the recent uClibc library, you need
UCLIBC_SUSV3_LEGACY=y
UCLIBC_SUSV3_LEGACY_MACROS=y
Many thanks for this great script.
Could compile full uClinux-dist but with a recent kernel 4.5 (> 3.5).
Still a last issue,
if i compile a c++ app with this 5.3.0 toolchain, and upload it to a
mcf5307 system, (kernel built with older toolchain and system
with older uClibc) i get a strange
"ILL" console message after execution, and program exits.
am i doing something wrong ?
If you compile the c++ app within the uclinux-dist do you get the same
result?

Can you post the c++ app?
Or at least a simple test case that shows the problem?

Regards
Greg
Post by Greg Ungerer
Hi Waldemar,
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
Hi Angelo,
infinite thanks.
Do you maybe have also the
gcc-5.3.0-fix-libgcc-build.patch ?
Yep, attached.
Can you explain why this patch is required and why
the atomic code failes to compile?
It is required because it fails to compile without it :-)
I don't know why it fails, I didn't dig any further into it.
Do you mind to add some notes/comments to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
I don't see I can add any value there. I googled and found
Larry's bug report and fix at this link. The above patch is
exactly Larry's solution from that thread.
find ${GCCLIB} -name libgcc.a -print | while read t
do
${TARGET}-ar dv "$t" _ctors.o
done
What kind of pain this is causing?
I don't know. It was in that script before I started using it.
It hasn't caused any problems with it there so I have never
removed it.
Both works fine for me and the second workaround
is simpler than my old way via a extra gcc spec file
and a gcc-wrapper script.
So when you are compiling a modern gcc for m68k-uclinux you
don't hit the problem compiling linux-atomic.c?
Regards
Greg
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Thomas Petazzoni
2016-04-21 15:22:06 UTC
Permalink
Hello,
Post by angelo
i am building from some time some c++ apps for mcf5307.
At the time being, with the toolchain m68k-uclinux-20101118 i get
some errors, like usleep not declared, even including <unistd.h>,
as
88:15: error: ‘usleep’ was not declared in this scope
Actually, the only toolchain i can use successfully for c++
apps on mcf5307 is an old
Sourcery_CodeBench_Lite_for_ColdFire_uClinux
But we know they are no more available / open. Do you know any other
alternative ? Or a guide i can use to prepare a c,c++ toolchain
for uClinux (then i can make it available) ?
You can also try to build a Coldfire toolchain with Buildroot. We have
some minimal m68k support, but the uClibc-ng maintainer is very
reactive and will very likely help if you report some issues. And using
Buildroot, you will not only be able to build the toolchain, but also
a complete Linux system.

Best regards,

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see
angelo
2016-04-22 12:09:49 UTC
Permalink
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Loading...