文件
Paze AI abea3c8243 fix: 修复 TLS 崩溃 (0xC000007B) 和构建配置
根因: 使用 32 位 gcc (i686) 构建 pcc,导致内部 PTR_SIZE=4,
生成 64 位目标时 TLS 目录按 32 位格式写入 (24字节而非40字节),
所有含 __thread 变量的程序加载即崩溃。

修复: 改用 64 位 gcc (x86_64-w64-mingw32) 完整重建 pcc.exe,
PTR_SIZE 正确为 8,TLS 目录 40 字节。

验证:
- _Thread_local / __thread 程序正常运行
- _Generic, _Alignas, _Atomic, 匿名结构体, _Static_assert 全部通过
- tests2 套件 102 测试通过 (其余为 CRLF/路径/stderr 框架差异)
- 自编译正常
2026-08-16 14:31:03 +08:00

44 行
637 B
Modula-2

LIBRARY libpcc.dll
EXPORTS
_pcc_error
_pcc_error_noabort
_pcc_setjmp
_pcc_warning
pcc_add_file
pcc_add_include_path
pcc_add_library
pcc_add_library_path
pcc_add_symbol
pcc_add_sysinclude_path
pcc_basename
pcc_compile_string
pcc_define_symbol
pcc_delete
pcc_enter_state
pcc_exit_state
pcc_fclose
pcc_fileextension
pcc_fopen
pcc_free
pcc_get_dllexports
pcc_get_symbol
pcc_list_symbols
pcc_malloc
pcc_mallocz
pcc_new
pcc_output_file
pcc_parse_args
pcc_print_stats
pcc_realloc
pcc_relocate
pcc_run
pcc_set_backtrace_func
pcc_set_error_func
pcc_set_lib_path
pcc_set_options
pcc_set_output_type
pcc_set_realloc
pcc_strdup
pcc_undefine_symbol