





-rdynamic it fails on the crypto dependencies




_Z10md5_finishP11MD5state_st which demangles to md5_finish(MD5state_st*)

void *pHandle = dlopen(pFilename, RTLD_LAZY); this works with hot reloading resolving the symbols lazyRTLD_NOW for hot reloading which then fails on IJob which is fixed by -rdynamic which then fails on md5_finish




























class IJob
Fixes the following clangd error:
Invalid case style for class 'IJob' (fix available)
!image


RTLD_NOW and -rdynamic

-rdynamic and compile my plugin from within the ddnet code base it somehow caches the result of dlsym










cargo run --release --bin=twgpu-map-inspect -- ~/.teeworlds/maps/Stronghold.map /usr/share/ddnet/data/mapres/
new-approach branch, as I need to tell everyone to switch to it 


readelf whether the symbol is exported














c++
ANTIBOTAPI int AntibotAbiVersion();
defined as
c++
#define ANTIBOTAPI DYNAMIC_IMPORT
defined as
c++
#ifdef CONF_FAMILY_WINDOWS
#define DYNAMIC_EXPORT __declspec(dllexport)
#define DYNAMIC_IMPORT __declspec(dllimport)
#else
#define DYNAMIC_EXPORT
#define DYNAMIC_IMPORT
#endif



-rdynamic and strip out the collision code
info proc mappings


info proc mappings is huge




dlclose?

/proc/<pid>/maps which contains the same things, I think


grep twbl /proc/$(pgrep DDNet-Server)/maps

make in the servers build directory






mold?



/home/chiller/Desktop/git/twbl-ddnet/build/.mold-hqv1pr?


(gdb) x/s 0x7ffff7fb70000x7ffff7fb7000: <error: Cannot access memory at address 0x7ffff7fb7000>



grep 7ffff7fb6000 /proc/$(pgrep DDNet-Server)/maps comes back emptygrep 7ffff7fb /proc/$(pgrep DDNet-Server)/maps7ffff7fbb000-7ffff7fc3000 rw-s 00000000 103:02 19352181 /home/chiller/.teeworlds/ddnet-server.sqlite-shm
















warning: Temporarily disabling breakpoints for unloaded shared library "./libtwbl_bottick.so"

/proc/<pid>/mappings?

/proc/<pid>/mappings




















0x7fffe456fc14: <error: Cannot access memory at address 0x7fffe456fc14>





























/proc/<pid>/maps


/home/chiller/Desktop/git/twbl-ddnet/build/libtwbl_bottick.so
ls -l the relevant symlink in /proc/<pid>/map_files/<addr_range>?


lr-------- 1 chiller chiller 64 May 21 17:36 7fffe4400000-7fffe44af000 -> /home/chiller/Desktop/git/twbl-ddnet/build/libtwbl_bottick.so
mv the file over)
mv
mv is atomic

cp isn't atomic by default












no way your changes work













































1
























1

SELECT SUM(time) AS Time FROM record_race WHERE Name = %s; to get your desired result



--vsync to limit the framerate. without that, it currently renders at max fps (edited)


dbg_gfx 4 and share the console output?

dbg_gfx 4 and share the console output? 



fs_is_dir check in the fs_chdir function. The SetCurrentDirectoryW and chdir functions would already include such necessary checks anyway.
Add remark about the fs_chdir and fs_getcwd functions not being thread-safe on Windows to documentation.
Assert that GetCurrentDirectoryW was successful instead of logging an error message. This function should only potentially fail if the current working directory was changed by another thread between the two calls, ...



1
1



dbg_gfx 4 and share the console output? 






::1, but when trying to bind to it, the address seems wrong. I guess it somehow got mangled up before the actual bind call. This needs some further deb...

































SELECT SUM(time) AS Time FROM record_race WHERE Name = %s; to get your desired result 




















