Update Clang toolchain used by Bazel#2879
Open
Prabhuk wants to merge 76 commits intoraspberrypi:masterfrom
Open
Update Clang toolchain used by Bazel#2879Prabhuk wants to merge 76 commits intoraspberrypi:masterfrom
Prabhuk wants to merge 76 commits intoraspberrypi:masterfrom
Conversation
find src -type f -perm /a+x -name '*.h' -print0 | xargs --null chmod -x
The order depends on whether you're enabling or disabling
* Update sha256_alt.h Fix trivial copy-paste error in comment * Update README.md Another small typo in documentation
Fix copy-paste-error. With RP2350's Hazard3 should never show up, but anyway.
The sideset_bit_count in pio_encode_sideset_opt is unsigned, so any comparison "sideset_bit_count >= 0" will always be true. GCC with pedantic warnings will complain when this happens. Remove the unneeded >=0 portion of the parameter validity check. Fixes raspberrypi#2607
Since ARM hosts have builtins listed in hardware/sync.h, these builtins should be clobbered. Newer versions of LLVM/Clang emit an error when clobbering these builtins, so this switches the overrides to use the same patterns as pico_atomic to clobber the builtins.
…aspberrypi#2632) Partially fixes raspberrypi#2630, as it doesn't take care of the required delay between setting the LED
If the compiler in use offers __sev(), __wfe(), or __wfi(), forward declare them to be sure they're available for use.
…aspberrypi#2641) * Add Raspberry Pi 500 board support - W25X10CL flash configuration for DSPI mode - USB standalone operation support - Complete GPIO pin documentation with keyboard matrix mapping - Debug UART configuration on GP16 - Hardware-specific boot and power management settings Tested with TinyUSB MIDI example - successful enumeration and operation. * Correct Pi 500 board support: RP2040 chip, proper naming - Rename to raspberry_pi_pi500_rp2040.h for clarity - Correct chip type from RP2350 to RP2040 - Remove pico2.h inheritance, use self-contained definitions - Add comprehensive GPIO pin mapping documentation - Include critical power management warning - Configure W25X10CL flash support for RP2040 * PICO_RP2040_B0_SUPPORTED can be changed to 0, since all Pi 500s are using RP2040 B2. * Update Raspberry Pi 500 board support for minimal original intent. - Fix mistake done in pico.h PICO_RP2040_B0_SUPPORTED 0 => 1 - Disable B0 support in pi500_rp2040 - Fix flash size 1M-Bit not 1Mb - Add Matrix pin definition * Fix flash size. Add warning on GP19 Remove GP17 * Adding UART TX GP16 * Add Caps led as default led --------- Co-authored-by: Jerome Hordies <jerome.hordies.ext@luminus.be>
…aspberrypi#2671) Includes rejigging it a bit, as the checking script requires #defines for all configs
Co-authored-by: Andrew Pochinchik <andrew.pochinchik@ftco.ltd>
Fixes raspberrypi#2678 The FreeRTOS, Poll, and Threadsafe async_context implementations have execute_sync functions that's set as a member of their async_context_type_t struct for use by the user-visible async_context API. These implementation functions should not be accessible by user code which chouls only use async_context_execute_sync and not the low-lever async_context_{freertos,poll,threadsafe}_execute_sync implementation. Make these private functions static like the other low-level functions in the async_context_type_t struct.
Bazel configuration adds a dependency on hardware_claim in 'host' but it doesn't exist there. It's in 'common'. Fixes raspberrypi#2738
* Add empty 'check_gpio_param' to host GPIO All the approriate gpio_xxx functions now call check_gpio_param. This provides an easy way for a project to add simple range checking by defining a final version of check_gpio_param, which whatever error mechanism it chooses if an invalid value is passed. Refs raspberrypi#2736 * Declare all host GPIO functions weak This allows them to be easily overridden by user code for testing purposes. Refs raspberrypi#2736 * Mark all parameters in host GPIO unused This prevents lots of compiler warnings if the default warning level is increased. Refs raspberrypi#2736 * Add missing functions/types to host GPIO Some RP2350 GPIO_FUNC_ enums don't match the values defined in the rp2350 hardware header but the actual values shouldn't matter if only the enums are used (i.e. no magic numbers). Refs raspberrypi#2736
…rity (raspberrypi#2832) * Change a couple of hardcoded numbers to PIO_INSTRUCTION_COUNT for clarity * fix sign-compare warning
…arameter to gpio_start (raspberrypi#2831) in order to avoid confusion with pio_set_gpio_base's gpio_base parameter
Updated broken link
…aspberrypi#2764) * remove guards that disable sdio_usb when tinyusb_host is linked in; it works just fine * implement better guards
…aspberrypi#2651) * Use 'constexpr' when including pio header files from a C++ compiler In particular this allows compile-time checks to be performed on the contents of pio_program structs via 'static_assert'. This could be used (for example) to confirm that multiple PIO programs fit in a single PIO module and abort compilation if not. Fixes raspberrypi#2650 * Use feature test macro to check for 'constexpr' support * Rename modifier PIO_CONST to __pio_const --------- Co-authored-by: Graham Sanderson <graham.sanderson@gmail.com>
…ABI=1 (raspberrypi#2822) * Enable hard-float ABI support for pico_float and pico_double on m33 Resolves raspberrypi#2783 Signed-off-by: Andy Lin <andylinpersonal@gmail.com> * Add (non google) LLVM support, and replace calling convention check with #if defined(__ARM_PCS_VFP) * switch float.h to use static inline method for int2float() etc in VFP mode rather than #define * float/double test cleanup - particularly: - splitting out executable for each test type for pico_float/double_test - removing undefined behavior from custom_float_funcs_test.c, to de-confuse clang - add test of denormal->int Note some tests still fail on llvm libc (at least version 19) * fix some issues with newer llvm_libc/compiler as used by bazel build * keep check_configs happy * another bazel issue * introduce pico_double_pico_dcp for consistency * fixup debug output based on previous commit * remove unnecessary build guard from double_conv_m33.S * allow -1 for neg_denormal->int rounding towards minus infinity * Update test/pico_float_test/CMakeLists.txt Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com> * Update test/pico_float_test/CMakeLists.txt Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com> * - add fma/_fast functions to pico_float_test/pico_double_test - fix guard for TEST_SATURATION in pico_double_test - GCC doesn't clamp either * - double functions were only wrapped in pico_double_pico not pico_double_pico_dcp explicitly (i.e. explicitly setting double impl to pico_dcp was not selecting our versions) * avoid extra stack alignment push (per review comment) * fix fma return code in VFP mode (register transfer was the wrong way around) * separate PCS=VFP and non-PCS-VFP versions of fma_fast * remove saving_func_return (which is just bx lr) and fold the separate pop of lr, into a pop of pc * better fix for wrapping right libraries * rename some labels from _entry (which is an internal entry point) to _softfp to be clear that these are the function entry points which work with softfp calling conventions * Make bazel pico_float build not wrap SCI functions on RISC-V to match CMake build * Split out FMAF as a selectable wrapped item since we don't want to wrap it for VFP * fix typos * fix test --------- Signed-off-by: Andy Lin <andylinpersonal@gmail.com> Co-authored-by: Andy Lin <andylinpersonal@gmail.com> Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
…entation(compiler) and PICO_STDIO_SHORT_CIRCUIT_CLIB_FUNCS as a semi-workaround for the c library buffering stdout during printf (raspberrypi#2821) Note: the correct solution would be to flush stdout in the short-circuited functions, but this rather destroys the point of making them fast. This takes care of the common case. For complete/best support use PICO_STDIO_SHORT_CIRCUIT_CLIB_FUNCS=0 when using compiler printf
* Fix some errors from -fanalyzer. Includes a genuine bug in multicore_doorbell_claim() which seemed to use the wrong bit for the second core. * Return NULL instead of panicking on secondary allocation fail in pico_time
…errypi#2618) * Fix PIO comment and assertion typos * Add (and use) 32-bit version of check_pio_pin_mask64 * minor comment tidyup * small code size improvement * oops * hmm * fix typos --------- Co-authored-by: Graham Sanderson <graham.sanderson@raspberrypi.com>
* fix issues with and improve tests for dcp conversions of INFINITES to fixed point values * improve comments * fix outstanding todo in __aeabi_dmul via DCP which improves speed/size * fix missing DCP state saves for float2int, float2uint and float2fix * slightly improve implementation of saturation of INFINITES * should not include sf_table.h in double.h * point out that float/double->fixed/int saturate in the docs * move some doxygen into RP2350 specific and change include guards ro be RP2350 specific * more doc tweaks * fixup check names to be more consistent
* ensure that fix<>float methods (not inline versions) are called too in VFP tests * remove sf_table.h include from float.h as it is not part of the public API * fix float->fixed/int infinite conversions via VFP * 2 instructions -> 1 * add missing call_ tests for float2fix_z and float2ufix_z * fix test descriptions Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com> --------- Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
(copied from Doxygen for clock_configure)
Without the alternate macro mode, when building with Clang, the arguments to macros weren't evaluated.
* Update btstack to v1.8
The Clang toolchain is updated to a newer revision cb3d7ffb09e8be115da1fd57a6c09860e89f5449 from Feb 23, 2026.
add a test driver script to run a matrix of tests via gdb on device
This reverts commit 5e99331.
…pberrypi#2863) Add Clock Divider = 1 to documentation of pio_get_default_sm_config
Need to handle missing header guard in cyw43.h Fixes raspberrypi#2642
* Fix PICO_PANIC_FUNCTION= imelementations - stack should remain properly aligned - risc-v was actually completely broken for user defined handlers because GCC was auto-pushing vaargs for naked function even with no stack frame - new implementation supports full call stacks in gdb for Arm or RISC-V when hitting breakpoint in panic function - new config defines make it explicit that gdb full stgack trace comes at the cost of corrupting stack based vaargs 4th is corrupted on Arm, later on RiSC-V (7 maybe?) - add new test case
…2817) * Add board definition for Soldered NULA Max RP2350 board * Fix wrong communication port mapping * Add user button and hdmi pin defines * Use right default UART port
* Remove duplicated defines from bootrom.h See raspberrypi#2619 for rationale * more rationalization of constant names * comment fix * Apply suggestions from code review Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com> --------- Co-authored-by: graham sanderson <graham.sanderson@raspberrypi.com>
…rypi#2799) * Enhance JSON output with additional program metadata Adds escaping for JSON strings and includes new fields in the output such as pioASM version, pioVersion, usedGPIORanges, in/out/setCount configurations, movStatus, fifoConfig, clockDiv, codeBlocks, and langOpts. Also uncomments instruction output with disassembly strings and ensures proper escaping for symbol names and other string fields. * Move JSON Output to a different library in BUILD.bazel Otherwise the factory code that adds the output as an option to the CLI never runs. * Fix movStatus type output formatting in JSON Encloses the movStatus type value in quotes to ensure correct JSON string formatting in the output. * Add JSON schema for pioasm JSON output. * Add "$schema" to properties to enable in-json validation. Co-authored-by: will-v-pi <108662275+will-v-pi@users.noreply.github.com> * Changing json_output_schema.json to 4-space tabs. --------- Co-authored-by: will-v-pi <108662275+will-v-pi@users.noreply.github.com>
…pi#2717) * Correct powman_timer_enable_alarm_at_ms documentation note * review change * Add semi-colon --------- Co-authored-by: Graham Sanderson <graham.sanderson@raspberrypi.com> Co-authored-by: will-v-pi <108662275+will-v-pi@users.noreply.github.com>
The Clang toolchain is updated to a newer revision 9431920bfaee50f4b1552fc01ea081a5c18a5a3b from March 20, 2026. Fixes raspberrypi#2859
|
Please do not submit against |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Clang toolchain is updated to a newer revision 9431920bfaee50f4b1552fc01ea081a5c18a5a3b from March 20, 2026.
Fixes #2859