Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: String offset errors on evbarm 8.99 [PR 54159]
On Sun, Aug 04, 2019 at 11:45:26AM +0200, tlaronde wrote:
> Hello,
>
> When compiling packages for earmv7hf and NetBSD 8.99.50, some shared
> libraries created provoke the following type of messages from ld:
>
> somelib.so: invalid string offset 2371 >= 25 for section `.strtab
>
> (FWIW, the offset increases with the record while the stated size of
> the section doesn't.)
>
> I have tried to reduce a test case to the minimum, using for example:
>
> security/p11-kit
>
> that exhibits the problem but when I compile and
> assemble in a shared library invoking directly the compiler, there
> is no problem (and I have no problem with my own programs and shared
> libraries using the native tool-chain or the cross-compiled
> tool-chain; and cross-compiling the whole NetBSD distribution doesn't
> exhibit the problem either).
>
> So it seems that the problem is created by the invocation of libtool.
>
> I do not use libtool and don't fancy diving into it and its relations
> to the pkgsrc framework.
>
> If someone with more knowledge than me (not difficult) about libtool
> and pkgsrc could have a look to see if the version of libtool
> furnished/requested by pkgsrc is not up-to-date with the version
> of binutils shipping with 8.99 or if there are some libtool options
> that can not be used with earmv7(hf) it will, IMHO, help to solve
> the issue.
>
Just a supplementary tip:
For the shared libraries that ld complain about, the .strtab section is
indeed too short. The section exists (one must use readelf and not
objdump):
<xcomp-tooldir-bin>/readelf -S libp11-kit.so.0.3.0
There are 37 section headers, starting at offset 0x501554:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[..]
[35] .strtab STRTAB 00000000 500a30 0009bf 00 0 0 1
and the size of the section matches what is displayed by ld:
<xcomp-tooldir-bin>/ld: libp11-kit.so.0.3.0: invalid string offset 8626 >= 2495 for section `.strtab'
(2495 == 0009bf)
and the section is obviously far incomplete:
<xcomp-tooldir-bin>/readelf -p .strtab libp11-kit.so.0.3.0
String dump of section '.strtab':
[ 1] $d
[ 4] $a
[ 7] p11_kit_modules_release
[ 1f] p11_kit_pin_get_length
[ 36] p11_kit_pin_request
[ 4a] p11_kit_registered_module_to_name
[ 6c] p11_kit_uri_set_module_path
[ 88] p11_kit_uri_set_pinfile
[ a0] p11_kit_uri_set_pin_value
[ ba] p11_kit_uri_get_attribute
[ d4] p11_kit_finalize_module
[ ec] p11_kit_pin_ref
[ fc] p11_kit_modules_load
[ 111] p11_kit_iter_destroy_object
[ 12d] p11_kit_uri_set_module_name
[ 149] p11_kit_registered_name_to_module
[ 16b] p11_kit_pin_new
[ 17b] p11_kit_iter_get_object
[ 193] p11_kit_module_finalize
[ 1ab] p11_kit_iter_free
[ 1bd] p11_kit_uri_any_unrecognized
[ 1da] p11_kit_remote_serve_token
[ 1f5] p11_kit_uri_set_vendor_query
[ 212] p11_kit_uri_match_module_info
[ 230] p11_kit_iter_keep_session
[ 24a] p11_kit_config_option
[ 260] p11_kit_space_strlen
[ 275] p11_kit_module_initialize
[ 28f] p11_kit_uri_set_unrecognized
[ 2ac] p11_kit_uri_clear_attribute
[ 2c8] p11_kit_uri_free
[ 2d9] p11_kit_initialize_registered
[ 2f7] p11_kit_iter_set_uri
[ 30c] p11_kit_uri_get_vendor_query
[ 329] p11_kit_pin_register_callback
[ 347] p11_kit_modules_initialize
[ 362] p11_kit_uri_match_token_info
[ 37f] p11_kit_iter_get_module
[ 397] p11_kit_iter_get_slot_info
[ 3b2] p11_kit_uri_new
[ 3c2] p11_kit_uri_match_slot_info
[ 3de] p11_kit_uri_get_slot_id
[ 3f6] p11_kit_iter_begin
[ 409] p11_kit_pin_file_callback
[ 423] p11_kit_uri_set_pin_source
[ 43e] p11_kit_finalize_registered
[ 45a] p11_kit_initialize_module
[ 474] p11_kit_pin_new_for_string
[ 48f] p11_kit_iter_add_callback
[ 4a9] p11_kit_iter_get_token
[ 4c0] p11_kit_uri_set_attribute
[ 4da] p11_kit_module_release
[ 4f1] p11_kit_module_load
[ 505] p11_kit_iter_get_session
[ 51e] p11_kit_iter_add_filter
[ 536] p11_kit_uri_get_module_path
[ 552] p11_kit_iter_new
[ 563] p11_kit_strerror
[ 574] p11_kit_uri_get_slot_info
[ 58e] p11_kit_iter_begin_with
[ 5a6] p11_kit_set_progname
[ 5bb] p11_kit_load_initialize_module
[ 5da] p11_kit_uri_get_token_info
[ 5f5] p11_kit_registered_option
[ 60f] p11_kit_modules_finalize
[ 628] p11_kit_iter_get_attributes
[ 644] p11_kit_uri_match_attributes
[ 661] p11_kit_module_get_filename
[ 67d] p11_kit_iter_next
[ 68f] p11_kit_module_get_name
[ 6a7] p11_kit_uri_set_slot_id
[ 6bf] C_GetFunctionList
[ 6d1] p11_kit_pin_unref
[ 6e3] p11_kit_modules_finalize_and_release
[ 708] p11_kit_registered_modules
[ 723] p11_kit_uri_parse
[ 735] p11_kit_uri_get_module_info
[ 751] p11_kit_remote_serve_module
[ 76d] p11_kit_uri_message
[ 781] p11_kit_be_loud
[ 791] p11_kit_uri_get_pin_value
[ 7ab] p11_kit_override_system_files
[ 7c9] p11_kit_iter_load_attributes
[ 7e6] p11_kit_iter_get_kind
[ 7fc] p11_kit_remote_serve_tokens
[ 818] p11_kit_module_get_flags
[ 831] p11_kit_be_quiet
[ 842] p11_kit_module_for_name
[ 85a] p11_kit_iter_get_slot
[ 870] p11_kit_uri_get_pin_source
[ 88b] p11_kit_pin_new_for_buffer
[ 8a6] p11_kit_message
[ 8b6] p11_kit_uri_get_attributes
[ 8d1] p11_kit_pin_unregister_callback
[ 8f1] p11_kit_space_strdup
[ 906] p11_kit_uri_format
[ 919] p11_kit_modules_load_and_initialize
[ 93d] p11_kit_uri_clear_attributes
[ 95a] p11_kit_uri_set_attributes
[ 975] p11_kit_uri_get_pinfile
[ 98d] p11_kit_uri_get_module_name
[ 9a9] p11_kit_pin_get_value
FWIW.
--
Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.com/
http://www.sbfa.fr/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C
Home |
Main Index |
Thread Index |
Old Index