[uClibc] anyone using ARM shared libraries?
David Meggy
dmeggy at techsol.ca
Mon May 10 20:32:25 UTC 2004
There you go
$ readelf -r ld-uClibc-0.9.26.so
Relocation section '.rel.dyn' at offset 0x88c contains 59 entries:
Offset Info Type Sym.Value Sym. Name
0000c818 00000017 R_ARM_RELATIVE
0000c81c 00000017 R_ARM_RELATIVE
0000c820 00000017 R_ARM_RELATIVE
0000c91c 00000017 R_ARM_RELATIVE
0000c920 00000017 R_ARM_RELATIVE
0000c924 00000017 R_ARM_RELATIVE
0000c928 00000017 R_ARM_RELATIVE
0000c92c 00000017 R_ARM_RELATIVE
0000c930 00000017 R_ARM_RELATIVE
0000c934 00000017 R_ARM_RELATIVE
0000c938 00000017 R_ARM_RELATIVE
0000c93c 00000017 R_ARM_RELATIVE
0000c940 00000017 R_ARM_RELATIVE
0000c944 00000017 R_ARM_RELATIVE
0000c948 00000017 R_ARM_RELATIVE
0000c94c 00000017 R_ARM_RELATIVE
0000c950 00000017 R_ARM_RELATIVE
0000c95c 00000017 R_ARM_RELATIVE
0000c96c 00000017 R_ARM_RELATIVE
0000c970 00000017 R_ARM_RELATIVE
0000c974 00000017 R_ARM_RELATIVE
0000c980 00000017 R_ARM_RELATIVE
0000c984 00000017 R_ARM_RELATIVE
0000c988 00000017 R_ARM_RELATIVE
0000c990 00000017 R_ARM_RELATIVE
0000c994 00000017 R_ARM_RELATIVE
0000c998 00000017 R_ARM_RELATIVE
0000c99c 00000017 R_ARM_RELATIVE
0000c9a4 00000017 R_ARM_RELATIVE
0000c9ac 00000017 R_ARM_RELATIVE
0000c9b4 00000017 R_ARM_RELATIVE
0000c9b8 00000017 R_ARM_RELATIVE
0000c9c0 00000017 R_ARM_RELATIVE
0000c9c8 00000017 R_ARM_RELATIVE
0000c9cc 00000017 R_ARM_RELATIVE
0000c9d0 00000017 R_ARM_RELATIVE
0000c9d4 00000017 R_ARM_RELATIVE
0000c9d8 00000017 R_ARM_RELATIVE
0000c9dc 00000017 R_ARM_RELATIVE
0000c9e0 00000017 R_ARM_RELATIVE
0000c9e4 00000017 R_ARM_RELATIVE
0000c9e8 00000017 R_ARM_RELATIVE
0000c9f0 00000017 R_ARM_RELATIVE
00000c48 00001c01 R_ARM_PC24 00000c78 _dl_linux_resolver
0000c918 00002715 R_ARM_GLOB_DAT 0000c818 _dl_progname
0000c954 00002815 R_ARM_GLOB_DAT 0000ca10 _dl_debug_addr
0000c958 00001815 R_ARM_GLOB_DAT 00000c30 _dl_linux_resolve
0000c960 00001d15 R_ARM_GLOB_DAT 0000ca1c _dl_loaded_modules
0000c964 00001715 R_ARM_GLOB_DAT 0000ca20 _dl_symbol_tables
0000c968 00001615 R_ARM_GLOB_DAT 0000ca08 _dl_ldsopath
0000c978 00001e15 R_ARM_GLOB_DAT 0000ca04 _dl_preload
0000c97c 00003015 R_ARM_GLOB_DAT 0000ca00 _dl_library_path
0000c98c 00001b15 R_ARM_GLOB_DAT 00002858 _dl_debug_state
0000c9a0 00002415 R_ARM_GLOB_DAT 0000ca80 _dl_brkp
0000c9a8 00002d15 R_ARM_GLOB_DAT 0000caa0 _dl_envp
0000c9b0 00002215 R_ARM_GLOB_DAT 0000ca24 _dl_handles
0000c9bc 00001015 R_ARM_GLOB_DAT 0000ca40 _dl_internal_error_num
0000c9c4 00001415 R_ARM_GLOB_DAT 0000ca60 _dl_error_number
0000c9ec 00002c15 R_ARM_GLOB_DAT 0000ca2c _dl_malloc_function
Relocation section '.rel.plt' at offset 0xa64 contains 18 entries:
Offset Info Type Sym.Value Sym. Name
0000c8d0 00000e16 R_ARM_JUMP_SLOT 00003210 _dl_load_shared_librar
0000c8d4 00000f16 R_ARM_JUMP_SLOT 000028d4 _dl_unsetenv
0000c8d8 00001316 R_ARM_JUMP_SLOT 00003ce4 _dl_copy_fixups
0000c8dc 00001916 R_ARM_JUMP_SLOT 00001244 _dl_parse_relocation_i
0000c8e0 00001a16 R_ARM_JUMP_SLOT 00002b94 _dl_find_hash
0000c8e4 00001b16 R_ARM_JUMP_SLOT 00002858 _dl_debug_state
0000c8e8 00001f16 R_ARM_JUMP_SLOT 0000295c _dl_elf_hash
0000c8ec 00002116 R_ARM_JUMP_SLOT 00003040 _dl_check_if_named_lib
0000c8f0 00002316 R_ARM_JUMP_SLOT 00004140 _dl_malloc
0000c8f4 00002616 R_ARM_JUMP_SLOT 000033e0 _dl_load_elf_shared_li
0000c8f8 00002916 R_ARM_JUMP_SLOT 00001288 _dl_parse_copy_informa
0000c8fc 00002e16 R_ARM_JUMP_SLOT 00002994 _dl_check_hashed_files
0000c900 00003316 R_ARM_JUMP_SLOT 00004230 _dl_fixup
0000c904 00003416 R_ARM_JUMP_SLOT 00003d40 _dl_dprintf
0000c908 00003516 R_ARM_JUMP_SLOT 00001208 _dl_parse_lazy_relocat
0000c90c 00003616 R_ARM_JUMP_SLOT 000040dc _dl_strdup
0000c910 00003816 R_ARM_JUMP_SLOT 00002a58 _dl_add_elf_hash_table
0000c914 00003916 R_ARM_JUMP_SLOT 0000285c _dl_getenv
On Mon, 2004-05-10 at 13:13, David Poole wrote:
> Could you post a readelf -r of your ld-uClibc-0.9.26.so?
>
> Here's the relocation causing me problems (the R_ARM_PC24):
>
> Relocation section '.rel.dyn' at offset 0xa9c contains 75 entries:
> Offset Info Type Sym.Value Sym. Name
>
> 00000e88 00002001 R_ARM_PC24 00001040 _dl_linux_resolver
>
> Offset 0x0e88 is in .text which is read-execute but not write.
>
> Section Headers:
> [Nr] Name Type Addr Off Size ES Flg
> Lk Inf Al
> [ 0] NULL 00000000 000000 000000 00
> 0 0 0
> [ 1] .hash HASH 00000094 000094 000228 04 A
> 2 0 4
> [ 2] .dynsym DYNSYM 000002bc 0002bc 000450 10 A
> 3 d 4
> [ 3] .dynstr STRTAB 0000070c 00070c 000390 00 A
> 0 0 1
> [ 4] .rel.dyn REL 00000a9c 000a9c 000258 08 A
> 2 0 4
> [ 5] .rel.plt REL 00000cf4 000cf4 000090 08 A
> 2 6 4
> [ 6] .plt PROGBITS 00000d84 000d84 0000ec 04 AX
> 0 0 4
> [ 7] .text PROGBITS 00000e70 000e70 005f88 00 AX
> 0 0 16 <----
> [ 8] .rodata PROGBITS 00006df8 006df8 000f08 00 A
> 0 0 4
> [ 9] .data PROGBITS 0000fd00 007d00 00040c 00 WA
> 0 0 4
> [10] .dynamic DYNAMIC 0001010c 00810c 000098 08 WA
> 3 0 4
> [11] .got PROGBITS 000101a4 0081a4 0000d0 04 WA
> 0 0 4
> [12] .bss NOBITS 00010274 008274 00007c 00 WA
> 0 0 4
> [13] .shstrtab STRTAB 00000000 008274 00006a 00
> 0 0 1
> [14] .symtab SYMTAB 00000000 008560 000480 10
> 15 10 4
> [15] .strtab STRTAB 00000000 0089e0 00038c 00
> 0 0 1
>
> When PERFORM_BOOTSTRAP_RELOC()-arm/dl-startup.h tries to write a new
> 24-bit offset into the 'bl _dl_linux_resolver' instruction, the MMU
> faults (as it should).
>
> On May 10, 2004, at 1:59 PM, David Meggy wrote:
>
> > On Mon, 2004-05-10 at 12:11, David Poole wrote:
> >> Is there anyone using uClibc ARM shared libraries and not having this
> >> problem? I'd like to understand this problem better but I'm stymied by
> >> my dynamic linker ignorance.
> >
> > That would be me, I only had a brief dl issue a long time ago, but that
> > was fixed shortly after.
> >
> > I have my own script to build toolchains, and I use gcc 3.3.3, binutils
> > 2.14, uClibc 0.9.26
> >
> > David
> >
> > --
> > ~~~~~~~~~~~~~~~~~~~~~~~~
> > David Meggy
> > Engineering
> >
> > Technical Solutions Inc.
> > Unit #1 7157 Honeyman St
> > Delta BC Canada, V4G 1E2
> > www.techsol.ca
> >
> > eMail: dmeggy at techsol.ca
> > Tel: 604 946 TECH (8324)
> > Fax: 604 946 6445
> > ~~~~~~~~~~~~~~~~~~~~~~~~
> >
> >
> >
> --
> David Poole <dpoole at mobl.com>
> Mobility Electronics, Idaho http://www.mobl.com
> 960 Broadway Avenue, Suite 300
> Boise, ID 83706
>
--
~~~~~~~~~~~~~~~~~~~~~~~~
David Meggy
Engineering
Technical Solutions Inc.
Unit #1 7157 Honeyman St
Delta BC Canada, V4G 1E2
www.techsol.ca
eMail: dmeggy at techsol.ca
Tel: 604 946 TECH (8324)
Fax: 604 946 6445
~~~~~~~~~~~~~~~~~~~~~~~~
More information about the uClibc
mailing list