| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
@pablogsal, you probably know the compilation magic here. Can we change the name? |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
Yes, as long as we don't change the name of the section where it ends. If the tests pass (and are executed) we are good 👍 |
Sorry, something went wrong.
I had never heard of that requirement, OOI how would symbols exported from vendored libs such as mimalloc be handled? |
Sorry, something went wrong.
They are not exported in the dynamic table. What @encukou is talking about is the symbols we export in the dynamic table of either the executable of the libpython.so. These are the symbols you can link against. The 3rd party ones or the mimalloc ones don't end there unless I have missed something |
Sorry, something went wrong.
I ran make smelly on free-threaded build and I think the output suggests that mimalloc symbols are exported. Check that libpython3.15td.a only exports symbols starting with Py or _Py
+ nm --no-sort libpython3.15td.a
Ignore 42312 local symbols
Smelly symbol: _PY_TIMEOUT_MAX (type: S)
Smelly symbol: __AsyncioDebug (type: S)
Smelly symbol: __mi_abandoned_await_readers (type: T)
Smelly symbol: __mi_abandoned_collect (type: T)
Smelly symbol: __mi_abandoned_default (type: C)
Smelly symbol: __mi_abandoned_pool_visit_blocks (type: T)
Smelly symbol: __mi_abandoned_reclaim_all (type: T)
Smelly symbol: __mi_arena_alloc (type: T)
Smelly symbol: __mi_arena_alloc_aligned (type: T)
Smelly symbol: __mi_arena_collect (type: T)
Smelly symbol: __mi_arena_contains (type: T)
Smelly symbol: __mi_arena_free (type: T)
Smelly symbol: __mi_arena_id_none (type: T)
Smelly symbol: __mi_arena_memid_is_os_allocated (type: T)
Smelly symbol: __mi_arena_memid_is_suitable (type: T)
Smelly symbol: __mi_arena_unsafe_destroy_all (type: T)
Smelly symbol: __mi_assert_fail (type: T)
Smelly symbol: __mi_bin (type: T)
Smelly symbol: __mi_bin_size (type: T)
Smelly symbol: __mi_bitmap_claim (type: T)
Smelly symbol: __mi_bitmap_claim_across (type: T)
Smelly symbol: __mi_bitmap_is_any_claimed (type: T)
Smelly symbol: __mi_bitmap_is_any_claimed_across (type: T)
Smelly symbol: __mi_bitmap_is_claimed (type: T)
Smelly symbol: __mi_bitmap_is_claimed_across (type: T)
Smelly symbol: __mi_bitmap_try_claim (type: T)
Smelly symbol: __mi_bitmap_try_find_claim_field (type: T)
Smelly symbol: __mi_bitmap_try_find_from_claim (type: T)
Smelly symbol: __mi_bitmap_try_find_from_claim_across (type: T)
Smelly symbol: __mi_bitmap_try_find_from_claim_pred (type: T)
Smelly symbol: __mi_bitmap_unclaim (type: T)
Smelly symbol: __mi_bitmap_unclaim_across (type: T)
Smelly symbol: __mi_clock_end (type: T)
Smelly symbol: __mi_clock_now (type: T)
Smelly symbol: __mi_clock_start (type: T)
Smelly symbol: __mi_commit_mask_committed_size (type: T)
Smelly symbol: __mi_commit_mask_next_run (type: T)
Smelly symbol: __mi_current_thread_count (type: T)
Smelly symbol: __mi_deferred_free (type: T)
Smelly symbol: __mi_error_message (type: T)
Smelly symbol: __mi_fprintf (type: T)
Smelly symbol: __mi_fputs (type: T)
Smelly symbol: __mi_free_delayed_block (type: T)
Smelly symbol: __mi_free_generic (type: T)
Smelly symbol: __mi_heap_area_init (type: T)
Smelly symbol: __mi_heap_area_visit_blocks (type: T)
Smelly symbol: __mi_heap_collect_abandon (type: T)
Smelly symbol: __mi_heap_collect_retired (type: T)
Smelly symbol: __mi_heap_default (type: S)
Smelly symbol: __mi_heap_delayed_free_all (type: T)
Smelly symbol: __mi_heap_delayed_free_partial (type: T)
Smelly symbol: __mi_heap_destroy_pages (type: T)
Smelly symbol: __mi_heap_empty (type: S)
Smelly symbol: __mi_heap_init_ex (type: T)
Smelly symbol: __mi_heap_main_get (type: T)
Smelly symbol: __mi_heap_malloc_zero (type: T)
Smelly symbol: __mi_heap_malloc_zero_ex (type: T)
Smelly symbol: __mi_heap_memid_is_suitable (type: T)
Smelly symbol: __mi_heap_random_next (type: T)
Smelly symbol: __mi_heap_realloc_zero (type: T)
Smelly symbol: __mi_heap_set_default_direct (type: T)
Smelly symbol: __mi_heap_unsafe_destroy_all (type: T)
Smelly symbol: __mi_is_main_thread (type: T)
Smelly symbol: __mi_malloc_generic (type: T)
Smelly symbol: __mi_numa_node_count (type: C)
Smelly symbol: __mi_options_init (type: T)
Smelly symbol: __mi_os_alloc (type: T)
Smelly symbol: __mi_os_alloc_aligned (type: T)
Smelly symbol: __mi_os_alloc_aligned_at_offset (type: T)
Smelly symbol: __mi_os_alloc_huge_os_pages (type: T)
Smelly symbol: __mi_os_commit (type: T)
Smelly symbol: __mi_os_decommit (type: T)
Smelly symbol: __mi_os_free (type: T)
Smelly symbol: __mi_os_free_ex (type: T)
Smelly symbol: __mi_os_get_aligned_hint (type: T)
Smelly symbol: __mi_os_good_alloc_size (type: T)
Smelly symbol: __mi_os_has_overcommit (type: T)
Smelly symbol: __mi_os_has_virtual_reserve (type: T)
Smelly symbol: __mi_os_init (type: T)
Smelly symbol: __mi_os_large_page_size (type: T)
Smelly symbol: __mi_os_numa_node_count_get (type: T)
Smelly symbol: __mi_os_numa_node_get (type: T)
Smelly symbol: __mi_os_page_size (type: T)
Smelly symbol: __mi_os_protect (type: T)
Smelly symbol: __mi_os_purge (type: T)
Smelly symbol: __mi_os_purge_ex (type: T)
Smelly symbol: __mi_os_random_weak (type: T)
Smelly symbol: __mi_os_reset (type: T)
Smelly symbol: __mi_os_unprotect (type: T)
Smelly symbol: __mi_os_use_large_page (type: T)
Smelly symbol: __mi_padding_shrink (type: T)
Smelly symbol: __mi_page_abandon (type: T)
Smelly symbol: __mi_page_empty (type: C)
Smelly symbol: __mi_page_free (type: T)
Smelly symbol: __mi_page_free_collect (type: T)
Smelly symbol: __mi_page_malloc (type: T)
Smelly symbol: __mi_page_ptr_unalign (type: T)
Smelly symbol: __mi_page_queue_append (type: T)
Smelly symbol: __mi_page_reclaim (type: T)
Smelly symbol: __mi_page_retire (type: T)
Smelly symbol: __mi_page_try_use_delayed_free (type: T)
Smelly symbol: __mi_page_unfull (type: T)
Smelly symbol: __mi_page_use_delayed_free (type: T)
Smelly symbol: __mi_preloading (type: T)
Smelly symbol: __mi_prim_alloc (type: T)
Smelly symbol: __mi_prim_alloc_huge_os_pages (type: T)
Smelly symbol: __mi_prim_clock_now (type: T)
Smelly symbol: __mi_prim_commit (type: T)
Smelly symbol: __mi_prim_decommit (type: T)
Smelly symbol: __mi_prim_free (type: T)
Smelly symbol: __mi_prim_getenv (type: T)
Smelly symbol: __mi_prim_mem_init (type: T)
Smelly symbol: __mi_prim_numa_node (type: T)
Smelly symbol: __mi_prim_numa_node_count (type: T)
Smelly symbol: __mi_prim_out_stderr (type: T)
Smelly symbol: __mi_prim_process_info (type: T)
Smelly symbol: __mi_prim_protect (type: T)
Smelly symbol: __mi_prim_random_buf (type: T)
Smelly symbol: __mi_prim_reset (type: T)
Smelly symbol: __mi_prim_thread_associate_default_heap (type: T)
Smelly symbol: __mi_prim_thread_done_auto_done (type: T)
Smelly symbol: __mi_prim_thread_init_auto_done (type: T)
Smelly symbol: __mi_process_is_initialized (type: S)
Smelly symbol: __mi_random_init (type: T)
Smelly symbol: __mi_random_init_weak (type: T)
Smelly symbol: __mi_random_next (type: T)
Smelly symbol: __mi_random_reinit_if_weak (type: T)
Smelly symbol: __mi_random_split (type: T)
Smelly symbol: __mi_segment_huge_page_reset (type: T)
Smelly symbol: __mi_segment_map_allocated_at (type: T)
Smelly symbol: __mi_segment_map_freed_at (type: T)
Smelly symbol: __mi_segment_page_abandon (type: T)
Smelly symbol: __mi_segment_page_alloc (type: T)
Smelly symbol: __mi_segment_page_free (type: T)
Smelly symbol: __mi_segment_page_start (type: T)
Smelly symbol: __mi_segment_thread_collect (type: T)
Smelly symbol: __mi_stat_counter_increase (type: T)
Smelly symbol: __mi_stat_decrease (type: T)
Smelly symbol: __mi_stat_increase (type: T)
Smelly symbol: __mi_stats_done (type: T)
Smelly symbol: __mi_stats_main (type: S)
Smelly symbol: __mi_strlcat (type: T)
Smelly symbol: __mi_strlcpy (type: T)
Smelly symbol: __mi_strlen (type: T)
Smelly symbol: __mi_strnicmp (type: T)
Smelly symbol: __mi_strnlen (type: T)
Smelly symbol: __mi_thread_data_collect (type: T)
Smelly symbol: __mi_thread_done (type: T)
Smelly symbol: __mi_thread_id (type: T)
Smelly symbol: __mi_tld_init (type: T)
Smelly symbol: __mi_toupper (type: T)
Smelly symbol: __mi_trace_message (type: T)
Smelly symbol: __mi_verbose_message (type: T)
Smelly symbol: __mi_warning_message (type: T)
|
Sorry, something went wrong.
|
Mimalloc is an exception in make smelly; I guess that's something to look at before switching to mimalloc by default? |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
This is an exported symbol; it should have our prefix.