feat: restrict //export different symbol names to baremetal targets only

- Modified cl/import.go to check LLGO_TARGET_BAREMETAL env var
- For baremetal targets: //export SymbolName allows different export name (TinyGo-style)
- For normal targets: //export SymbolName uses SymbolName as function name (standard Go)
- Set LLGO_TARGET_BAREMETAL=1 in internal/build/build.go when baremetal tag present
- Added test for normal targets in _demo/normal/export/
- Added CI test to verify both embedded and normal target behavior

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: luoliwoshang <51194195+luoliwoshang@users.noreply.github.com>
This commit is contained in:
xgopilot
2025-11-03 06:20:42 +00:00
parent 3348b645af
commit 940c6f7625
5 changed files with 146 additions and 3 deletions

View File

@@ -140,6 +140,13 @@ jobs:
cd _demo/embed/export
bash ../../../.github/workflows/export_test.sh
- name: Test export symbol names for normal targets
run: |
echo "Testing //export behavior for normal (non-embedded) targets..."
chmod +x .github/workflows/export_test_normal.sh
cd _demo/normal/export
bash ../../../.github/workflows/export_test_normal.sh
- name: _xtool build tests
run: |
cd _xtool