bebbo / amiga-gcc

The GNU C-Compiler with Binutils and other useful tools for cross development for Amiga
GNU General Public License v2.0
312 stars 66 forks source link

Duplicate section has different contents #397

Open afalkenhahn opened 3 months ago

afalkenhahn commented 3 months ago

When trying to build a C++ project with the latest gcc, I get hundreds of linking errors like this:

../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZN10CrapHelperIN20hb_user_data_array_t19hb_user_data_item_tEE8get_crapEv' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIP18hb_user_data_key_tEEbRKT_Pj14hb_not_found_tj' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIS1_EEbRKT_Pj14hb_not_found_tj' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZN10CrapHelperIN20hb_user_data_array_t19hb_user_data_item_tEE8get_crapEv' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIP18hb_user_data_key_tEEbRKT_Pj14hb_not_found_tj' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-buffer.o): duplicate section `.text._ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIS1_EEbRKT_Pj14hb_not_found_tj' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZN21hb_sanitize_context_t16start_processingEv' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZN21hb_sanitize_context_t8may_editEPKvj' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZN9hb_font_t18get_font_h_extentsEP17hb_font_extents_t' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZNK13hb_bit_page_t8is_emptyEv' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZZNK13hb_bit_page_t14get_populationEvENKUljRKyE_clEjS1_' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZNK13hb_bit_page_t14get_populationEv' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZN13hb_bit_page_t11elt_get_minERKy' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZN22hb_serialize_context_t3errE20hb_serialize_error_t' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZNK12hb_hashmap_tIjjLb1EE3hasIjEEbRKjPPT_' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZN12hb_hashmap_tIjjLb1EE3setIRjEEbRKjOT_b' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZNK12hb_hashmap_tIjjLb1EE3getERKj' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZNK2OT7IntTypeItLj2EE8sanitizeEP21hb_sanitize_context_t' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZN12hb_hashmap_tIjjLb1EE3setIiEEbOjOT_b' has different contents
../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/libharfbuzz.a(hb-font.o): duplicate section `.text._ZNK21hb_sanitize_context_t11check_rangeIN2OT7IntTypeIhLj1EEEEEbPKT_jj' has different contents

The same project builds just fine with the 2017 version of Bebbo's gcc which I was using previously. My build line looks like this:

m68k-amigaos-gcc -nostartfiles -m68020 -mcrt=clib2 -o mktool/os3gcc6/textastic.hwp mktool/os3gcc6/amigaentry.o mktool/os3gcc6/plugin.o mktool/os3gcc6/purefuncs.o mktool/os3gcc6/fontconfig.o mktool/os3gcc6/tex.o -L../MicroTeX-openmath-c14/mktool/os3gcc6 -L../Pangomonium/pango-1.50.14/mktool/os3gcc6 -L../Pangomonium/fontconfig-2.14.2/mktool/os3gcc6 -L../Pangomonium/expat-2.5.0/mktool/os3gcc6 -L../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6 -L../Pangomonium/fribidi-1.0.13/mktool/os3gcc6 -L../Pangomonium/freetype-2.13.1/mktool/os3gcc6 -L../Pangomonium/cairo-1.17.8/mktool/os3gcc6 -L../Pangomonium/pixman-0.42.2-noos3hack/mktool/os3gcc6 -L../Pangomonium/libpng-1.6.40/mktool/os3gcc6 -L../Pangomonium/zlib-1.2.13/mktool/os3gcc6 -L../Pangomonium/glib/mktool/os3gcc6 -L../Pangomonium/gobject/mktool/os3gcc6 -L../Pangomonium/gio/mktool/os3gcc6 -lmicrotex -lpango -lharfbuzz -lfribidi -lcairo -lfontconfig -lexpat -lfreetype -lpixman -lpng -lgio -lgobject -lglib -lz -lm -lstdc++ -lc

Any idea how to fix this?

bebbo commented 3 months ago

Do not use different code with the same name. E.g.

hb-font.hh:

hb_bool_t get_font_h_extents (hb_font_extents_t *extents)
  {
    hb_memset (extents, 0, sizeof (*extents));
    return klass->get.f.font_h_extents (this, user_data,
                    extents,
                    !klass->user_data ? nullptr : klass->user_data->font_h_extents);
  }

and hb-ft.cc:

static hb_bool_t
hb_ft_get_font_h_extents (hb_font_t *font HB_UNUSED,
              void *font_data,
              hb_font_extents_t *metrics,
              void *user_data HB_UNUSED)
...

EDIT: those have a different signature... ... must be a different reason...

=> check the asm of the mentioned files and look, what's the code difference.

afalkenhahn commented 3 months ago

Hmm, I don't understand. get_font_h_extents and hb_ft_get_font_h_extents clearly are different names. Or what exactly are you referring to when talking about "same names"?

bebbo commented 3 months ago

I was wrong and updated the ticket text already.

Please check the section contents of those files with m68k-amigaos-objdump or create asm from the sources and check. The code must be the same.

afalkenhahn commented 3 months ago

Ok, this is the output of m68k-amigaos-objdump -t hb.buffer.o:

../Pangomonium/harfbuzz-8.0.1/mktool/os3gcc6/src/hb-buffer.o:     file format amiga

SYMBOL TABLE:
00000000         *UND*      0001 81 __hb_Null_hb_unicode_funcs_t
00000000         *UND*      0001 81 __hb_CrapPool
00000000         *UND*      0002 81 _memcpy
00000000         *UND*      0002 81 _realloc
00000000         *UND*      0006 81 _memmove
00000000         *UND*      0004 81 _hb_unicode_funcs_destroy
00000000         *UND*      0001 81 _hb_script_get_horizontal_direction
00000000         *UND*      0001 81 _hb_language_get_default
00000000         *UND*      0003 81 _hb_unicode_funcs_reference
00000000         *UND*      0005 81 _free
00000000         *UND*      0001 81 _vsnprintf
00000000         *UND*      0002 81 _calloc
00000000         *UND*      0002 81 _hb_unicode_funcs_get_default
00000000         *UND*      0001 81 _memset
00000000 l       .text      0000 21 __ZStL19piecewise_construct
00000002 l       .text      0000 21 __ZL20__gthread_key_deletei
0000000c l       .text      0000 21 __ZStL13allocator_arg
0000000d l       .text      0000 21 __ZStL6ignore
0000000e l       .text      0000 21 __ZN9__gnu_cxxL21__default_lock_policyE
00000012 l       .text      0000 21 __ZL9hb_memcpyPvPKvj
0000003c l       .text      0000 21 __ZL9hb_memsetPvij
00000066 l       .text      0000 21 __ZL25hb_unsigned_mul_overflowsjjPj
0000009e l       .text      0000 21 __Z13_hb_debug_msgILi0EEvPKcPKvS1_bjiS1_z
000000b0 l       .text      0000 21 __ZNK4._96clIRjjEEDTqugefp_fp0_fp_fp0_EOT_OT0_
000000d2 l       .text      0000 21 __Zor16hb_glyph_flags_tS_
000000e2 l       .text      0000 21 __Zco16hb_glyph_flags_t
000000f0 l       .text      0000 21 __Zor22hb_buffer_diff_flags_tS_
00000100 l       .text      0000 21 __ZoRR22hb_buffer_diff_flags_tS_
00000124 l       .text      0000 21 __Zor25hb_buffer_scratch_flags_tS_
00000134 l       .text      0000 21 __ZoRR25hb_buffer_scratch_flags_tS_
0000047a g       .text      0000 01 __ZN11hb_buffer_t13make_room_forEjj
00000ef8 g       .text      0000 01 __ZN11hb_buffer_t19merge_clusters_implEjj
00000158 l       .text      0000 21 __ZNK4._95clIRjS1_EEDTqulefp_fp0_fp_fp0_EOT_OT0_
00000308 g       .text      0000 01 __ZN11hb_buffer_t7enlargeEj
0000017a l       .text      0000 21 __ZNK4._95clIRjRKjEEDTqulefp_fp0_fp_fp0_EOT_OT0_
0000019c l       .text      0000 21 __ZNK4._95clIRKjS2_EEDTqulefp_fp0_fp_fp0_EOT_OT0_
000018b6 g       .text      0000 01 __hb_Null_hb_buffer_t
000001be l       .text      0000 21 __ZL10table_tags
00002d20 l       .text      0000 21 __Z11hb_in_rangeIjEbT_S0_S0_
000001c6 g       .text      0000 01 _hb_segment_properties_equal
0000023c g       .text      0000 01 _hb_segment_properties_hash
00000276 g       .text      0000 01 _hb_segment_properties_overlay
0000051c g       .text      0000 01 __ZN11hb_buffer_t13shift_forwardEj
0000064a g       .text      0000 01 __ZN11hb_buffer_t18get_scratch_bufferEPj
0000069a g       .text      0000 01 __ZN11hb_buffer_t7similarERKS_
00000720 g       .text      0000 01 __ZN11hb_buffer_t5resetEv
0000078a g       .text      0000 01 __ZN11hb_buffer_t5clearEv
0000085c g       .text      0000 01 __ZN11hb_buffer_t5enterEv
0000092e g       .text      0000 01 __ZN11hb_buffer_t5leaveEv
00000964 g       .text      0000 01 __ZN11hb_buffer_t3addEjj
000009f4 g       .text      0000 01 __ZN11hb_buffer_t8add_infoERK15hb_glyph_info_t
00000a60 g       .text      0000 01 __ZN11hb_buffer_t12clear_outputEv
00000a9c g       .text      0000 01 __ZN11hb_buffer_t15clear_positionsEv
00000af8 g       .text      0000 01 __ZN11hb_buffer_t4syncEv
00000bca g       .text      0000 01 __ZN11hb_buffer_t11sync_so_farEv
00000c4a g       .text      0000 01 __ZN11hb_buffer_t7move_toEj
00000e34 g       .text      0000 01 __ZN11hb_buffer_t9set_masksEjjjj
00001184 g       .text      0000 01 __ZN11hb_buffer_t18merge_out_clustersEjj
00001398 g       .text      0000 01 __ZN11hb_buffer_t12delete_glyphEv
00001580 g       .text      0000 01 __ZN11hb_buffer_t21delete_glyphs_inplaceEPFbPK15hb_glyph_info_tE
000017cc g       .text      0000 01 __ZN11hb_buffer_t24guess_segment_propertiesEv
00001960 g       .text      0000 01 _hb_buffer_create
00002d60 l       .text      0000 21 __Z16hb_object_createI11hb_buffer_tJEEPT_DpT0_
000019ee g       .text      0000 01 _hb_buffer_get_empty
000019a8 g       .text      0000 01 _hb_buffer_create_similar
000019ca g       .text      0000 01 _hb_buffer_reset
00002e04 l       .text      0000 21 __Z22hb_object_is_immutableI11hb_buffer_tEbPKT_
000019fc g       .text      0000 01 _hb_buffer_reference
00002e22 l       .text      0000 21 __Z19hb_object_referenceI11hb_buffer_tEPT_S2_
00001a0e g       .text      0000 01 _hb_buffer_destroy
00002e72 l       .text      0000 21 __Z17hb_object_destroyI11hb_buffer_tEbPT_
00001a90 g       .text      0000 01 _hb_buffer_set_user_data
00002ed8 l       .text      0000 21 __Z23hb_object_set_user_dataI11hb_buffer_tEbPT_P18hb_user_data_key_tPvPFvS5_Ei
00001abc g       .text      0000 01 _hb_buffer_get_user_data
00002fa4 l       .text      0000 21 __Z23hb_object_get_user_dataIK11hb_buffer_tEPvPT_P18hb_user_data_key_t
00001ad2 g       .text      0000 01 _hb_buffer_set_content_type
00001ae6 g       .text      0000 01 _hb_buffer_get_content_type
00001af6 g       .text      0000 01 _hb_buffer_set_unicode_funcs
00001b48 g       .text      0000 01 _hb_buffer_get_unicode_funcs
00001b58 g       .text      0000 01 _hb_buffer_set_direction
00001b7c g       .text      0000 01 _hb_buffer_get_direction
00001b8c g       .text      0000 01 _hb_buffer_set_script
00001bb0 g       .text      0000 01 _hb_buffer_get_script
00001bc0 g       .text      0000 01 _hb_buffer_set_language
00001be4 g       .text      0000 01 _hb_buffer_get_language
00001bf4 g       .text      0000 01 _hb_buffer_set_segment_properties
00001c26 g       .text      0000 01 _hb_buffer_get_segment_properties
00001c48 g       .text      0000 01 _hb_buffer_set_flags
00001c6c g       .text      0000 01 _hb_buffer_get_flags
00001c7c g       .text      0000 01 _hb_buffer_set_cluster_level
00001ca0 g       .text      0000 01 _hb_buffer_get_cluster_level
00001cb0 g       .text      0000 01 _hb_buffer_set_replacement_codepoint
00001cd4 g       .text      0000 01 _hb_buffer_get_replacement_codepoint
00001ce4 g       .text      0000 01 _hb_buffer_set_invisible_glyph
00001d08 g       .text      0000 01 _hb_buffer_get_invisible_glyph
00001d18 g       .text      0000 01 _hb_buffer_set_not_found_glyph
00001d3c g       .text      0000 01 _hb_buffer_get_not_found_glyph
00001d4c g       .text      0000 01 _hb_buffer_clear_contents
00001d70 g       .text      0000 01 _hb_buffer_pre_allocate
00001d90 g       .text      0000 01 _hb_buffer_allocation_successful
00001da8 g       .text      0000 01 _hb_buffer_add
00001dd6 g       .text      0000 01 _hb_buffer_set_length
00001ef8 g       .text      0000 01 _hb_buffer_get_length
00001f08 g       .text      0000 01 _hb_buffer_get_glyph_infos
00001f2c g       .text      0000 01 _hb_buffer_get_glyph_positions
00001f7a g       .text      0000 01 _hb_buffer_has_positions
00001f92 g       .text      0000 01 _hb_glyph_info_get_glyph_flags
00001fa6 g       .text      0000 01 _hb_buffer_reverse
00001fbc g       .text      0000 01 _hb_buffer_reverse_range
00001fdc g       .text      0000 01 _hb_buffer_reverse_clusters
00001ff2 g       .text      0000 01 _hb_buffer_guess_segment_properties
00002006 g       .text      0000 01 _hb_buffer_add_utf8
00003000 l       .text      0000 21 __Z17hb_buffer_add_utfI9hb_utf8_tEvP11hb_buffer_tPKNT_11codepoint_tEiji
0000202c g       .text      0000 01 _hb_buffer_add_utf16
00003232 l       .text      0000 21 __Z17hb_buffer_add_utfI13hb_utf16_xe_tItEEvP11hb_buffer_tPKNT_11codepoint_tEiji
00002052 g       .text      0000 01 _hb_buffer_add_utf32
00003476 l       .text      0000 21 __Z17hb_buffer_add_utfI13hb_utf32_xe_tIjLb1EEEvP11hb_buffer_tPKNT_11codepoint_tEiji
00002078 g       .text      0000 01 _hb_buffer_add_latin1
000036bc l       .text      0000 21 __Z17hb_buffer_add_utfI11hb_latin1_tEvP11hb_buffer_tPKNT_11codepoint_tEiji
0000209e g       .text      0000 01 _hb_buffer_add_codepoints
000038ee l       .text      0000 21 __Z17hb_buffer_add_utfI13hb_utf32_xe_tIjLb0EEEvP11hb_buffer_tPKNT_11codepoint_tEiji
000020c4 g       .text      0000 01 _hb_buffer_append
0000240a l       .text      0000 21 __ZL22compare_info_codepointPK15hb_glyph_info_tS1_
0000242a l       .text      0000 21 __ZL24normalize_glyphs_clusterP11hb_buffer_tjjb
00003b34 l       .text      0000 21 __Z14hb_stable_sortI15hb_glyph_info_tS0_19hb_glyph_position_tEvPT_jPFiPKT0_S6_EPT1_
00002738 g       .text      0000 01 _hb_buffer_normalize_glyphs
000027e2 g       .text      0000 01 __ZN11hb_buffer_t4sortEjjPFiPK15hb_glyph_info_tS2_E
0000293e g       .text      0000 01 _hb_buffer_diff
00002c16 g       .text      0000 01 _hb_buffer_set_message_func
00002ca4 g       .text      0000 01 __ZN11hb_buffer_t12message_implEP9hb_font_tPKcPv
00003cd6 l       .text      0000 21 __ZNK4._92clI15hb_glyph_info_tEEvRT_S3_
00003cf0 l       .text      0000 21 __ZNK4._92clI19hb_glyph_position_tEEvRT_S3_
00002d3e l       .text      0000 21 __ZNK4._96clIRjS1_EEDTqugefp_fp0_fp_fp0_EOT_OT0_
00003d0a l       .text      0000 21 __Z14hb_object_initI11hb_buffer_tEvPT_
00003fa4 l       .text      0000 21 __ZZ16hb_object_createI11hb_buffer_tJEEPT_DpT0_E19__PRETTY_FUNCTION__
00003d62 l       .text      0000 21 __Z15hb_object_traceI11hb_buffer_tEvPKT_PKc
00003fe6 l       .text      0000 21 __ZZ19hb_object_referenceI11hb_buffer_tEPT_S2_E19__PRETTY_FUNCTION__
00004021 l       .text      0000 21 __ZZ17hb_object_destroyI11hb_buffer_tEbPT_E19__PRETTY_FUNCTION__
00003da6 l       .text      0000 21 __Z14hb_object_finiI11hb_buffer_tEvPT_
00003e02 l       .text      0000 21 __Z4CrapIN20hb_user_data_array_t19hb_user_data_item_tEERT_v
00003e86 l       .text      0000 21 __ZNK4._91clIRKP18hb_user_data_key_tRN20hb_user_data_array_t19hb_user_data_item_tEEEDTcldtdefpT4implcl7forwardIT_Efp_Ecl7forwardIT0_Efp0_Ecv11hb_priorityILj16EE_EEEOS8_OS9_
00003ecc l       .text      0000 21 __ZNK4._91clIRKN20hb_user_data_array_t19hb_user_data_item_tERS2_EEDTcldtdefpT4implcl7forwardIT_Efp_Ecl7forwardIT0_Efp0_Ecv11hb_priorityILj16EE_EEEOS6_OS7_
00003e3a l       .text      0000 21 __Z14_hb_cmp_methodIjKN12hb_bit_set_t10page_map_tEJEEiPKvS4_DpT1_
00003e62 l       .text      0000 21 __Z14_hb_cmp_methodIN12hb_bit_set_t10page_map_tEKS1_JEEiPKvS4_DpT1_
00003f3a l       .text      0000 21 __ZNK4._914implIRKP18hb_user_data_key_tRN20hb_user_data_array_t19hb_user_data_item_tEEEDTeqcl7forwardIT0_Efp0_Ecl7forwardIT_Efp_EEOS9_OS8_11hb_priorityILj0EE
00003f70 l       .text      0000 21 __ZNK4._914implIRKN20hb_user_data_array_t19hb_user_data_item_tERS2_EEDTeqcl7forwardIT_Efp_Ecl7forwardIT0_Efp0_EEOS6_OS7_11hb_priorityILj1EE
00003f12 l       .text      0000 21 __Z14_hb_cmp_methodIjKN11hb_ot_map_t13feature_map_tEJEEiPKvS4_DpT1_
0000405a l       .text      0000 21 __EH_FRAME_BEGIN__
00000000 l       .bss       0000 21 __ZL8hb_deref
00000001 l       .bss       0000 21 __ZL11hb_identity
00000002 l       .bss       0000 21 __ZL12hb_lidentity
00000003 l       .bss       0000 21 __ZL12hb_ridentity
00000004 l       .bss       0000 21 __ZL7hb_bool
00000005 l       .bss       0000 21 __ZL7hb_hash
00000006 l       .bss       0000 21 __ZL9hb_invoke
00000007 l       .bss       0000 21 __ZL6hb_has
00000008 l       .bss       0000 21 __ZL8hb_match
00000009 l       .bss       0000 21 __ZL6hb_get
0000000a l       .bss       0000 21 __ZL8hb_equal
0000000b l       .bss       0000 21 __ZL7hb_swap
0000000c l       .bss       0000 21 __ZL8hb_first
0000000d l       .bss       0000 21 __ZL9hb_second
0000000e l       .bss       0000 21 __ZL6hb_min
0000000f l       .bss       0000 21 __ZL6hb_max
00000010 l       .bss       0000 21 __ZL8hb_clamp
00000011 l       .bss       0000 21 __ZL14hb_bitwise_and
00000012 l       .bss       0000 21 __ZL13hb_bitwise_or
00000013 l       .bss       0000 21 __ZL14hb_bitwise_xor
00000014 l       .bss       0000 21 __ZL13hb_bitwise_lt
00000015 l       .bss       0000 21 __ZL13hb_bitwise_gt
00000016 l       .bss       0000 21 __ZL13hb_bitwise_le
00000017 l       .bss       0000 21 __ZL13hb_bitwise_ge
00000018 l       .bss       0000 21 __ZL14hb_bitwise_neg
00000019 l       .bss       0000 21 __ZL6hb_add
0000001a l       .bss       0000 21 __ZL6hb_sub
0000001b l       .bss       0000 21 __ZL7hb_rsub
0000001c l       .bss       0000 21 __ZL6hb_mul
0000001d l       .bss       0000 21 __ZL6hb_div
0000001e l       .bss       0000 21 __ZL6hb_mod
0000001f l       .bss       0000 21 __ZL6hb_pos
00000020 l       .bss       0000 21 __ZL6hb_neg
00000021 l       .bss       0000 21 __ZL6hb_inc
00000022 l       .bss       0000 21 __ZL6hb_dec
00000023 l       .bss       0000 21 __ZL7hb_iter
00000024 l       .bss       0000 21 __ZL6hb_len
00000025 l       .bss       0000 21 __ZL6hb_map
00000026 l       .bss       0000 21 __ZL22hb_map_retains_sorting
00000027 l       .bss       0000 21 __ZL13hb_map_sorted
00000028 l       .bss       0000 21 __ZL9hb_filter
00000029 l       .bss       0000 21 __ZL9hb_reduce
0000002a l       .bss       0000 21 __ZL6hb_zip
0000002b l       .bss       0000 21 __ZL9hb_concat
0000002c l       .bss       0000 21 __ZL8hb_apply
0000002d l       .bss       0000 21 __ZL8hb_range
0000002e l       .bss       0000 21 __ZL7hb_iota
0000002f l       .bss       0000 21 __ZL9hb_repeat
00000030 l       .bss       0000 21 __ZL12hb_enumerate
00000031 l       .bss       0000 21 __ZL7hb_take
00000032 l       .bss       0000 21 __ZL7hb_chop
00000033 l       .bss       0000 21 __ZL7hb_sink
00000034 l       .bss       0000 21 __ZL8hb_drain
00000035 l       .bss       0000 21 __ZL8hb_unzip
00000036 l       .bss       0000 21 __ZL6hb_all
00000037 l       .bss       0000 21 __ZL6hb_any
00000038 l       .bss       0000 21 __ZL7hb_none
00000000 gw      .text._ZnwjPv 0000 41 __ZnwjPv
00000000 gw      .text._ZN10hb_mutex_t4initEv 0000 41 __ZN10hb_mutex_t4initEv
00000000 gw      .text._ZN10hb_mutex_t4lockEv 0000 41 __ZN10hb_mutex_t4lockEv
00000000 gw      .text._ZN10hb_mutex_t6unlockEv 0000 41 __ZN10hb_mutex_t6unlockEv
00000000 gw      .text._ZN10hb_mutex_t4finiEv 0000 41 __ZN10hb_mutex_t4finiEv
00000000 gw      .text._Z22hb_atomic_ptr_impl_getPPv 0000 41 __Z22hb_atomic_ptr_impl_getPPv
00000000 gw      .text._ZN15hb_atomic_int_tC1Ei 0000 41 __ZN15hb_atomic_int_tC1Ei
00000000 gw      .text._ZN15hb_atomic_int_taSEi 0000 41 __ZN15hb_atomic_int_taSEi
00000000 gw      .text._ZNK15hb_atomic_int_tcviEv 0000 41 __ZNK15hb_atomic_int_tcviEv
00000000 gw      .text._ZN15hb_atomic_int_t11set_relaxedEi 0000 41 __ZN15hb_atomic_int_t11set_relaxedEi
00000000 gw      .text._ZNK15hb_atomic_int_t11get_relaxedEv 0000 41 __ZNK15hb_atomic_int_t11get_relaxedEv
00000000 gw      .text._ZN15hb_atomic_int_t3incEv 0000 41 __ZN15hb_atomic_int_t3incEv
00000000 gw      .text._ZN15hb_atomic_int_t3decEv 0000 41 __ZN15hb_atomic_int_t3decEv
00000000 gw      .text._ZN20hb_reference_count_t4initEi 0000 41 __ZN20hb_reference_count_t4initEi
00000000 gw      .text._ZNK20hb_reference_count_t11get_relaxedEv 0000 41 __ZNK20hb_reference_count_t11get_relaxedEv
00000000 gw      .text._ZNK20hb_reference_count_t3incEv 0000 41 __ZNK20hb_reference_count_t3incEv
00000000 gw      .text._ZNK20hb_reference_count_t3decEv 0000 41 __ZNK20hb_reference_count_t3decEv
00000000 gw      .text._ZN20hb_reference_count_t4finiEv 0000 41 __ZN20hb_reference_count_t4finiEv
00000000 gw      .text._ZNK20hb_user_data_array_t19hb_user_data_item_teqEPK18hb_user_data_key_t 0000 41 __ZNK20hb_user_data_array_t19hb_user_data_item_teqEPK18hb_user_data_key_t
00000000 gw      .text._ZNK20hb_user_data_array_t19hb_user_data_item_teqERKS0_ 0000 41 __ZNK20hb_user_data_array_t19hb_user_data_item_teqERKS0_
00000000 gw      .text._ZN20hb_user_data_array_t19hb_user_data_item_t4finiEv 0000 41 __ZN20hb_user_data_array_t19hb_user_data_item_t4finiEv
00000000 gw      .text._ZN20hb_user_data_array_t4initEv 0000 41 __ZN20hb_user_data_array_t4initEv
00000000 gw      .text._ZN20hb_user_data_array_t4finiEv 0000 41 __ZN20hb_user_data_array_t4finiEv
00000000 gw      .text._ZN20hb_user_data_array_t3setEP18hb_user_data_key_tPvPFvS2_Ei 0000 41 __ZN20hb_user_data_array_t3setEP18hb_user_data_key_tPvPFvS2_Ei
00000000 gw      .text._ZN20hb_user_data_array_t3getEP18hb_user_data_key_t 0000 41 __ZN20hb_user_data_array_t3getEP18hb_user_data_key_t
00000000 gw      .text._ZNK18hb_object_header_t8is_inertEv 0000 41 __ZNK18hb_object_header_t8is_inertEv
00000000 gw      .text._ZN18hb_unicode_funcs_t6scriptEj 0000 41 __ZN18hb_unicode_funcs_t6scriptEj
00000000 gw      .text._ZN11hb_buffer_t18deallocate_var_allEv 0000 41 __ZN11hb_buffer_t18deallocate_var_allEv
00000000 gw      .text._ZN9hb_iter_tI10hb_array_tI15hb_glyph_info_tERS1_EC2Ev 0000 41 __ZN9hb_iter_tI10hb_array_tI15hb_glyph_info_tERS1_EC2Ev
00000000 gw      .text._ZN24hb_iter_fallback_mixin_tI10hb_array_tI15hb_glyph_info_tERS1_EC2Ev 0000 41 __ZN24hb_iter_fallback_mixin_tI10hb_array_tI15hb_glyph_info_tERS1_EC2Ev
00000000 gw      .text._ZN23hb_iter_with_fallback_tI10hb_array_tI15hb_glyph_info_tERS1_EC2Ev 0000 41 __ZN23hb_iter_with_fallback_tI10hb_array_tI15hb_glyph_info_tERS1_EC2Ev
00000000 gw      .text._ZN10hb_array_tI15hb_glyph_info_tEC1EPS0_j 0000 41 __ZN10hb_array_tI15hb_glyph_info_tEC1EPS0_j
00000000 gw      .text._ZN9hb_iter_tI10hb_array_tI19hb_glyph_position_tERS1_EC2Ev 0000 41 __ZN9hb_iter_tI10hb_array_tI19hb_glyph_position_tERS1_EC2Ev
00000000 gw      .text._ZN24hb_iter_fallback_mixin_tI10hb_array_tI19hb_glyph_position_tERS1_EC2Ev 0000 41 __ZN24hb_iter_fallback_mixin_tI10hb_array_tI19hb_glyph_position_tERS1_EC2Ev
00000000 gw      .text._ZN23hb_iter_with_fallback_tI10hb_array_tI19hb_glyph_position_tERS1_EC2Ev 0000 41 __ZN23hb_iter_with_fallback_tI10hb_array_tI19hb_glyph_position_tERS1_EC2Ev
00000000 gw      .text._ZN10hb_array_tI19hb_glyph_position_tEC1EPS0_j 0000 41 __ZN10hb_array_tI19hb_glyph_position_tEC1EPS0_j
00000000 gw      .text._ZN11hb_buffer_t13reverse_rangeEjj 0000 41 __ZN11hb_buffer_t13reverse_rangeEjj
00000000 gw      .text._ZN11hb_buffer_t7reverseEv 0000 41 __ZN11hb_buffer_t7reverseEv
00000000 gw      .text._ZN11hb_buffer_t19_cluster_group_funcERK15hb_glyph_info_tS2_ 0000 41 __ZN11hb_buffer_t19_cluster_group_funcERK15hb_glyph_info_tS2_
00000000 gw      .text._ZN11hb_buffer_t16reverse_clustersEv 0000 41 __ZN11hb_buffer_t16reverse_clustersEv
00000000         *UND*      0001 81 _memmove
00000000 gw      .text._ZN11hb_buffer_t11next_glyphsEj 0000 41 __ZN11hb_buffer_t11next_glyphsEj
00000000 gw      .text._ZN11hb_buffer_t10skip_glyphEv 0000 41 __ZN11hb_buffer_t10skip_glyphEv
00000000 gw      .text._ZN11hb_buffer_t14merge_clustersEjj 0000 41 __ZN11hb_buffer_t14merge_clustersEjj
00000000 gw      .text._ZN11hb_buffer_t16_set_glyph_flagsEjjjbb 0000 41 __ZN11hb_buffer_t16_set_glyph_flagsEjjjbb
00000000 gw      .text._ZN11hb_buffer_t15unsafe_to_breakEjj 0000 41 __ZN11hb_buffer_t15unsafe_to_breakEjj
00000000 gw      .text._ZN11hb_buffer_t6ensureEj 0000 41 __ZN11hb_buffer_t6ensureEj
00000000 gw      .text._ZN11hb_buffer_t13assert_glyphsEv 0000 41 __ZN11hb_buffer_t13assert_glyphsEv
00000000 gw      .text._ZN11hb_buffer_t14assert_unicodeEv 0000 41 __ZN11hb_buffer_t14assert_unicodeEv
00000000 gw      .text._ZN11hb_buffer_t13clear_contextEj 0000 41 __ZN11hb_buffer_t13clear_contextEj
00000000 gw      .text._ZN11hb_buffer_t11set_clusterER15hb_glyph_info_tjj 0000 41 __ZN11hb_buffer_t11set_clusterER15hb_glyph_info_tjj
00000000 gw      .text._ZN11hb_buffer_t22_infos_set_glyph_flagsEP15hb_glyph_info_tjjjj 0000 41 __ZN11hb_buffer_t22_infos_set_glyph_flagsEP15hb_glyph_info_tjjjj
00000000 gw      .text._ZN11hb_buffer_t23_infos_find_min_clusterEPK15hb_glyph_info_tjjj 0000 41 __ZN11hb_buffer_t23_infos_find_min_clusterEPK15hb_glyph_info_tjjj
00000000 gw      .text._ZN4NullI11hb_buffer_tE8get_nullEv 0000 41 __ZN4NullI11hb_buffer_tE8get_nullEv
00000000 gw      .text._ZNK11hb_ot_map_t13feature_map_t3cmpEj 0000 41 __ZNK11hb_ot_map_t13feature_map_t3cmpEj
00000000 gw      .text._ZNK12hb_bit_set_t10page_map_t3cmpERKS0_ 0000 41 __ZNK12hb_bit_set_t10page_map_t3cmpERKS0_
00000000 gw      .text._ZNK12hb_bit_set_t10page_map_t3cmpEj 0000 41 __ZNK12hb_bit_set_t10page_map_t3cmpEj
00000000 gw      .text._ZN9hb_utf8_t4nextEPKhS1_Pjj 0000 41 __ZN9hb_utf8_t4nextEPKhS1_Pjj
00000000 gw      .text._ZN9hb_utf8_t4prevEPKhS1_Pjj 0000 41 __ZN9hb_utf8_t4prevEPKhS1_Pjj
00000000         *UND*      0001 81 _strlen
00000000 gw      .text._ZN9hb_utf8_t6strlenEPKh 0000 41 __ZN9hb_utf8_t6strlenEPKh
00000000 gw      .text._ZN11hb_latin1_t4nextEPKhS1_Pjj 0000 41 __ZN11hb_latin1_t4nextEPKhS1_Pjj
00000000 gw      .text._ZN11hb_latin1_t4prevEPKhS1_Pjj 0000 41 __ZN11hb_latin1_t4prevEPKhS1_Pjj
00000000 gw      .text._ZN11hb_latin1_t6strlenEPKh 0000 41 __ZN11hb_latin1_t6strlenEPKh
00000000 gw      .text._ZN15hb_atomic_int_tC1Ev 0000 41 __ZN15hb_atomic_int_tC1Ev
00000000 gw      .text._ZN15hb_atomic_ptr_tI20hb_user_data_array_tEC1Ev 0000 41 __ZN15hb_atomic_ptr_tI20hb_user_data_array_tEC1Ev
00000000 gw      .text._ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE4initEv 0000 41 __ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE4initEv
00000000 gw      .text._ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE4finiERS2_ 0000 41 __ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE4finiERS2_
00000000 gw      .text._ZSt4moveIRN20hb_user_data_array_t19hb_user_data_item_tEEONSt16remove_referenceIT_E4typeEOS4_ 0000 41 __ZSt4moveIRN20hb_user_data_array_t19hb_user_data_item_tEEONSt16remove_referenceIT_E4typeEOS4_
00000000 gw      .text._ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE6removeIP18hb_user_data_key_tEEvT_RS2_ 0000 41 __ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE6removeIP18hb_user_data_key_tEEvT_RS2_
00000000 gw      .text._ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE17replace_or_insertIS1_EEPS1_T_RS2_b 0000 41 __ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE17replace_or_insertIS1_EEPS1_T_RS2_b
00000000 gw      .text._ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE4findIP18hb_user_data_key_tEEbT_PS1_RS2_ 0000 41 __ZN17hb_lockable_set_tIN20hb_user_data_array_t19hb_user_data_item_tE10hb_mutex_tE4findIP18hb_user_data_key_tEEbT_PS1_RS2_
00000000 gw      .text._ZN10hb_array_tI15hb_glyph_info_tE7reverseEjj 0000 41 __ZN10hb_array_tI15hb_glyph_info_tE7reverseEjj
00000000 gw      .text._ZN10hb_array_tI19hb_glyph_position_tE7reverseEjj 0000 41 __ZN10hb_array_tI19hb_glyph_position_tE7reverseEjj
00000000 gw      .text._ZN11hb_buffer_t14reverse_groupsIFbRK15hb_glyph_info_tS3_EEEvRKT_b 0000 41 __ZN11hb_buffer_t14reverse_groupsIFbRK15hb_glyph_info_tS3_EEEvRKT_b
00000000 gw      .text._ZN20hb_reference_count_tC1Ev 0000 41 __ZN20hb_reference_count_tC1Ev
00000000 gw      .text._ZN18hb_object_header_tC1Ev 0000 41 __ZN18hb_object_header_tC1Ev
00000000 gw      .text._ZN11hb_buffer_tC1Ev 0000 41 __ZN11hb_buffer_tC1Ev
00000000 gw      .text._ZN10NullHelperI11hb_buffer_tE8get_nullEv 0000 41 __ZN10NullHelperI11hb_buffer_tE8get_nullEv
00000000 gw      .text._ZNK11hb_buffer_t9group_endIFbRK15hb_glyph_info_tS3_EEEjjRKT_ 0000 41 __ZNK11hb_buffer_t9group_endIFbRK15hb_glyph_info_tS3_EEEjjRKT_
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4initEv 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4initEv
00000000         *UND*      0001 81 _free
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4finiEv 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4finiEv
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4tailEv 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4tailEv
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE3popEv 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE3popEv
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE7lsearchIP18hb_user_data_key_tEEPS1_RKT_S6_ 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE7lsearchIP18hb_user_data_key_tEEPS1_RKT_S6_
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE7lsearchIS1_EEPS1_RKT_S4_ 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE7lsearchIS1_EEPS1_RKT_S4_
00000000 gw      .text._ZSt7forwardIRN20hb_user_data_array_t19hb_user_data_item_tEEOT_RNSt16remove_referenceIS3_E4typeE 0000 41 __ZSt7forwardIRN20hb_user_data_array_t19hb_user_data_item_tEEOT_RNSt16remove_referenceIS3_E4typeE
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4pushIRS1_S1_LPv0EEEPS1_OT_ 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE4pushIRS1_S1_LPv0EEEPS1_OT_
00000000 gw      .text._ZNK11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8in_errorEv 0000 41 __ZNK11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8in_errorEv
00000000 gw      .text._ZNK15hb_atomic_ptr_tI20hb_user_data_array_tE11get_acquireEv 0000 41 __ZNK15hb_atomic_ptr_tI20hb_user_data_array_tE11get_acquireEv
00000000 gw      .text._ZNK15hb_atomic_ptr_tI20hb_user_data_array_tE7cmpexchEPKS0_PS0_ 0000 41 __ZNK15hb_atomic_ptr_tI20hb_user_data_array_tE7cmpexchEPKS0_PS0_
00000000 gw      .text._ZN13hb_utf16_xe_tItE6strlenEPKt 0000 41 __ZN13hb_utf16_xe_tItE6strlenEPKt
00000000 gw      .text._ZN13hb_utf16_xe_tItE4prevEPKtS2_Pjj 0000 41 __ZN13hb_utf16_xe_tItE4prevEPKtS2_Pjj
00000000 gw      .text._ZN13hb_utf16_xe_tItE4nextEPKtS2_Pjj 0000 41 __ZN13hb_utf16_xe_tItE4nextEPKtS2_Pjj
00000000 gw      .text._ZN13hb_utf32_xe_tIjLb1EE6strlenEPKj 0000 41 __ZN13hb_utf32_xe_tIjLb1EE6strlenEPKj
00000000 gw      .text._ZN13hb_utf32_xe_tIjLb1EE4prevEPKjS2_Pjj 0000 41 __ZN13hb_utf32_xe_tIjLb1EE4prevEPKjS2_Pjj
00000000 gw      .text._ZN13hb_utf32_xe_tIjLb1EE4nextEPKjS2_Pjj 0000 41 __ZN13hb_utf32_xe_tIjLb1EE4nextEPKjS2_Pjj
00000000 gw      .text._ZN13hb_utf32_xe_tIjLb0EE6strlenEPKj 0000 41 __ZN13hb_utf32_xe_tIjLb0EE6strlenEPKj
00000000 gw      .text._ZN13hb_utf32_xe_tIjLb0EE4prevEPKjS2_Pjj 0000 41 __ZN13hb_utf32_xe_tIjLb0EE4prevEPKjS2_Pjj
00000000 gw      .text._ZN13hb_utf32_xe_tIjLb0EE4nextEPKjS2_Pjj 0000 41 __ZN13hb_utf32_xe_tIjLb0EE4nextEPKjS2_Pjj
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE13shrink_vectorEj 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE13shrink_vectorEj
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EEixEi 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EEixEi
00000000 gw      .text._ZN10NullHelperIN20hb_user_data_array_t19hb_user_data_item_tEE8get_nullEv 0000 41 __ZN10NullHelperIN20hb_user_data_array_t19hb_user_data_item_tEE8get_nullEv
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8as_arrayEv 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8as_arrayEv
00000000 gw      .text._ZN10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE7lsearchIP18hb_user_data_key_tEEPS1_RKT_S6_ 0000 41 __ZN10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE7lsearchIP18hb_user_data_key_tEEPS1_RKT_S6_
00000000 gw      .text._ZN10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE7lsearchIS1_EEPS1_RKT_S4_ 0000 41 __ZN10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE7lsearchIS1_EEPS1_RKT_S4_
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb
00000000 gw      .text._ZN10CrapHelperIN20hb_user_data_array_t19hb_user_data_item_tEE8get_crapEv 0000 41 __ZN10CrapHelperIN20hb_user_data_array_t19hb_user_data_item_tEE8get_crapEv
00000000 gw      .text._ZSt9addressofIN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS2_ 0000 41 __ZSt9addressofIN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS2_
00000000 gw      .text._ZSt4moveIR15hb_glyph_info_tEONSt16remove_referenceIT_E4typeEOS3_ 0000 41 __ZSt4moveIR15hb_glyph_info_tEONSt16remove_referenceIT_E4typeEOS3_
00000000 gw      .text._ZSt4swapI15hb_glyph_info_tENSt9enable_ifIXsrSt6__and_IJSt21is_move_constructibleIT_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SB_ 0000 41 __ZSt4swapI15hb_glyph_info_tENSt9enable_ifIXsrSt6__and_IJSt21is_move_constructibleIT_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SB_
00000000 gw      .text._ZSt4moveIR19hb_glyph_position_tEONSt16remove_referenceIT_E4typeEOS3_ 0000 41 __ZSt4moveIR19hb_glyph_position_tEONSt16remove_referenceIT_E4typeEOS3_
00000000 gw      .text._ZSt4swapI19hb_glyph_position_tENSt9enable_ifIXsrSt6__and_IJSt21is_move_constructibleIT_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SB_ 0000 41 __ZSt4swapI19hb_glyph_position_tENSt9enable_ifIXsrSt6__and_IJSt21is_move_constructibleIT_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SB_
00000000 gw      .text._ZN15hb_atomic_ptr_tI20hb_user_data_array_tE11set_relaxedEPS0_ 0000 41 __ZN15hb_atomic_ptr_tI20hb_user_data_array_tE11set_relaxedEPS0_
00000000 gw      .text._ZN15hb_atomic_ptr_tI20hb_user_data_array_tE4initEPS0_ 0000 41 __ZN15hb_atomic_ptr_tI20hb_user_data_array_tE4initEPS0_
00000000         *UND*      0001 81 __hb_NullPool
00000000 gw      .text._ZN4NullIN20hb_user_data_array_t19hb_user_data_item_tEE8get_nullEv 0000 41 __ZN4NullIN20hb_user_data_array_t19hb_user_data_item_tEE8get_nullEv
00000000 gw      .text._ZN9hb_iter_tI10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEERS2_EC2Ev 0000 41 __ZN9hb_iter_tI10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEERS2_EC2Ev
00000000 gw      .text._ZN24hb_iter_fallback_mixin_tI10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEERS2_EC2Ev 0000 41 __ZN24hb_iter_fallback_mixin_tI10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEERS2_EC2Ev
00000000 gw      .text._ZN23hb_iter_with_fallback_tI10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEERS2_EC2Ev 0000 41 __ZN23hb_iter_with_fallback_tI10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEERS2_EC2Ev
00000000 gw      .text._ZN10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEEC1EPS1_j 0000 41 __ZN10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEEC1EPS1_j
00000000 gw      .text._Z8hb_arrayIN20hb_user_data_array_t19hb_user_data_item_tEE10hb_array_tIT_EPS3_j 0000 41 __Z8hb_arrayIN20hb_user_data_array_t19hb_user_data_item_tEE10hb_array_tIT_EPS3_j
00000000 gw      .text._ZSt7forwardIRKP18hb_user_data_key_tEOT_RNSt16remove_referenceIS4_E4typeE 0000 41 __ZSt7forwardIRKP18hb_user_data_key_tEOT_RNSt16remove_referenceIS4_E4typeE
00000000 gw      .text._ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIP18hb_user_data_key_tEEbRKT_Pj14hb_not_found_tj 0000 41 __ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIP18hb_user_data_key_tEEbRKT_Pj14hb_not_found_tj
00000000 gw      .text._ZSt7forwardIRKN20hb_user_data_array_t19hb_user_data_item_tEEOT_RNSt16remove_referenceIS4_E4typeE 0000 41 __ZSt7forwardIRKN20hb_user_data_array_t19hb_user_data_item_tEEOT_RNSt16remove_referenceIS4_E4typeE
00000000 gw      .text._ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIS1_EEbRKT_Pj14hb_not_found_tj 0000 41 __ZNK10hb_array_tIN20hb_user_data_array_t19hb_user_data_item_tEE5lfindIS1_EEbRKT_Pj14hb_not_found_tj
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE9set_errorEv 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE9set_errorEv
00000000         *UND*      0001 81 _free
00000000         *UND*      0001 81 _realloc
00000000 gw      .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE14realloc_vectorIS1_LPv0EEEPS1_j11hb_priorityILj0EE 0000 41 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE14realloc_vectorIS1_LPv0EEEPS1_j11hb_priorityILj0EE
00000000 gw      .text._ZSt11__addressofIN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS2_ 0000 41 __ZSt11__addressofIN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS2_
00000000 gw      .text._ZSt9addressofIKN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS3_ 0000 41 __ZSt9addressofIKN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS3_
00000000 gw      .text._ZSt11__addressofIKN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS3_ 0000 41 __ZSt11__addressofIKN20hb_user_data_array_t19hb_user_data_item_tEEPT_RS3_
00000000 l       .data.__EH_FRAME_OBJECT__ 0000 21 __EH_FRAME_OBJECT__

Sections that are reported as duplicate, e.g. .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb (see my original post) are only there once AFAICS?!

bebbo commented 3 months ago

Now use m68k-amigaos-objdump -d hb.buffer.o | less and search for the mentioned function: _ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb.

Paste the content up to the rts here. Then do the same for a different object file where the linker also complains.

afalkenhahn commented 3 months ago

Ok, here we go, this is the function from hb-buffer.o:

Disassembly of section .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb:

00000000 00000000 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb:
   0:   4e55 fff4       link.w a5,#-12
   4:   2f02            move.l d2,-(sp)
   6:   202d 0010       move.l 16(a5),d0
   a:   1b40 fff4       move.b d0,-12(a5)
   e:   2f2d 0008       move.l 8(a5),-(sp)
  12:   4eb9 0000 0000  jsr 0 0 __ZNK11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8in_errorEv
  18:   588f            addq.l #4,sp
  1a:   4a00            tst.b d0
  1c:   6706            beq.s 24 24 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x24
  1e:   4200            clr.b d0
  20:   6000 014e       bra.w 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
  24:   4a2d fff4       tst.b -12(a5)
  28:   6754            beq.s 7e 7e __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x7e
  2a:   202d 0008       move.l 8(a5),d0
  2e:   5880            addq.l #4,d0
  30:   2f00            move.l d0,-(sp)
  32:   41ed 000c       lea 12(a5),a0
  36:   2f08            move.l a0,-(sp)
  38:   4879 0000 000f  pea f f __ZL6hb_max
  3e:   4eb9 0000 2d3e  jsr 2d3e 2d3e __ZNK4._96clIRjS1_EEDTqugefp_fp0_fp_fp0_EOT_OT0_
  44:   4fef 000c       lea 12(sp),sp
  48:   2040            movea.l d0,a0
  4a:   2010            move.l (a0),d0
  4c:   2b40 000c       move.l d0,12(a5)
  50:   206d 0008       movea.l 8(a5),a0
  54:   2010            move.l (a0),d0
  56:   2200            move.l d0,d1
  58:   202d 000c       move.l 12(a5),d0
  5c:   b081            cmp.l d1,d0
  5e:   6216            bhi.s 76 76 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x76
  60:   206d 0008       movea.l 8(a5),a0
  64:   2010            move.l (a0),d0
  66:   e488            lsr.l #2,d0
  68:   222d 000c       move.l 12(a5),d1
  6c:   b280            cmp.l d0,d1
  6e:   6506            bcs.s 76 76 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x76
  70:   7001            moveq #1,d0
  72:   6000 00fc       bra.w 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
  76:   2b6d 000c fffc  move.l 12(a5),-4(a5)
  7c:   603e            bra.s bc bc __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xbc
  7e:   206d 0008       movea.l 8(a5),a0
  82:   2010            move.l (a0),d0
  84:   2200            move.l d0,d1
  86:   202d 000c       move.l 12(a5),d0
  8a:   b081            cmp.l d1,d0
  8c:   6206            bhi.s 94 94 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x94
  8e:   7001            moveq #1,d0
  90:   6000 00de       bra.w 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
  94:   206d 0008       movea.l 8(a5),a0
  98:   2010            move.l (a0),d0
  9a:   2b40 fffc       move.l d0,-4(a5)
  9e:   202d 000c       move.l 12(a5),d0
  a2:   b0ad fffc       cmp.l -4(a5),d0
  a6:   6314            bls.s bc bc __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xbc
  a8:   202d fffc       move.l -4(a5),d0
  ac:   e288            lsr.l #1,d0
  ae:   d0ad fffc       add.l -4(a5),d0
  b2:   2200            move.l d0,d1
  b4:   5081            addq.l #8,d1
  b6:   2b41 fffc       move.l d1,-4(a5)
  ba:   60e2            bra.s 9e 9e __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x9e
  bc:   2f2d 0008       move.l 8(a5),-(sp)
  c0:   4eb9 0000 0000  jsr 0 0 __ZNK11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8in_errorEv
  c6:   588f            addq.l #4,sp
  c8:   4a00            tst.b d0
  ca:   6622            bne.s ee ee __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xee
  cc:   202d 000c       move.l 12(a5),d0
  d0:   b0ad fffc       cmp.l -4(a5),d0
  d4:   6218            bhi.s ee ee __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xee
  d6:   42a7            clr.l -(sp)
  d8:   4878 000c       pea c c __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xc
  dc:   2f2d fffc       move.l -4(a5),-(sp)
  e0:   4eb9 0000 0066  jsr 66 66 __ZL25hb_unsigned_mul_overflowsjjPj
  e6:   4fef 000c       lea 12(sp),sp
  ea:   4a00            tst.b d0
  ec:   6704            beq.s f2 f2 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xf2
  ee:   7001            moveq #1,d0
  f0:   6002            bra.s f4 f4 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xf4
  f2:   4200            clr.b d0
  f4:   1b40 fff6       move.b d0,-10(a5)
  f8:   102d fff6       move.b -10(a5),d0
  fc:   4a00            tst.b d0
  fe:   6710            beq.s 110 110 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x110
 100:   2f2d 0008       move.l 8(a5),-(sp)
 104:   4eb9 0000 0000  jsr 0 0 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE9set_errorEv
 10a:   588f            addq.l #4,sp
 10c:   4200            clr.b d0
 10e:   6060            bra.s 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
 110:   558f            subq.l #2,sp
 112:   1f42 0001       move.b d2,1(sp)
 116:   558f            subq.l #2,sp
 118:   2f2d fffc       move.l -4(a5),-(sp)
 11c:   2f2d 0008       move.l 8(a5),-(sp)
 120:   4eb9 0000 0000  jsr 0 0 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE14realloc_vectorIS1_LPv0EEEPS1_j11hb_priorityILj0EE
 126:   4fef 000c       lea 12(sp),sp
 12a:   2b40 fff8       move.l d0,-8(a5)
 12e:   4aad fffc       tst.l -4(a5)
 132:   6726            beq.s 15a 15a __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x15a
 134:   4aad fff8       tst.l -8(a5)
 138:   6620            bne.s 15a 15a __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x15a
 13a:   206d 0008       movea.l 8(a5),a0
 13e:   2010            move.l (a0),d0
 140:   b0ad fffc       cmp.l -4(a5),d0
 144:   6504            bcs.s 14a 14a __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x14a
 146:   7001            moveq #1,d0
 148:   6026            bra.s 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
 14a:   2f2d 0008       move.l 8(a5),-(sp)
 14e:   4eb9 0000 0000  jsr 0 0 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE9set_errorEv
 154:   588f            addq.l #4,sp
 156:   4200            clr.b d0
 158:   6016            bra.s 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
 15a:   206d 0008       movea.l 8(a5),a0
 15e:   216d fff8 0008  move.l -8(a5),8(a0)
 164:   202d fffc       move.l -4(a5),d0
 168:   206d 0008       movea.l 8(a5),a0
 16c:   2080            move.l d0,(a0)
 16e:   7001            moveq #1,d0
 170:   242d fff0       move.l -16(a5),d2
 174:   4e5d            unlk a5
 176:   4e75            rts

And there is the function from hb-font.o:

Disassembly of section .text._ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb:

00000000 00000000 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb:
   0:   4e55 fff4       link.w a5,#-12
   4:   2f02            move.l d2,-(sp)
   6:   202d 0010       move.l 16(a5),d0
   a:   1b40 fff4       move.b d0,-12(a5)
   e:   2f2d 0008       move.l 8(a5),-(sp)
  12:   4eb9 0000 0000  jsr 0 0 __ZNK11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8in_errorEv
  18:   588f            addq.l #4,sp
  1a:   4a00            tst.b d0
  1c:   6706            beq.s 24 24 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x24
  1e:   4200            clr.b d0
  20:   6000 014e       bra.w 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
  24:   4a2d fff4       tst.b -12(a5)
  28:   6754            beq.s 7e 7e __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x7e
  2a:   202d 0008       move.l 8(a5),d0
  2e:   5880            addq.l #4,d0
  30:   2f00            move.l d0,-(sp)
  32:   41ed 000c       lea 12(a5),a0
  36:   2f08            move.l a0,-(sp)
  38:   4879 0000 000f  pea f f __ZL6hb_max
  3e:   4eb9 0000 5242  jsr 5242 5242 __ZNK4._96clIRjS1_EEDTqugefp_fp0_fp_fp0_EOT_OT0_
  44:   4fef 000c       lea 12(sp),sp
  48:   2040            movea.l d0,a0
  4a:   2010            move.l (a0),d0
  4c:   2b40 000c       move.l d0,12(a5)
  50:   206d 0008       movea.l 8(a5),a0
  54:   2010            move.l (a0),d0
  56:   2200            move.l d0,d1
  58:   202d 000c       move.l 12(a5),d0
  5c:   b081            cmp.l d1,d0
  5e:   6216            bhi.s 76 76 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x76
  60:   206d 0008       movea.l 8(a5),a0
  64:   2010            move.l (a0),d0
  66:   e488            lsr.l #2,d0
  68:   222d 000c       move.l 12(a5),d1
  6c:   b280            cmp.l d0,d1
  6e:   6506            bcs.s 76 76 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x76
  70:   7001            moveq #1,d0
  72:   6000 00fc       bra.w 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
  76:   2b6d 000c fffc  move.l 12(a5),-4(a5)
  7c:   603e            bra.s bc bc __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xbc
  7e:   206d 0008       movea.l 8(a5),a0
  82:   2010            move.l (a0),d0
  84:   2200            move.l d0,d1
  86:   202d 000c       move.l 12(a5),d0
  8a:   b081            cmp.l d1,d0
  8c:   6206            bhi.s 94 94 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x94
  8e:   7001            moveq #1,d0
  90:   6000 00de       bra.w 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
  94:   206d 0008       movea.l 8(a5),a0
  98:   2010            move.l (a0),d0
  9a:   2b40 fffc       move.l d0,-4(a5)
  9e:   202d 000c       move.l 12(a5),d0
  a2:   b0ad fffc       cmp.l -4(a5),d0
  a6:   6314            bls.s bc bc __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xbc
  a8:   202d fffc       move.l -4(a5),d0
  ac:   e288            lsr.l #1,d0
  ae:   d0ad fffc       add.l -4(a5),d0
  b2:   2200            move.l d0,d1
  b4:   5081            addq.l #8,d1
  b6:   2b41 fffc       move.l d1,-4(a5)
  ba:   60e2            bra.s 9e 9e __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x9e
  bc:   2f2d 0008       move.l 8(a5),-(sp)
  c0:   4eb9 0000 0000  jsr 0 0 __ZNK11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE8in_errorEv
  c6:   588f            addq.l #4,sp
  c8:   4a00            tst.b d0
  ca:   6622            bne.s ee ee __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xee
  cc:   202d 000c       move.l 12(a5),d0
  d0:   b0ad fffc       cmp.l -4(a5),d0
  d4:   6218            bhi.s ee ee __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xee
  d6:   42a7            clr.l -(sp)
  d8:   4878 000c       pea c c __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xc
  dc:   2f2d fffc       move.l -4(a5),-(sp)
  e0:   4eb9 0000 008a  jsr 8a 8a __ZL25hb_unsigned_mul_overflowsjjPj
  e6:   4fef 000c       lea 12(sp),sp
  ea:   4a00            tst.b d0
  ec:   6704            beq.s f2 f2 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xf2
  ee:   7001            moveq #1,d0
  f0:   6002            bra.s f4 f4 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0xf4
  f2:   4200            clr.b d0
  f4:   1b40 fff6       move.b d0,-10(a5)
  f8:   102d fff6       move.b -10(a5),d0
  fc:   4a00            tst.b d0
  fe:   6710            beq.s 110 110 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x110
 100:   2f2d 0008       move.l 8(a5),-(sp)
 104:   4eb9 0000 0000  jsr 0 0 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE9set_errorEv
 10a:   588f            addq.l #4,sp
 10c:   4200            clr.b d0
 10e:   6060            bra.s 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
 110:   558f            subq.l #2,sp
 112:   1f42 0001       move.b d2,1(sp)
 116:   558f            subq.l #2,sp
 118:   2f2d fffc       move.l -4(a5),-(sp)
 11c:   2f2d 0008       move.l 8(a5),-(sp)
 120:   4eb9 0000 0000  jsr 0 0 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE14realloc_vectorIS1_LPv0EEEPS1_j11hb_priorityILj0EE
 126:   4fef 000c       lea 12(sp),sp
 12a:   2b40 fff8       move.l d0,-8(a5)
 12e:   4aad fffc       tst.l -4(a5)
 132:   6726            beq.s 15a 15a __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x15a
 134:   4aad fff8       tst.l -8(a5)
 138:   6620            bne.s 15a 15a __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x15a
 13a:   206d 0008       movea.l 8(a5),a0
 13e:   2010            move.l (a0),d0
 140:   b0ad fffc       cmp.l -4(a5),d0
 144:   6504            bcs.s 14a 14a __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x14a
 146:   7001            moveq #1,d0
 148:   6026            bra.s 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
 14a:   2f2d 0008       move.l 8(a5),-(sp)
 14e:   4eb9 0000 0000  jsr 0 0 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE9set_errorEv
 154:   588f            addq.l #4,sp
 156:   4200            clr.b d0
 158:   6016            bra.s 170 170 __ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE5allocEjb+0x170
 15a:   206d 0008       movea.l 8(a5),a0
 15e:   216d fff8 0008  move.l -8(a5),8(a0)
 164:   202d fffc       move.l -4(a5),d0
 168:   206d 0008       movea.l 8(a5),a0
 16c:   2080            move.l d0,(a0)
 16e:   7001            moveq #1,d0
 170:   242d fff0       move.l -16(a5),d2
 174:   4e5d            unlk a5
 176:   4e75            rts
bebbo commented 3 months ago
  3e:   4eb9 0000 2d3e  jsr 2d3e 2d3e __ZNK4._96clIRjS1_EEDTqugefp_fp0_fp_fp0_EOT_OT0_

vs

  3e:   4eb9 0000 5242  jsr 5242 5242 __ZNK4._96clIRjS1_EEDTqugefp_fp0_fp_fp0_EOT_OT0_
afalkenhahn commented 3 months ago

Yes, I saw that. But what can I do about this? I don't think this is a problem in the code. The same code compiles and links fine on many different platforms including your amiga-gcc from 2017 which I was using previously. So I think this is a compiler problem and not a problem in the code!?

bebbo commented 3 months ago

Then you can ignore that message. It still creates the desired output

bebbo commented 3 months ago

And I'd expect

4eb9 0000 0000

instead of

4eb9 0000 5242

For all jsr calls. Then the sections would be identical too...

afalkenhahn commented 3 months ago

Then you can ignore that message. It still creates the desired output

True, didn't even notice that it still created a binary. But it's literally hundreds of those messages (563kb when redirected to a file) so it's spamming the whole command line. Don't you think that this should be fixed in gcc?

For all jsr calls. Then the sections would be identical too...

Yeah, but isn't that something that has to be fixed in the compiler? ;)

bebbo commented 3 months ago

Then you can ignore that message. It still creates the desired output

True, didn't even notice that it still created a binary. But it's literally hundreds of those messages (563kb when redirected to a file) so it's spamming the whole command line. Don't you think that this should be fixed in gcc?

For all jsr calls. Then the sections would be identical too...

Yeah, but isn't that something that has to be fixed in the compiler? ;)

if, then in the gnu assembler... ... I'll might look into it, when I have time, but it is not that important ^^

bebbo commented 3 months ago

maybe you could attach the assembler files (created with -S)? harfbuzz complains about missing mutex stuff...

bebbo commented 3 months ago

nm, -DHB_NO_MT did the trick

bebbo commented 3 months ago

Did you compile libharfbuzz with the recent version?

afalkenhahn commented 3 months ago

A pretty recent version, 8.0.1. I'm using HB_NO_MT as well so this can't be the cause. I'll prepare an archive with all my build files so you can take a look.

afalkenhahn commented 3 months ago

You've got mail.