Skip to content

pkg/ubasic: disable qualifier warning for LLVM, deprecate package - #22660

Merged
crasbe merged 2 commits into
RIOT-OS:masterfrom
crasbe:pr/ubasic_llvm
Sep 4, 2026
Merged

pkg/ubasic: disable qualifier warning for LLVM, deprecate package#22660
crasbe merged 2 commits into
RIOT-OS:masterfrom
crasbe:pr/ubasic_llvm

Conversation

@crasbe

@crasbe crasbe commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Contribution description

LLVM 17 introduced another check that causes an issue with the ubasic package. Since this would have to be fixed in upstream code, we just disable the warning to get it to compile.

Testing procedure

Without the fix it doesn't compile, with the fix it does:

buechse@skyleaf:~/RIOTstuff/riot-vanillaschote/RIOT$ BOARD=native64 BUILD_IN_DOCKER=1 DOCKER_IMAGE=5ebf563ef282 make -C tests/pkg/ubasic/
make: Entering directory '/home/buechse/RIOTstuff/riot-vanillaschote/RIOT/tests/pkg/ubasic'
Launching build container using image "5ebf563ef282".
docker run --rm --tty --user $(id -u):$(id -g) --platform linux/amd64 -v '/home/buechse/RIOTstuff/riot-vanillaschote/RIOT:/data/riotbuild/riotbase:delegated' -v '/home/buechse/.cargo/registry:/data/riotbuild/.cargo/registry:delegated' -v '/home/buechse/.cargo/git:/data/riotbuild/.cargo/git:delegated' -e 'TZ=Europe/Berlin' -e 'RIOTBASE=/data/riotbuild/riotbase' -e 'CCACHE_BASEDIR=/data/riotbuild/riotbase' -e 'BUILD_DIR=/data/riotbuild/riotbase/build' -e 'BUILD_IN_DOCKER=0' -e 'RIOTPROJECT=/data/riotbuild/riotbase' -e 'RIOTCPU=/data/riotbuild/riotbase/cpu' -e 'RIOTBOARD=/data/riotbuild/riotbase/boards' -e 'RIOTMAKE=/data/riotbuild/riotbase/makefiles' -v '/home/buechse/.gitcache:/data/riotbuild/gitcache:delegated' -e 'GIT_CACHE_DIR=/data/riotbuild/gitcache'    -e 'BOARD=native64' -e 'DISABLE_MODULE=' -e 'DEFAULT_MODULE=test_utils_print_stack_usage' -e 'FEATURES_REQUIRED=' -e 'FEATURES_BLACKLIST=' -e 'FEATURES_OPTIONAL=' -e 'USEMODULE=printf_float ubasic_tests' -e 'USEPKG=ubasic'  -w '/data/riotbuild/riotbase/tests/pkg/ubasic/' '5ebf563ef282' make
Building application "tests_ubasic" for "native64" with CPU "native".

Cloning into '/data/riotbuild/riotbase/build/pkg/ubasic'...
done.
HEAD is now at cc07193 Merge pull request #1 from dbohdan/master
"make" -C /data/riotbuild/riotbase/pkg/ubasic/
"make" -f /data/riotbuild/riotbase/pkg/ubasic/ubasic_tests.mk -C /data/riotbuild/riotbase/build/pkg/ubasic
"make" -f /data/riotbuild/riotbase/pkg/ubasic/ubasic.mk -C /data/riotbuild/riotbase/build/pkg/ubasic
/data/riotbuild/riotbase/build/pkg/ubasic/tokenizer.c: In function ‘tokenizer_string’:
/data/riotbuild/riotbase/build/pkg/ubasic/tokenizer.c:238:14: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
  238 |   string_end = strchr(ptr + 1, '"');
      |              ^
cc1: all warnings being treated as errors
make[2]: *** [/data/riotbuild/riotbase/Makefile.base:162: /data/riotbuild/riotbase/tests/pkg/ubasic/bin/native64/ubasic/tokenizer.o] Error 1
make[1]: *** [Makefile:18: ubasic] Error 2
make: *** [/data/riotbuild/riotbase/Makefile.include:815: pkg-build] Error 2
make: *** [/home/buechse/RIOTstuff/riot-vanillaschote/RIOT/makefiles/docker.inc.mk:403: ..in-docker-container] Error 2
make: Leaving directory '/home/buechse/RIOTstuff/riot-vanillaschote/RIOT/tests/pkg/ubasic'
buechse@skyleaf:~/RIOTstuff/riot-vanillaschote/RIOT$ BOARD=native64 BUILD_IN_DOCKER=1 DOCKER_IMAGE=5ebf563ef282 make -C tests/pkg/ubasic/
make: Entering directory '/home/buechse/RIOTstuff/riot-vanillaschote/RIOT/tests/pkg/ubasic'
Launching build container using image "5ebf563ef282".
docker run --rm --tty --user $(id -u):$(id -g) --platform linux/amd64 -v '/home/buechse/RIOTstuff/riot-vanillaschote/RIOT:/data/riotbuild/riotbase:delegated' -v '/home/buechse/.cargo/registry:/data/riotbuild/.cargo/registry:delegated' -v '/home/buechse/.cargo/git:/data/riotbuild/.cargo/git:delegated' -e 'TZ=Europe/Berlin' -e 'RIOTBASE=/data/riotbuild/riotbase' -e 'CCACHE_BASEDIR=/data/riotbuild/riotbase' -e 'BUILD_DIR=/data/riotbuild/riotbase/build' -e 'BUILD_IN_DOCKER=0' -e 'RIOTPROJECT=/data/riotbuild/riotbase' -e 'RIOTCPU=/data/riotbuild/riotbase/cpu' -e 'RIOTBOARD=/data/riotbuild/riotbase/boards' -e 'RIOTMAKE=/data/riotbuild/riotbase/makefiles' -v '/home/buechse/.gitcache:/data/riotbuild/gitcache:delegated' -e 'GIT_CACHE_DIR=/data/riotbuild/gitcache'    -e 'BOARD=native64' -e 'DISABLE_MODULE=' -e 'DEFAULT_MODULE=test_utils_print_stack_usage' -e 'FEATURES_REQUIRED=' -e 'FEATURES_BLACKLIST=' -e 'FEATURES_OPTIONAL=' -e 'USEMODULE=printf_float ubasic_tests' -e 'USEPKG=ubasic'  -w '/data/riotbuild/riotbase/tests/pkg/ubasic/' '5ebf563ef282' make
Building application "tests_ubasic" for "native64" with CPU "native".

"make" -C /data/riotbuild/riotbase/pkg/ubasic/
"make" -f /data/riotbuild/riotbase/pkg/ubasic/ubasic_tests.mk -C /data/riotbuild/riotbase/build/pkg/ubasic
"make" -f /data/riotbuild/riotbase/pkg/ubasic/ubasic.mk -C /data/riotbuild/riotbase/build/pkg/ubasic
"make" -C /data/riotbuild/riotbase/boards
...
"make" -C /data/riotbuild/riotbase/sys/test_utils/print_stack_usage
/usr/bin/x86_64-linux-gnu-ld.bfd: warning: /data/riotbuild/riotbase/tests/pkg/ubasic/bin/native64/tests_ubasic.elf has a LOAD segment with RWX permissions
   text    data     bss     dec     hex filename
  38205    1408   59480   99093   18315 /data/riotbuild/riotbase/tests/pkg/ubasic/bin/native64/tests_ubasic.elf
make: Leaving directory '/home/buechse/RIOTstuff/riot-vanillaschote/RIOT/tests/pkg/ubasic'

Issues/PRs references

Required for RIOT-OS/riotdocker#286

Declaration of AI-Tools / LLMs usage:

AI-Tools / LLMs that were used are:

  • none

@crasbe crasbe added Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR AI: Not Used AI was stated to not be used in this PR/Issue labels Sep 4, 2026
@github-actions github-actions Bot added Area: build system Area: Build system Area: pkg Area: External package ports labels Sep 4, 2026
@crasbe
crasbe enabled auto-merge September 4, 2026 08:36
@crasbe
crasbe disabled auto-merge September 4, 2026 08:48
@github-actions github-actions Bot added the Area: doc Area: Documentation label Sep 4, 2026
@crasbe

crasbe commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author
image

Now with fancy yellow deprecation note.

@crasbe
crasbe requested a review from miri64 September 4, 2026 08:52
@crasbe crasbe changed the title pkg/ubasic: disable qualifier warning for LLVM pkg/ubasic: disable qualifier warning for LLVM, deprecate package Sep 4, 2026
@crasbe
crasbe enabled auto-merge September 4, 2026 09:34
@crasbe crasbe added the Process: deprecation Integration Process: The PR is deprecating a feature or API label Sep 4, 2026
@riot-ci

riot-ci commented Sep 4, 2026

Copy link
Copy Markdown

Murdock results

✔️ PASSED

1c5c91e pkg/ubasic: add deprecation note

Success Failures Total Runtime
11285 0 11285 13m:45s

Artifacts

@crasbe
crasbe added this pull request to the merge queue Sep 4, 2026
@AnnsAnns

AnnsAnns commented Sep 4, 2026

Copy link
Copy Markdown
Member

I'd argue we should simply remove it instantly

@AnnsAnns

AnnsAnns commented Sep 4, 2026

Copy link
Copy Markdown
Member

if any project is actually using this unironically I'd be flabbergasted

Merged via the queue into RIOT-OS:master with commit 6c4e4e4 Sep 4, 2026
28 checks passed
@crasbe
crasbe deleted the pr/ubasic_llvm branch September 4, 2026 22:17
@crasbe

crasbe commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

if any project is actually using this unironically I'd be flabbergasted

Same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI: Not Used AI was stated to not be used in this PR/Issue Area: build system Area: Build system Area: doc Area: Documentation Area: pkg Area: External package ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer Process: deprecation Integration Process: The PR is deprecating a feature or API Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants