maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Maemo 5 / Fremantle (https://talk.maemo.org/forumdisplay.php?f=40)
-   -   gcc-4.6 and Fremantle, WIP (https://talk.maemo.org/showthread.php?t=81861)

Android_808 2012-06-08 10:56

Re: gcc-4.6 and Fremantle, WIP
 
Quote:

Originally Posted by szopin (Post 1217449)
Anytime (srsly, flashing is a breeze now, getting all the needed packages to be able to do something takes ages in comparison, hope there is a way to make flashable img with rootsh, repos, busybox-power, bash, nano/joe, mc and all other basic goodies included, backupmenu might help, updating all cool repos alone takes 3x more than flashing)

Something tells me that someone has already done something like this. I can't remember the exact page I found but this may be helpful:

https://wiki.mozilla.org/ReferencePl...ing/Nokia_N900

marmistrz 2012-06-08 11:54

Re: gcc-4.6 and Fremantle, WIP
 
Quote:

Originally Posted by Hurrian (Post 1219394)
Using this switch will probably result in spontaneous reboots and/or system crashes. IIRC, Fremantle is built with mfloat-abi=softfp.

(Using -mfp=vfp is fine, as the OMAP supports that, and there have been no crashes reported from using the floating point unit. You may want to try -mfp=vfpv3 though, as we also apparently support that)

Side note - GCC 4.7.0 is available. Anyone up to try that?

I just removed the switch. I'll use the fremantle switch. Or are the 2 latter more efficient?

marmistrz 2012-06-08 16:32

Re: gcc-4.6 and Fremantle, WIP
 
thumb2 may be the problem:
Code:

[sbox-fremantle2armel: ~/libc6/eglibc-2.10] > grep -r thumb2 *
ports/ChangeLog.eglibc:        * sysdeps/arm/eabi/machine-gmon.h (_mcount):  Make the thumb2
ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c:#ifdef __thumb2__
ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c:#ifdef __thumb2__
ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/aio_misc.h:#ifdef __thumb2__
ports/sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h:#ifdef __thumb2__
ports/sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h:#ifdef __thumb2__
ports/sysdeps/arm/eabi/machine-gmon.h:#ifdef __thumb2__
ports/sysdeps/arm/elf/start.S:#if defined(__thumb2__)
ports/sysdeps/arm/dl-machine.h:#ifdef __thumb2__
ports/sysdeps/arm/machine-gmon.h:#ifdef __thumb2__
ports/sysdeps/arm/strcmp.S:#ifdef __thumb2__
ports/sysdeps/arm/tls-macros.h:#ifdef __thumb2__
ports/sysdeps/arm/tls-macros.h:#ifdef __thumb2__


Hurrian 2012-06-08 23:34

Re: gcc-4.6 and Fremantle, WIP
 
Quote:

Originally Posted by marmistrz (Post 1219434)
I just removed the switch. I'll use the fremantle switch. Or are the 2 latter more efficient?

Try using these CFLAGS:
Code:

-mcpu=cortex-a8 -mfloat-abi=softfp -mfp=vfpv3 -marm
(Apparently, you can disable Thumb interworking from GCC. We gotta test this, as the N900 only bombs out with interworking enabled.)

Here's the same CFLAGS, with a potential Thumb fix:
Code:

-mcpu=cortex-a8 -mfloat-abi=softfp -mfp=vfpv3 -mthumb -mno-thumb-interwork

marmistrz 2012-06-09 10:25

Re: gcc-4.6 and Fremantle, WIP
 
Quote:

Originally Posted by Hurrian (Post 1219694)
Try using these CFLAGS:
Code:

-mcpu=cortex-a8 -mfloat-abi=softfp -mfp=vfpv3 -marm
(Apparently, you can disable Thumb interworking from GCC. We gotta test this, as the N900 only bombs out with interworking enabled.)

Here's the same CFLAGS, with a potential Thumb fix:
Code:

-mcpu=cortex-a8 -mfloat-abi=softfp -mfp=vfpv3 -mthumb -mno-thumb-interwork

OK
Yesterday I compiled with these flags (before you posted)
Code:

-mfloat-abi=softfp -mfp=vfp
If this doesn't work I'll try out your flags.

It can be downloaded from http://marmistrz.net63.net/meecolay/libc6
Adf.ly link: http://adf.ly/9W8IF

I'll upload the rest if this works. If not, I'll recompile with other flags.

I didn't test it. If you have a R&D N900, you can try it out, but this is likely to brick it but there's a chance it works :)

EDIT: It works, but Calendar catches sigsegv on raise(). Calendar is the only app not working right now.
EDIT2: This libc6 seems to cause insane problems: all timezones are GMT +0 (due to not installed locales?), gray screen except the parts where something changes. I don't know how to fix it. Any ideas?

AapoRantalainen 2012-06-09 12:47

Re: gcc-4.6 and Fremantle, WIP
 
Quote:

Originally Posted by marmistrz (Post 1219824)

It can be downloaded from http://marmistrz.net63.net/meecolay/libc6
Adf.ly link: http://adf.ly/9W8IF

I tested these on just reflashed N900 (nokia kernel, no cssu).
Code:

wget http://marmistrz.net63.net/meecolay/libc6/libc-bin_2.10-0maemo18.1+0m6_armel.deb http://marmistrz.net63.net/meecolay/libc6/libc6_2.10-0maemo18.1+0m6_armel.deb
dpkg -i libc-bin_2.10-0maemo18.1+0m6_armel.deb  libc6_2.10-0maemo18.1+0m6_armel.deb

md5sums:
Code:

637396a76a5d88d5ff7596a3b9a4269f  libc-bin_2.10-0maemo18.1+0m6_armel.deb
0f95c0d084149233179aa9cf2dd15f72  libc6_2.10-0maemo18.1+0m6_armel.deb


Phone boots correctly. What is the best way to know new libraries really are used?
Code:

/usr/bin/ldd --version
ldd (maemo eglibc 2.10-0maemo18.1+0m6) 2.10.1

Some applications work: e.g. Sketch, images, camera, calculator, browser, pdf-reader. notes.

Some applications are not working. e.g. Calendar keeps crashing (actually this is so far only not working application).

This moment I can only say:
Code:

/usr/bin/Calendar
                            main(): Loading theme from: '/usr/share/calendar/theme/gtkrc'
  calInterfaceInitializeBackend(): Before Backend  initialize
  calInterfaceInitializeBackend(): After backend  initialize
/usr/share/calendar/theme/gtkrc:509: file FingerButtonNormal.png previously referenced with different border or stretch values. Ignoring the new values.
/usr/share/calendar/theme/gtkrc:517: file FingerButtonPressed.png previously referenced with different border or stretch values. Ignoring the new values.
week_view_adust_menu_for_interval(): Still presented interval is not set. Nothing to do here
_pip_calendar_window_show_title_from_week_view(): Still presented interval is not set. Cant do any thing here
    pip_week_view_size_allocate(): width 800 height 424
    pip_week_view_size_allocate(): width 792 height 424
          pip_week_view_realize(): Realizing with size 792x424
pip_week_view_adjustment_changed():
pip_week_view_adjustment_changed():
_pip_calendar_window_set_bg_image_from_month(): Creating bg pixmap for the month 5
_pip_calendar_window_set_bg_image_from_month(): Creating bg pixmap for the month 7
            phased_init_backend(): Before autocleanup
            phased_init_backend(): After autocleanup
            phased_init_backend(): Before iEbook initialize
            phased_init_backend(): After EBook Initilaize
Segmentation fault


[EDIT]
Installing CSSU-stable doesn't change anything. Calendar is still crashing on the loop.

Android_808 2012-06-09 21:04

Re: gcc-4.6 and Fremantle, WIP
 
With regards to the talk about gcc 4.7, does the new linaro toolset help/work?

misiak 2012-06-09 21:17

Re: gcc-4.6 and Fremantle, WIP
 
If Calendar was the only app that's crashing after updating libc6 (I doubt this is the only one), this would be a great beginning for an OS Maemo-calendar rewrite project :) We already have alternative version of calendar widget, calendar-gui shouldn't be too hard (unless it uses some dbus signals or other internal system components - I have 0 knowledge about calendar app right now), the internals may be difficult (dbus hooks, deamons, etc - but again, I have no knowledge about this app right now)

Hurrian 2012-06-10 01:01

Re: gcc-4.6 and Fremantle, WIP
 
Quote:

Originally Posted by AapoRantalainen (Post 1219850)
Phone boots correctly. What is the best way to know new libraries really are used?
Code:

/usr/bin/ldd --version
ldd (maemo eglibc 2.10-0maemo18.1+0m6) 2.10.1


file /usr/bin/ldd (You may have to use easy-debian or something.)

marmistrz 2012-06-11 16:50

Re: gcc-4.6 and Fremantle, WIP
 
Quote:

Originally Posted by AapoRantalainen (Post 1219850)
I tested these on just reflashed N900 (nokia kernel, no cssu).
Code:

wget http://marmistrz.net63.net/meecolay/libc6/libc-bin_2.10-0maemo18.1+0m6_armel.deb http://marmistrz.net63.net/meecolay/libc6/libc6_2.10-0maemo18.1+0m6_armel.deb
dpkg -i libc-bin_2.10-0maemo18.1+0m6_armel.deb  libc6_2.10-0maemo18.1+0m6_armel.deb

md5sums:
Code:

637396a76a5d88d5ff7596a3b9a4269f  libc-bin_2.10-0maemo18.1+0m6_armel.deb
0f95c0d084149233179aa9cf2dd15f72  libc6_2.10-0maemo18.1+0m6_armel.deb


Phone boots correctly. What is the best way to know new libraries really are used?
Code:

/usr/bin/ldd --version
ldd (maemo eglibc 2.10-0maemo18.1+0m6) 2.10.1

Some applications work: e.g. Sketch, images, camera, calculator, browser, pdf-reader. notes.

Some applications are not working. e.g. Calendar keeps crashing (actually this is so far only not working application).

This moment I can only say:
Code:

/usr/bin/Calendar
                            main(): Loading theme from: '/usr/share/calendar/theme/gtkrc'
  calInterfaceInitializeBackend(): Before Backend  initialize
  calInterfaceInitializeBackend(): After backend  initialize
/usr/share/calendar/theme/gtkrc:509: file FingerButtonNormal.png previously referenced with different border or stretch values. Ignoring the new values.
/usr/share/calendar/theme/gtkrc:517: file FingerButtonPressed.png previously referenced with different border or stretch values. Ignoring the new values.
week_view_adust_menu_for_interval(): Still presented interval is not set. Nothing to do here
_pip_calendar_window_show_title_from_week_view(): Still presented interval is not set. Cant do any thing here
    pip_week_view_size_allocate(): width 800 height 424
    pip_week_view_size_allocate(): width 792 height 424
          pip_week_view_realize(): Realizing with size 792x424
pip_week_view_adjustment_changed():
pip_week_view_adjustment_changed():
_pip_calendar_window_set_bg_image_from_month(): Creating bg pixmap for the month 5
_pip_calendar_window_set_bg_image_from_month(): Creating bg pixmap for the month 7
            phased_init_backend(): Before autocleanup
            phased_init_backend(): After autocleanup
            phased_init_backend(): Before iEbook initialize
            phased_init_backend(): After EBook Initilaize
Segmentation fault


[EDIT]
Installing CSSU-stable doesn't change anything. Calendar is still crashing on the loop.

OK, thanks. I'll be trying to work out the installation in /opt/meecolay. Probably will need to tuned the PATHs.


All times are GMT. The time now is 20:10.

vBulletin® Version 3.8.8