主要观点:介绍了 dlcage 用于在多线程环境中使用非可重入库的演示,通过使用 dlmopen
结合 LM_ID_NEWLM
在不同链接器命名空间中加载库的副本来安全使用非可重入库;
关键信息:dlmopen
是 GNU 扩展,可能被 hax_loader 替代,typeof
是 GNU 扩展可通过宏避免;存在 TLS 问题,glibc 实现最多支持 16 个命名空间;
重要细节:贡献时创建以 contrib/
开头的分支并通过 SSH 推送到 [forge.runxiyu.org/stuff/:/repos/dlcage/] 仓库,如 git clone ssh://forge.runxiyu.org/stuff/:/repos/dlcage/
等操作,更新其他命名空间的分支或推送到其他 SSH 密钥的现有贡献分支会被自动拒绝,否则会自动打开合并请求并通过 IRC 通知维护者。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。