[Pkg-chromium-maint] Bug#632903: Chromium armel fixes

Timo Juhani Lindfors timo.lindfors at iki.fi
Wed Jan 25 16:09:58 UTC 2012


Hi,

Riku Voipio <riku.voipio at iki.fi> writes:
> The following patch fixes building chromium on debian/armel and prepares
> the way for debian/armhf builds.

I tried your binaries from

http://people.debian.org/~riku/chromium/

on openmoko and marvel mv78100. I installed the -dbg package on mv78100
and saw the following. It seems we jump to an unmapped address:

Script started on Wed Jan 25 15:55:07 2012
(sid)mv78100:~$ chromium
Segmentation fault
(sid)mv78100:~$ chromium --debug
# Env:
#     LD_LIBRARY_PATH=/usr/lib/chromium:/usr/lib/xulrunner-1.9.1
#                PATH=/usr/lib/chromium:/home/lindi/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
#            GTK_PATH=
# CHROMIUM_USER_FLAGS=
#      CHROMIUM_FLAGS=--password-store=detect
/usr/bin/gdb /usr/lib/chromium/chromium -x /tmp/chromiumargs.haSxg0
GNU gdb (GDB) 7.3-debian
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/chromium/chromium...Reading symbols from /usr/lib/debug/usr/lib/chromium/chromium...done.
done.
(gdb) r
Starting program: /usr/lib/chromium/chromium --password-store=detect 
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x001abe08 in ?? ()
(gdb) bt
#0  0x001abe08 in ?? ()
#1  0x2c26c214 in __libc_csu_init ()
#2  0x4153b5f0 in __libc_start_main () from /lib/arm-linux-gnueabi/libc.so.6
#3  0x2a1b3934 in _start ()
(gdb) x/5i $pc
=> 0x1abe08:	Cannot access memory at address 0x1abe08
(gdb) info register
r0             0x2	2
r1             0xbee95624	3202962980
r2             0xbee95630	3202962992
r3             0x41654b70	1097157488
r4             0x0	0
r5             0xfffed644	4294891076
r6             0x2	2
r7             0xbee95624	3202962980
r8             0xbee95630	3202962992
r9             0x0	0
r10            0xfffed374	4294890356
r11            0x0	0
r12            0xffff0fff	4294905855
sp             0xbee954b8	0xbee954b8
lr             0x2c26c214	740737556
pc             0x1abe08	0x1abe08
cpsr           0x20000010	536870928
(gdb) up
#1  0x2c26c214 in __libc_csu_init ()
(gdb) x/4i $pc
=> 0x2c26c214 <__libc_csu_init+28>:	ldr	r3, [pc, #72]	; 0x2c26c264 <__libc_csu_init+108>
   0x2c26c218 <__libc_csu_init+32>:	rsb	r5, r10, r5
   0x2c26c21c <__libc_csu_init+36>:	add	r3, pc, r3
   0x2c26c220 <__libc_csu_init+40>:	asrs	r5, r5, #2
(gdb) x/16i $pc-8
   0x2c26c20c <__libc_csu_init+20>:	mov	r8, r2
   0x2c26c210 <__libc_csu_init+24>:	bl	0x2c26c820
=> 0x2c26c214 <__libc_csu_init+28>:	ldr	r3, [pc, #72]	; 0x2c26c264 <__libc_csu_init+108>
   0x2c26c218 <__libc_csu_init+32>:	rsb	r5, r10, r5
   0x2c26c21c <__libc_csu_init+36>:	add	r3, pc, r3
   0x2c26c220 <__libc_csu_init+40>:	asrs	r5, r5, #2
   0x2c26c224 <__libc_csu_init+44>:	add	r10, r3, r10
   0x2c26c228 <__libc_csu_init+48>:	beq	0x2c26c254 <__libc_csu_init+92>
   0x2c26c22c <__libc_csu_init+52>:	mov	r4, #0
   0x2c26c230 <__libc_csu_init+56>:	mov	r0, r6
   0x2c26c234 <__libc_csu_init+60>:	mov	r1, r7
   0x2c26c238 <__libc_csu_init+64>:	mov	r2, r8
   0x2c26c23c <__libc_csu_init+68>:	ldr	r12, [r10, r4, lsl #2]
   0x2c26c240 <__libc_csu_init+72>:	mov	lr, pc
   0x2c26c244 <__libc_csu_init+76>:	bx	r12
   0x2c26c248 <__libc_csu_init+80>:	add	r4, r4, #1
(gdb) break *0x2c26c20c
Breakpoint 1 at 0x2c26c20c
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/lib/chromium/chromium --password-store=detect 
[Thread debugging using libthread_db enabled]

Breakpoint 1, 0x2c26c20c in __libc_csu_init ()
(gdb) define xsi
Type commands for definition of "xsi".
End with a line saying just "end".
>si
>x/4i $pc
>end
(gdb) xsi
0x2c26c210 in __libc_csu_init ()
=> 0x2c26c210 <__libc_csu_init+24>:	bl	0x2c26c820
   0x2c26c214 <__libc_csu_init+28>:	ldr	r3, [pc, #72]	; 0x2c26c264 <__libc_csu_init+108>
   0x2c26c218 <__libc_csu_init+32>:	rsb	r5, r10, r5
   0x2c26c21c <__libc_csu_init+36>:	add	r3, pc, r3
(gdb) 
Cannot access memory at address 0x0
0x2c26c820 in ?? ()
=> 0x2c26c820:	ldr	pc, [pc, #-4]	; 0x2c26c824
   0x2c26c824:	andseq	r11, r10, r8, lsl #28
   0x2c26c828:	ldr	pc, [pc, #-4]	; 0x2c26c82c
   0x2c26c82c:	andseq	pc, r10, r8, ror #17
(gdb) x/10i $pc-8
   0x2c26c818:	ldr	pc, [pc, #-4]	; 0x2c26c81c
   0x2c26c81c:	andseq	r12, r10, r8, lsr #4
=> 0x2c26c820:	ldr	pc, [pc, #-4]	; 0x2c26c824
   0x2c26c824:	andseq	r11, r10, r8, lsl #28
   0x2c26c828:	ldr	pc, [pc, #-4]	; 0x2c26c82c
   0x2c26c82c:	andseq	pc, r10, r8, ror #17
   0x2c26c830:	ldr	pc, [pc, #-4]	; 0x2c26c834
   0x2c26c834:	andseq	pc, r10, r8, asr #15
   0x2c26c838 <_fini>:	push	{r4, lr}
   0x2c26c83c <_fini+4>:	pop	{r4, lr}
(gdb) xsi
0x2c26c820 in ?? ()
Could not insert single-step breakpoint at 0x1abe08
(gdb) x/4 0x2c26c820-4
0x2c26c81c:	0x1ac228	0xe51ff004	0x1abe08	0xe51ff004
(gdb) quit
A debugging session is active.

	Inferior 1 [process 12087] will be killed.

Quit anyway? (y or n) y
(sid)mv78100:~$ exit
exit

Script done on Wed Jan 25 16:07:17 2012

-Timo





More information about the Pkg-chromium-maint mailing list