[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lua 5.2 compat



I'm now CCing debian-devel@.  Please excuse the top posting where I
explain the status quo and seek for advice.

Bug#781728 is about enabling Lua 5.2 compatible mode in LuaJIT, which
has been supported for at least 13 years (see the last commit touching
the macro definition at [1]).  The main client using this is Aegisub
which since 3.4.2 requires LuaJIT to enable 5.2 compatible mode.
Currently Aegisub embeds its own LuaJIT so as to enable this, but as the
embedded official LuaJIT doesn't support some of the release archs
e.g. ppc64el, riscv64, and s390x.  The LuaJIT in Debian supports riscv64
and s390x and can support ppc64el in newer versions.  I have filed
Bug#1116248 to Aegisub for tracking.  It would be great if the LuaJIT in
Debian can just enable this so that Aegisub does not need to embed it.
(Also CCing the Aegisub maintainer just in case.)

There may be concerns on binary compatibility on enabling Lua 5.2
compatibility mode.  I'm not an expert on library API/ABI compatibility,
though I have done some rudimentary analysis based on library symbols,
e.g. output of `nm -D' of libluajit-5.1.so.2.1.1737090214 from
libluajit-5.1-2 package, and besides symbol addresses there is no diff
(please see the nm-luajit-unpatched.txt, nm-luajit-patched.txt for the
symbols before and after applying the patch, and
nm-luajit-unpatched-vs-patched.diff for the diff).  I think this should
suggest that it is a safe change, and even if it is not, a transition
should be sufficient to resolve any incompatibility.

The reason for including debian-devel@ in the discussion is that there
has been no reply from the Lua maintainers or package uploaders since.
I'd like to first state that this email has no ill-intention, as people
may be busy due to life, work, etc. so it's totally understandable.  I
would just like to try to move things forward.  Of course, if the Lua
maintainers or uploaders would like to provide any guidance it would
still be welcome.  But in case there is none, I wonder what would be the
best way to proceed?  As currently I don't claim that I have the
required specialty to be an uploader, would a NMU be acceptable (and
commit to Salsa so that this doesn't get lost)?  As a DM, I would still
need a sponsor if this is the way forward.

Thanks in advance!  And any advice (or suggestion to better handle this
situation) would be appreciated.

(Please also see below for previous communications on this bug.)

Xiyue Deng <manphiz@gmail.com> writes:

> Xiyue Deng <manphiz@gmail.com> writes:
>
>> (CCing the package uploaders.)
>>
>> Xiyue Deng <manphiz@gmail.com> writes:
>>
>>> Xiyue Deng <manphiz@gmail.com> writes:
>>>
>>>> On Fri, 27 Dec 2024 13:08:17 +0100 =?UTF-8?Q?Aniol_Mart=C3=AD?= 
>>>> <aniol.marti@riseup.net> wrote:
>>>>> Dear Maintainer,
>>>>> 
>>>>> i am the maintainer of Aegisub. Version 3.4.0 was recently released but 
>>>>> it requires LuaJIT with Lua 5.2 compat. Are there any plans about 
>>>>> supporting it?
>>>>> 
>>>>> We are currently discussing it in 
>>>>> https://github.com/TypesettingTools/Aegisub/issues/239. One option that 
>>>>> I'm considering is bundling LuaJIT with Aegisub, but the Debian Policy 
>>>>> encourages not doing that. Do you know if there are any other packages 
>>>>> in a similar situation?
>>>>> 
>>>>> Aniol
>>>>> 
>>>>> 
>>>>> 
>>>>
>>>> As David mentioned in [1], this should be as simple as adding 
>>>> "-DLUAJIT_ENABLE_LUA52COMPAT" to CFLAGS and it should be ABI/API 
>>>> compatible.  Please consider adding this support so that Aegisub and 
>>>> other packages can use it directly.
>>>>
>>>> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=781728#16
>>>>
>>>> -- 
>>>> Xiyue Deng
>>>
>>> I have tested adding the flags and the result is promising: aegisub can
>>> now directly build against libluajit-5.1-dev built with the flags and
>>> works well.
>>>
>>> I have created a MR on Salsa[1] and hope it can be reviewed and merged.
>>>
>>> [1] https://salsa.debian.org/lua-team/luajit/-/merge_requests/3
>>>
>>
>> Friendly ping.  This is a blocking issue for Aegisub and currently
>> preventing it from migrating to Forky.
>>
>> Though my previous claim may be wrong that enabling this flag may
>> probably require a transition.  I would like to help analyze the
>> situation and move this bug forward.  TIA!
>>
>
> Friendly ping.  It's concerning that we still haven't heard back from
> the Lua team, though it's understandable that the Lua team may be busy
> with daily life/work.  I intend to bring this topic to debian-devel@ for
> comments next, not for pushing, but to seek for suggestions on resolving
> this issue.
>
>>> -- 
>>> Regards,
>>> Xiyue Deng
>>
>> -- 
>> Regards,
>> Xiyue Deng

[1] https://github.com/LuaJIT/LuaJIT/commit/23932a6c8b7ef434bc963139b4160b1058fa6f7f

-- 
Regards,
Xiyue Deng
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 U _Unwind_DeleteException@GCC_3.0
                 U _Unwind_GetCFA@GCC_3.3
                 U _Unwind_GetIP@GCC_3.0
                 U _Unwind_RaiseException@GCC_3.0
                 U _Unwind_SetGR@GCC_3.0
                 U _Unwind_SetIP@GCC_3.0
                 w __cxa_finalize@GLIBC_2.2.5
                 U __deregister_frame@GCC_3.0
                 U __errno_location@GLIBC_2.2.5
                 w __gmon_start__
                 U __isoc23_fscanf@GLIBC_2.38
                 U __isoc23_strtoul@GLIBC_2.38
                 U __register_frame@GCC_3.0
                 U __tls_get_addr@GLIBC_2.3
                 U acos@GLIBC_2.2.5
                 U asin@GLIBC_2.2.5
                 U atan@GLIBC_2.2.5
                 U atan2@GLIBC_2.2.5
                 U clearerr@GLIBC_2.2.5
                 U clock@GLIBC_2.2.5
                 U close@GLIBC_2.2.5
                 U cos@GLIBC_2.2.5
                 U cosh@GLIBC_2.2.5
                 U difftime@GLIBC_2.2.5
                 U dlclose@GLIBC_2.34
                 U dlerror@GLIBC_2.34
                 U dlopen@GLIBC_2.34
                 U dlsym@GLIBC_2.34
                 U exit@GLIBC_2.2.5
                 U exp@GLIBC_2.29
                 U fclose@GLIBC_2.2.5
                 U feof@GLIBC_2.2.5
                 U ferror@GLIBC_2.2.5
                 U fflush@GLIBC_2.2.5
                 U fgets@GLIBC_2.2.5
                 U fmod@GLIBC_2.38
                 U fopen64@GLIBC_2.2.5
                 U fputc@GLIBC_2.2.5
                 U fputs@GLIBC_2.2.5
                 U fread@GLIBC_2.2.5
                 U frexp@GLIBC_2.2.5
                 U fseeko64@GLIBC_2.2.5
                 U ftello64@GLIBC_2.2.5
                 U fwrite@GLIBC_2.2.5
                 U getc@GLIBC_2.2.5
                 U getenv@GLIBC_2.2.5
                 U gmtime_r@GLIBC_2.2.5
0000000000093630 D hash_dense
0000000000093638 D hash_sparse
                 U ldexp@GLIBC_2.2.5
                 U localtime_r@GLIBC_2.2.5
                 U log@GLIBC_2.29
                 U log10@GLIBC_2.2.5
                 U log2@GLIBC_2.29
000000000006dd40 T luaJIT_profile_dumpstack
000000000006d940 T luaJIT_profile_start
000000000006d710 T luaJIT_profile_stop
0000000000060a00 T luaJIT_setmode
0000000000078cf0 T luaL_addlstring
0000000000078d90 T luaL_addstring
0000000000078e20 T luaL_addvalue
0000000000048740 T luaL_argerror
0000000000078ef0 T luaL_buffinit
000000000006cff0 T luaL_callmeta
0000000000065df0 T luaL_checkany
0000000000066460 T luaL_checkinteger
0000000000066760 T luaL_checklstring
0000000000066260 T luaL_checknumber
0000000000066970 T luaL_checkoption
0000000000065950 T luaL_checkstack
0000000000065dc0 T luaL_checktype
0000000000069e50 T luaL_checkudata
000000000004e7f0 T luaL_error
00000000000707a0 T luaL_execresult
000000000006f7e0 T luaL_fileresult
0000000000070880 T luaL_findtable
0000000000069900 T luaL_getmetafield
0000000000078f10 T luaL_gsub
000000000006ea60 T luaL_loadbuffer
000000000006e830 T luaL_loadbufferx
000000000006e780 T luaL_loadfile
000000000006e4f0 T luaL_loadfilex
000000000006eb70 T luaL_loadstring
00000000000685f0 T luaL_newmetatable
000000000007a1e0 T luaL_newstate
0000000000078bf0 T luaL_openlib
000000000007a2b0 T luaL_openlibs
00000000000664e0 T luaL_optinteger
0000000000066830 T luaL_optlstring
00000000000662e0 T luaL_optnumber
0000000000078c90 T luaL_prepbuffer
00000000000788b0 T luaL_pushmodule
0000000000078dc0 T luaL_pushresult
000000000007a090 T luaL_ref
0000000000078c80 T luaL_register
0000000000078b40 T luaL_setfuncs
000000000006b5e0 T luaL_setmetatable
0000000000069d80 T luaL_testudata
0000000000068df0 T luaL_traceback
0000000000048970 T luaL_typerror
000000000007a170 T luaL_unref
0000000000047c60 T luaL_where
000000000001dba0 T lua_atpanic
000000000006b910 T lua_call
0000000000065730 T lua_checkstack
000000000006d7d0 T lua_close
0000000000068d20 T lua_concat
0000000000065cf0 T lua_copy
000000000006cfb0 T lua_cpcall
0000000000067fc0 T lua_createtable
000000000006eba0 T lua_dump
0000000000065fa0 T lua_equal
000000000001f6b0 T lua_error
000000000006d3a0 T lua_gc
000000000006d6a0 T lua_getallocf
000000000006d6e0 T lua_getexdata
000000000006d700 T lua_getexdata2
00000000000699d0 T lua_getfenv
0000000000069300 T lua_getfield
0000000000060e80 T lua_gethook
0000000000060ea0 T lua_gethookcount
0000000000060e90 T lua_gethookmask
0000000000058760 T lua_getinfo
000000000001ea90 T lua_getlocal
0000000000069810 T lua_getmetatable
000000000001e910 T lua_getstack
00000000000692a0 T lua_gettable
0000000000065a70 T lua_gettop
0000000000069b50 T lua_getupvalue
0000000000065c00 T lua_insert
0000000000065e40 T lua_iscfunction
0000000000065e70 T lua_isnumber
0000000000065ed0 T lua_isstring
0000000000065ef0 T lua_isuserdata
000000000006d060 T lua_isyieldable
00000000000660a0 T lua_lessthan
000000000006e4e0 T lua_load
000000000006e3e0 T lua_loadx
0000000000060500 T lua_newstate
0000000000068760 T lua_newthread
00000000000688f0 T lua_newuserdata
0000000000069ac0 T lua_next
0000000000066a00 T lua_objlen
000000000006cd90 T lua_pcall
0000000000067e90 T lua_pushboolean
0000000000067a50 T lua_pushcclosure
0000000000067900 T lua_pushfstring
0000000000066d70 T lua_pushinteger
0000000000067ed0 T lua_pushlightuserdata
0000000000066db0 T lua_pushlstring
0000000000066ca0 T lua_pushnil
0000000000066cd0 T lua_pushnumber
0000000000067410 T lua_pushstring
00000000000686d0 T lua_pushthread
0000000000065d30 T lua_pushvalue
00000000000678b0 T lua_pushvfstring
0000000000065f10 T lua_rawequal
0000000000069670 T lua_rawget
0000000000069780 T lua_rawgeti
000000000006af40 T lua_rawset
000000000006b1a0 T lua_rawseti
0000000000065b90 T lua_remove
0000000000065c90 T lua_replace
000000000006d070 T lua_resetthread
000000000006d280 T lua_resume
000000000006d6c0 T lua_setallocf
000000000006d6d0 T lua_setexdata
000000000006d6f0 T lua_setexdata2
000000000006b610 T lua_setfenv
0000000000069f20 T lua_setfield
0000000000060e20 T lua_sethook
000000000001e8c0 T lua_setlocal
000000000006b240 T lua_setmetatable
0000000000069ec0 T lua_settable
0000000000065a80 T lua_settop
000000000006b750 T lua_setupvalue
0000000000065720 T lua_status
0000000000066570 T lua_toboolean
0000000000066b00 T lua_tocfunction
0000000000066360 T lua_tointeger
00000000000663d0 T lua_tointegerx
0000000000066590 T lua_tolstring
0000000000066160 T lua_tonumber
00000000000661d0 T lua_tonumberx
0000000000066bf0 T lua_topointer
0000000000066bc0 T lua_tothread
0000000000066b50 T lua_touserdata
0000000000065d70 T lua_type
0000000000065e20 T lua_typename
0000000000069cc0 T lua_upvalueid
0000000000069d00 T lua_upvaluejoin
0000000000065a60 T lua_version
0000000000065980 T lua_xmove
000000000006d190 T lua_yield
0000000000078230 T luaopen_base
00000000000711d0 T luaopen_bit
00000000000711a0 T luaopen_debug
0000000000071260 T luaopen_ffi
0000000000070fe0 T luaopen_io
0000000000078400 T luaopen_jit
0000000000070f80 T luaopen_math
0000000000071170 T luaopen_os
00000000000794b0 T luaopen_package
0000000000078140 T luaopen_string
0000000000077f50 T luaopen_string_buffer
0000000000078640 T luaopen_table
                 U memchr@GLIBC_2.2.5
                 U memcmp@GLIBC_2.2.5
                 U memcpy@GLIBC_2.14
                 U memmove@GLIBC_2.2.5
                 U memset@GLIBC_2.2.5
                 U mkstemp64@GLIBC_2.2.5
                 U mktime@GLIBC_2.2.5
                 U mmap64@GLIBC_2.2.5
                 U modf@GLIBC_2.2.5
                 U mprotect@GLIBC_2.2.5
                 U mremap@GLIBC_2.2.5
                 U munmap@GLIBC_2.2.5
                 U open64@GLIBC_2.2.5
                 U pclose@GLIBC_2.2.5
                 U popen@GLIBC_2.2.5
                 U pow@GLIBC_2.29
                 U putc@GLIBC_2.2.5
                 U read@GLIBC_2.2.5
000000000002fd10 T recff_thread_exdata
000000000002fdc0 T recff_thread_exdata2
                 U remove@GLIBC_2.2.5
                 U rename@GLIBC_2.2.5
                 U setitimer@GLIBC_2.2.5
                 U setlocale@GLIBC_2.2.5
                 U setvbuf@GLIBC_2.2.5
                 U sigaction@GLIBC_2.2.5
                 U sigemptyset@GLIBC_2.2.5
                 U sin@GLIBC_2.2.5
                 U sinh@GLIBC_2.2.5
                 U sqrt@GLIBC_2.2.5
                 U stderr@GLIBC_2.2.5
                 U stdin@GLIBC_2.2.5
                 U stdout@GLIBC_2.2.5
000000000007a360 T str_hash_init_sse42
                 U strchr@GLIBC_2.2.5
                 U strcmp@GLIBC_2.2.5
                 U strcpy@GLIBC_2.2.5
                 U strerror@GLIBC_2.2.5
                 U strftime@GLIBC_2.2.5
                 U strlen@GLIBC_2.2.5
                 U strncmp@GLIBC_2.2.5
                 U strncpy@GLIBC_2.2.5
                 U strrchr@GLIBC_2.2.5
                 U strstr@GLIBC_2.2.5
                 U syscall@GLIBC_2.2.5
                 U system@GLIBC_2.2.5
                 U tan@GLIBC_2.2.5
                 U tanh@GLIBC_2.2.5
                 U time@GLIBC_2.2.5
                 U tmpfile64@GLIBC_2.2.5
                 U tzset@GLIBC_2.2.5
                 U ungetc@GLIBC_2.2.5
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 U _Unwind_DeleteException@GCC_3.0
                 U _Unwind_GetCFA@GCC_3.3
                 U _Unwind_GetIP@GCC_3.0
                 U _Unwind_RaiseException@GCC_3.0
                 U _Unwind_SetGR@GCC_3.0
                 U _Unwind_SetIP@GCC_3.0
                 w __cxa_finalize@GLIBC_2.2.5
                 U __deregister_frame@GCC_3.0
                 U __errno_location@GLIBC_2.2.5
                 w __gmon_start__
                 U __isoc23_fscanf@GLIBC_2.38
                 U __isoc23_strtoul@GLIBC_2.38
                 U __register_frame@GCC_3.0
                 U __tls_get_addr@GLIBC_2.3
                 U acos@GLIBC_2.2.5
                 U asin@GLIBC_2.2.5
                 U atan@GLIBC_2.2.5
                 U atan2@GLIBC_2.2.5
                 U clearerr@GLIBC_2.2.5
                 U clock@GLIBC_2.2.5
                 U close@GLIBC_2.2.5
                 U cos@GLIBC_2.2.5
                 U cosh@GLIBC_2.2.5
                 U difftime@GLIBC_2.2.5
                 U dlclose@GLIBC_2.34
                 U dlerror@GLIBC_2.34
                 U dlopen@GLIBC_2.34
                 U dlsym@GLIBC_2.34
                 U exit@GLIBC_2.2.5
                 U exp@GLIBC_2.29
                 U fclose@GLIBC_2.2.5
                 U feof@GLIBC_2.2.5
                 U ferror@GLIBC_2.2.5
                 U fflush@GLIBC_2.2.5
                 U fgets@GLIBC_2.2.5
                 U fmod@GLIBC_2.38
                 U fopen64@GLIBC_2.2.5
                 U fputc@GLIBC_2.2.5
                 U fputs@GLIBC_2.2.5
                 U fread@GLIBC_2.2.5
                 U frexp@GLIBC_2.2.5
                 U fseeko64@GLIBC_2.2.5
                 U ftello64@GLIBC_2.2.5
                 U fwrite@GLIBC_2.2.5
                 U getc@GLIBC_2.2.5
                 U getenv@GLIBC_2.2.5
                 U gmtime_r@GLIBC_2.2.5
0000000000092630 D hash_dense
0000000000092638 D hash_sparse
                 U ldexp@GLIBC_2.2.5
                 U localtime_r@GLIBC_2.2.5
                 U log@GLIBC_2.29
                 U log10@GLIBC_2.2.5
                 U log2@GLIBC_2.29
000000000006c000 T luaJIT_profile_dumpstack
000000000006bbe0 T luaJIT_profile_start
000000000006b9c0 T luaJIT_profile_stop
000000000005e620 T luaJIT_setmode
0000000000076e70 T luaL_addlstring
0000000000076f10 T luaL_addstring
0000000000076fa0 T luaL_addvalue
00000000000468f0 T luaL_argerror
0000000000077070 T luaL_buffinit
000000000006b2e0 T luaL_callmeta
0000000000063f90 T luaL_checkany
0000000000064660 T luaL_checkinteger
0000000000064990 T luaL_checklstring
0000000000064460 T luaL_checknumber
0000000000064ba0 T luaL_checkoption
0000000000063b30 T luaL_checkstack
0000000000063f60 T luaL_checktype
00000000000680d0 T luaL_checkudata
000000000004c7f0 T luaL_error
000000000006ea80 T luaL_execresult
000000000006daa0 T luaL_fileresult
000000000006eb60 T luaL_findtable
0000000000067b60 T luaL_getmetafield
0000000000077090 T luaL_gsub
000000000006cd10 T luaL_loadbuffer
000000000006caf0 T luaL_loadbufferx
000000000006ca40 T luaL_loadfile
000000000006c7b0 T luaL_loadfilex
000000000006ce30 T luaL_loadstring
0000000000066810 T luaL_newmetatable
00000000000783f0 T luaL_newstate
0000000000076d70 T luaL_openlib
00000000000784d0 T luaL_openlibs
00000000000646e0 T luaL_optinteger
0000000000064a60 T luaL_optlstring
00000000000644e0 T luaL_optnumber
0000000000076e10 T luaL_prepbuffer
0000000000076a20 T luaL_pushmodule
0000000000076f40 T luaL_pushresult
0000000000078290 T luaL_ref
0000000000076e00 T luaL_register
0000000000076cc0 T luaL_setfuncs
0000000000069870 T luaL_setmetatable
0000000000068000 T luaL_testudata
0000000000067000 T luaL_traceback
0000000000046b50 T luaL_typerror
0000000000078380 T luaL_unref
0000000000045dc0 T luaL_where
000000000001c4f0 T lua_atpanic
0000000000069ba0 T lua_call
0000000000063900 T lua_checkstack
000000000006ba70 T lua_close
0000000000066f30 T lua_concat
0000000000063e70 T lua_copy
000000000006b290 T lua_cpcall
0000000000066260 T lua_createtable
000000000006ce60 T lua_dump
0000000000064180 T lua_equal
000000000001e0c0 T lua_error
000000000006b660 T lua_gc
000000000006b950 T lua_getallocf
000000000006b990 T lua_getexdata
000000000006b9b0 T lua_getexdata2
0000000000067c30 T lua_getfenv
0000000000067520 T lua_getfield
000000000005eac0 T lua_gethook
000000000005eaf0 T lua_gethookcount
000000000005ead0 T lua_gethookmask
00000000000563f0 T lua_getinfo
000000000001d450 T lua_getlocal
0000000000067a60 T lua_getmetatable
000000000001d2c0 T lua_getstack
00000000000674b0 T lua_gettable
0000000000063c10 T lua_gettop
0000000000067db0 T lua_getupvalue
0000000000063d90 T lua_insert
0000000000063ff0 T lua_iscfunction
0000000000064030 T lua_isnumber
0000000000064090 T lua_isstring
00000000000640c0 T lua_isuserdata
000000000006b350 T lua_isyieldable
0000000000064290 T lua_lessthan
000000000006c7a0 T lua_load
000000000006c6a0 T lua_loadx
000000000005e230 T lua_newstate
0000000000066970 T lua_newthread
0000000000066b00 T lua_newuserdata
0000000000067d20 T lua_next
0000000000064c30 T lua_objlen
000000000006b070 T lua_pcall
0000000000066120 T lua_pushboolean
0000000000065ce0 T lua_pushcclosure
0000000000065b80 T lua_pushfstring
0000000000064fb0 T lua_pushinteger
0000000000066170 T lua_pushlightuserdata
0000000000064ff0 T lua_pushlstring
0000000000064ed0 T lua_pushnil
0000000000064f00 T lua_pushnumber
0000000000065690 T lua_pushstring
00000000000668f0 T lua_pushthread
0000000000063ec0 T lua_pushvalue
0000000000065b30 T lua_pushvfstring
00000000000640f0 T lua_rawequal
0000000000067890 T lua_rawget
00000000000679c0 T lua_rawgeti
00000000000691c0 T lua_rawset
0000000000069430 T lua_rawseti
0000000000063d20 T lua_remove
0000000000063e20 T lua_replace
000000000006b360 T lua_resetthread
000000000006b540 T lua_resume
000000000006b970 T lua_setallocf
000000000006b980 T lua_setexdata
000000000006b9a0 T lua_setexdata2
00000000000698a0 T lua_setfenv
00000000000681b0 T lua_setfield
000000000005ea50 T lua_sethook
000000000001d270 T lua_setlocal
00000000000694d0 T lua_setmetatable
0000000000068140 T lua_settable
0000000000063c30 T lua_settop
00000000000699d0 T lua_setupvalue
00000000000638f0 T lua_status
0000000000064780 T lua_toboolean
0000000000064d20 T lua_tocfunction
0000000000064560 T lua_tointeger
00000000000645d0 T lua_tointegerx
00000000000647a0 T lua_tolstring
0000000000064360 T lua_tonumber
00000000000643d0 T lua_tonumberx
0000000000064e20 T lua_topointer
0000000000064df0 T lua_tothread
0000000000064d70 T lua_touserdata
0000000000063f10 T lua_type
0000000000063fd0 T lua_typename
0000000000067f20 T lua_upvalueid
0000000000067f60 T lua_upvaluejoin
0000000000063c00 T lua_version
0000000000063b60 T lua_xmove
000000000006b440 T lua_yield
00000000000763b0 T luaopen_base
000000000006f450 T luaopen_bit
000000000006f420 T luaopen_debug
000000000006f4e0 T luaopen_ffi
000000000006f260 T luaopen_io
0000000000076580 T luaopen_jit
000000000006f210 T luaopen_math
000000000006f3f0 T luaopen_os
0000000000077660 T luaopen_package
00000000000762c0 T luaopen_string
00000000000760c0 T luaopen_string_buffer
00000000000767b0 T luaopen_table
                 U memchr@GLIBC_2.2.5
                 U memcmp@GLIBC_2.2.5
                 U memcpy@GLIBC_2.14
                 U memmove@GLIBC_2.2.5
                 U memset@GLIBC_2.2.5
                 U mkstemp64@GLIBC_2.2.5
                 U mktime@GLIBC_2.2.5
                 U mmap64@GLIBC_2.2.5
                 U modf@GLIBC_2.2.5
                 U mprotect@GLIBC_2.2.5
                 U mremap@GLIBC_2.2.5
                 U munmap@GLIBC_2.2.5
                 U open64@GLIBC_2.2.5
                 U pclose@GLIBC_2.2.5
                 U popen@GLIBC_2.2.5
                 U pow@GLIBC_2.29
                 U putc@GLIBC_2.2.5
                 U read@GLIBC_2.2.5
000000000002e510 T recff_thread_exdata
000000000002e5b0 T recff_thread_exdata2
                 U remove@GLIBC_2.2.5
                 U rename@GLIBC_2.2.5
                 U setitimer@GLIBC_2.2.5
                 U setlocale@GLIBC_2.2.5
                 U setvbuf@GLIBC_2.2.5
                 U sigaction@GLIBC_2.2.5
                 U sigemptyset@GLIBC_2.2.5
                 U sin@GLIBC_2.2.5
                 U sinh@GLIBC_2.2.5
                 U sqrt@GLIBC_2.2.5
                 U stderr@GLIBC_2.2.5
                 U stdin@GLIBC_2.2.5
                 U stdout@GLIBC_2.2.5
0000000000078580 T str_hash_init_sse42
                 U strchr@GLIBC_2.2.5
                 U strcmp@GLIBC_2.2.5
                 U strcpy@GLIBC_2.2.5
                 U strerror@GLIBC_2.2.5
                 U strftime@GLIBC_2.2.5
                 U strlen@GLIBC_2.2.5
                 U strncmp@GLIBC_2.2.5
                 U strncpy@GLIBC_2.2.5
                 U strrchr@GLIBC_2.2.5
                 U strstr@GLIBC_2.2.5
                 U syscall@GLIBC_2.2.5
                 U system@GLIBC_2.2.5
                 U tan@GLIBC_2.2.5
                 U tanh@GLIBC_2.2.5
                 U time@GLIBC_2.2.5
                 U tmpfile64@GLIBC_2.2.5
                 U tzset@GLIBC_2.2.5
                 U ungetc@GLIBC_2.2.5
--- /home/manphiz/nm-luajit-unpatched.txt	2025-12-19 06:10:00.879672259 +0000
+++ /home/manphiz/nm-luajit-patched.txt	2025-12-19 06:10:40.060033997 +0000
@@ -47,165 +47,165 @@
                  U getc@GLIBC_2.2.5
                  U getenv@GLIBC_2.2.5
                  U gmtime_r@GLIBC_2.2.5
-0000000000092630 D hash_dense
-0000000000092638 D hash_sparse
+0000000000093630 D hash_dense
+0000000000093638 D hash_sparse
                  U ldexp@GLIBC_2.2.5
                  U localtime_r@GLIBC_2.2.5
                  U log@GLIBC_2.29
                  U log10@GLIBC_2.2.5
                  U log2@GLIBC_2.29
-000000000006c000 T luaJIT_profile_dumpstack
-000000000006bbe0 T luaJIT_profile_start
-000000000006b9c0 T luaJIT_profile_stop
-000000000005e620 T luaJIT_setmode
-0000000000076e70 T luaL_addlstring
-0000000000076f10 T luaL_addstring
-0000000000076fa0 T luaL_addvalue
-00000000000468f0 T luaL_argerror
-0000000000077070 T luaL_buffinit
-000000000006b2e0 T luaL_callmeta
-0000000000063f90 T luaL_checkany
-0000000000064660 T luaL_checkinteger
-0000000000064990 T luaL_checklstring
-0000000000064460 T luaL_checknumber
-0000000000064ba0 T luaL_checkoption
-0000000000063b30 T luaL_checkstack
-0000000000063f60 T luaL_checktype
-00000000000680d0 T luaL_checkudata
-000000000004c7f0 T luaL_error
-000000000006ea80 T luaL_execresult
-000000000006daa0 T luaL_fileresult
-000000000006eb60 T luaL_findtable
-0000000000067b60 T luaL_getmetafield
-0000000000077090 T luaL_gsub
-000000000006cd10 T luaL_loadbuffer
-000000000006caf0 T luaL_loadbufferx
-000000000006ca40 T luaL_loadfile
-000000000006c7b0 T luaL_loadfilex
-000000000006ce30 T luaL_loadstring
-0000000000066810 T luaL_newmetatable
-00000000000783f0 T luaL_newstate
-0000000000076d70 T luaL_openlib
-00000000000784d0 T luaL_openlibs
-00000000000646e0 T luaL_optinteger
-0000000000064a60 T luaL_optlstring
-00000000000644e0 T luaL_optnumber
-0000000000076e10 T luaL_prepbuffer
-0000000000076a20 T luaL_pushmodule
-0000000000076f40 T luaL_pushresult
-0000000000078290 T luaL_ref
-0000000000076e00 T luaL_register
-0000000000076cc0 T luaL_setfuncs
-0000000000069870 T luaL_setmetatable
-0000000000068000 T luaL_testudata
-0000000000067000 T luaL_traceback
-0000000000046b50 T luaL_typerror
-0000000000078380 T luaL_unref
-0000000000045dc0 T luaL_where
-000000000001c4f0 T lua_atpanic
-0000000000069ba0 T lua_call
-0000000000063900 T lua_checkstack
-000000000006ba70 T lua_close
-0000000000066f30 T lua_concat
-0000000000063e70 T lua_copy
-000000000006b290 T lua_cpcall
-0000000000066260 T lua_createtable
-000000000006ce60 T lua_dump
-0000000000064180 T lua_equal
-000000000001e0c0 T lua_error
-000000000006b660 T lua_gc
-000000000006b950 T lua_getallocf
-000000000006b990 T lua_getexdata
-000000000006b9b0 T lua_getexdata2
-0000000000067c30 T lua_getfenv
-0000000000067520 T lua_getfield
-000000000005eac0 T lua_gethook
-000000000005eaf0 T lua_gethookcount
-000000000005ead0 T lua_gethookmask
-00000000000563f0 T lua_getinfo
-000000000001d450 T lua_getlocal
-0000000000067a60 T lua_getmetatable
-000000000001d2c0 T lua_getstack
-00000000000674b0 T lua_gettable
-0000000000063c10 T lua_gettop
-0000000000067db0 T lua_getupvalue
-0000000000063d90 T lua_insert
-0000000000063ff0 T lua_iscfunction
-0000000000064030 T lua_isnumber
-0000000000064090 T lua_isstring
-00000000000640c0 T lua_isuserdata
-000000000006b350 T lua_isyieldable
-0000000000064290 T lua_lessthan
-000000000006c7a0 T lua_load
-000000000006c6a0 T lua_loadx
-000000000005e230 T lua_newstate
-0000000000066970 T lua_newthread
-0000000000066b00 T lua_newuserdata
-0000000000067d20 T lua_next
-0000000000064c30 T lua_objlen
-000000000006b070 T lua_pcall
-0000000000066120 T lua_pushboolean
-0000000000065ce0 T lua_pushcclosure
-0000000000065b80 T lua_pushfstring
-0000000000064fb0 T lua_pushinteger
-0000000000066170 T lua_pushlightuserdata
-0000000000064ff0 T lua_pushlstring
-0000000000064ed0 T lua_pushnil
-0000000000064f00 T lua_pushnumber
-0000000000065690 T lua_pushstring
-00000000000668f0 T lua_pushthread
-0000000000063ec0 T lua_pushvalue
-0000000000065b30 T lua_pushvfstring
-00000000000640f0 T lua_rawequal
-0000000000067890 T lua_rawget
-00000000000679c0 T lua_rawgeti
-00000000000691c0 T lua_rawset
-0000000000069430 T lua_rawseti
-0000000000063d20 T lua_remove
-0000000000063e20 T lua_replace
-000000000006b360 T lua_resetthread
-000000000006b540 T lua_resume
-000000000006b970 T lua_setallocf
-000000000006b980 T lua_setexdata
-000000000006b9a0 T lua_setexdata2
-00000000000698a0 T lua_setfenv
-00000000000681b0 T lua_setfield
-000000000005ea50 T lua_sethook
-000000000001d270 T lua_setlocal
-00000000000694d0 T lua_setmetatable
-0000000000068140 T lua_settable
-0000000000063c30 T lua_settop
-00000000000699d0 T lua_setupvalue
-00000000000638f0 T lua_status
-0000000000064780 T lua_toboolean
-0000000000064d20 T lua_tocfunction
-0000000000064560 T lua_tointeger
-00000000000645d0 T lua_tointegerx
-00000000000647a0 T lua_tolstring
-0000000000064360 T lua_tonumber
-00000000000643d0 T lua_tonumberx
-0000000000064e20 T lua_topointer
-0000000000064df0 T lua_tothread
-0000000000064d70 T lua_touserdata
-0000000000063f10 T lua_type
-0000000000063fd0 T lua_typename
-0000000000067f20 T lua_upvalueid
-0000000000067f60 T lua_upvaluejoin
-0000000000063c00 T lua_version
-0000000000063b60 T lua_xmove
-000000000006b440 T lua_yield
-00000000000763b0 T luaopen_base
-000000000006f450 T luaopen_bit
-000000000006f420 T luaopen_debug
-000000000006f4e0 T luaopen_ffi
-000000000006f260 T luaopen_io
-0000000000076580 T luaopen_jit
-000000000006f210 T luaopen_math
-000000000006f3f0 T luaopen_os
-0000000000077660 T luaopen_package
-00000000000762c0 T luaopen_string
-00000000000760c0 T luaopen_string_buffer
-00000000000767b0 T luaopen_table
+000000000006dd40 T luaJIT_profile_dumpstack
+000000000006d940 T luaJIT_profile_start
+000000000006d710 T luaJIT_profile_stop
+0000000000060a00 T luaJIT_setmode
+0000000000078cf0 T luaL_addlstring
+0000000000078d90 T luaL_addstring
+0000000000078e20 T luaL_addvalue
+0000000000048740 T luaL_argerror
+0000000000078ef0 T luaL_buffinit
+000000000006cff0 T luaL_callmeta
+0000000000065df0 T luaL_checkany
+0000000000066460 T luaL_checkinteger
+0000000000066760 T luaL_checklstring
+0000000000066260 T luaL_checknumber
+0000000000066970 T luaL_checkoption
+0000000000065950 T luaL_checkstack
+0000000000065dc0 T luaL_checktype
+0000000000069e50 T luaL_checkudata
+000000000004e7f0 T luaL_error
+00000000000707a0 T luaL_execresult
+000000000006f7e0 T luaL_fileresult
+0000000000070880 T luaL_findtable
+0000000000069900 T luaL_getmetafield
+0000000000078f10 T luaL_gsub
+000000000006ea60 T luaL_loadbuffer
+000000000006e830 T luaL_loadbufferx
+000000000006e780 T luaL_loadfile
+000000000006e4f0 T luaL_loadfilex
+000000000006eb70 T luaL_loadstring
+00000000000685f0 T luaL_newmetatable
+000000000007a1e0 T luaL_newstate
+0000000000078bf0 T luaL_openlib
+000000000007a2b0 T luaL_openlibs
+00000000000664e0 T luaL_optinteger
+0000000000066830 T luaL_optlstring
+00000000000662e0 T luaL_optnumber
+0000000000078c90 T luaL_prepbuffer
+00000000000788b0 T luaL_pushmodule
+0000000000078dc0 T luaL_pushresult
+000000000007a090 T luaL_ref
+0000000000078c80 T luaL_register
+0000000000078b40 T luaL_setfuncs
+000000000006b5e0 T luaL_setmetatable
+0000000000069d80 T luaL_testudata
+0000000000068df0 T luaL_traceback
+0000000000048970 T luaL_typerror
+000000000007a170 T luaL_unref
+0000000000047c60 T luaL_where
+000000000001dba0 T lua_atpanic
+000000000006b910 T lua_call
+0000000000065730 T lua_checkstack
+000000000006d7d0 T lua_close
+0000000000068d20 T lua_concat
+0000000000065cf0 T lua_copy
+000000000006cfb0 T lua_cpcall
+0000000000067fc0 T lua_createtable
+000000000006eba0 T lua_dump
+0000000000065fa0 T lua_equal
+000000000001f6b0 T lua_error
+000000000006d3a0 T lua_gc
+000000000006d6a0 T lua_getallocf
+000000000006d6e0 T lua_getexdata
+000000000006d700 T lua_getexdata2
+00000000000699d0 T lua_getfenv
+0000000000069300 T lua_getfield
+0000000000060e80 T lua_gethook
+0000000000060ea0 T lua_gethookcount
+0000000000060e90 T lua_gethookmask
+0000000000058760 T lua_getinfo
+000000000001ea90 T lua_getlocal
+0000000000069810 T lua_getmetatable
+000000000001e910 T lua_getstack
+00000000000692a0 T lua_gettable
+0000000000065a70 T lua_gettop
+0000000000069b50 T lua_getupvalue
+0000000000065c00 T lua_insert
+0000000000065e40 T lua_iscfunction
+0000000000065e70 T lua_isnumber
+0000000000065ed0 T lua_isstring
+0000000000065ef0 T lua_isuserdata
+000000000006d060 T lua_isyieldable
+00000000000660a0 T lua_lessthan
+000000000006e4e0 T lua_load
+000000000006e3e0 T lua_loadx
+0000000000060500 T lua_newstate
+0000000000068760 T lua_newthread
+00000000000688f0 T lua_newuserdata
+0000000000069ac0 T lua_next
+0000000000066a00 T lua_objlen
+000000000006cd90 T lua_pcall
+0000000000067e90 T lua_pushboolean
+0000000000067a50 T lua_pushcclosure
+0000000000067900 T lua_pushfstring
+0000000000066d70 T lua_pushinteger
+0000000000067ed0 T lua_pushlightuserdata
+0000000000066db0 T lua_pushlstring
+0000000000066ca0 T lua_pushnil
+0000000000066cd0 T lua_pushnumber
+0000000000067410 T lua_pushstring
+00000000000686d0 T lua_pushthread
+0000000000065d30 T lua_pushvalue
+00000000000678b0 T lua_pushvfstring
+0000000000065f10 T lua_rawequal
+0000000000069670 T lua_rawget
+0000000000069780 T lua_rawgeti
+000000000006af40 T lua_rawset
+000000000006b1a0 T lua_rawseti
+0000000000065b90 T lua_remove
+0000000000065c90 T lua_replace
+000000000006d070 T lua_resetthread
+000000000006d280 T lua_resume
+000000000006d6c0 T lua_setallocf
+000000000006d6d0 T lua_setexdata
+000000000006d6f0 T lua_setexdata2
+000000000006b610 T lua_setfenv
+0000000000069f20 T lua_setfield
+0000000000060e20 T lua_sethook
+000000000001e8c0 T lua_setlocal
+000000000006b240 T lua_setmetatable
+0000000000069ec0 T lua_settable
+0000000000065a80 T lua_settop
+000000000006b750 T lua_setupvalue
+0000000000065720 T lua_status
+0000000000066570 T lua_toboolean
+0000000000066b00 T lua_tocfunction
+0000000000066360 T lua_tointeger
+00000000000663d0 T lua_tointegerx
+0000000000066590 T lua_tolstring
+0000000000066160 T lua_tonumber
+00000000000661d0 T lua_tonumberx
+0000000000066bf0 T lua_topointer
+0000000000066bc0 T lua_tothread
+0000000000066b50 T lua_touserdata
+0000000000065d70 T lua_type
+0000000000065e20 T lua_typename
+0000000000069cc0 T lua_upvalueid
+0000000000069d00 T lua_upvaluejoin
+0000000000065a60 T lua_version
+0000000000065980 T lua_xmove
+000000000006d190 T lua_yield
+0000000000078230 T luaopen_base
+00000000000711d0 T luaopen_bit
+00000000000711a0 T luaopen_debug
+0000000000071260 T luaopen_ffi
+0000000000070fe0 T luaopen_io
+0000000000078400 T luaopen_jit
+0000000000070f80 T luaopen_math
+0000000000071170 T luaopen_os
+00000000000794b0 T luaopen_package
+0000000000078140 T luaopen_string
+0000000000077f50 T luaopen_string_buffer
+0000000000078640 T luaopen_table
                  U memchr@GLIBC_2.2.5
                  U memcmp@GLIBC_2.2.5
                  U memcpy@GLIBC_2.14
@@ -224,8 +224,8 @@
                  U pow@GLIBC_2.29
                  U putc@GLIBC_2.2.5
                  U read@GLIBC_2.2.5
-000000000002e510 T recff_thread_exdata
-000000000002e5b0 T recff_thread_exdata2
+000000000002fd10 T recff_thread_exdata
+000000000002fdc0 T recff_thread_exdata2
                  U remove@GLIBC_2.2.5
                  U rename@GLIBC_2.2.5
                  U setitimer@GLIBC_2.2.5
@@ -239,7 +239,7 @@
                  U stderr@GLIBC_2.2.5
                  U stdin@GLIBC_2.2.5
                  U stdout@GLIBC_2.2.5
-0000000000078580 T str_hash_init_sse42
+000000000007a360 T str_hash_init_sse42
                  U strchr@GLIBC_2.2.5
                  U strcmp@GLIBC_2.2.5
                  U strcpy@GLIBC_2.2.5

Attachment: signature.asc
Description: PGP signature


Reply to: