no1wudi commented on PR #7175: URL: https://github.com/apache/nuttx/pull/7175#issuecomment-3588433269
@xiaoxiang781216 @casaroli ## Core Issue WAMRC generates different memory function calls depending on the target ABI used for ARM compilation. ## Function Call Analysis ### EABI ABIs (eabihf, eabi) Generate ARM EABI-specific functions: ``` __aeabi_memmove - Memory block copy for overlapping regions __aeabi_memclr - Memory clear/set to zero ``` ### GNU ABIs (gnu, gnueabihf) Generate standard C library functions: ``` memmove - Standard memory copy memset - Standard memory set ``` ## Test Results | ABI | __aeabi_* Functions | Standard Functions | Status | |-----|-------------------|-------------------|---------| | eabihf | YES | NO | Requires ARM EABI library | | eabi | YES | NO | Requires ARM EABI library | | gnu | NO | YES | Uses standard libc | | gnueabihf | NO | YES | Uses standard libc | ## Root Cause The ABI specification determines which memory function implementations LLVM targets: - **EABI ABIs**: Generate calls to ARM EABI functions (`__aeabi_*`) - **GNU ABIs**: Generate calls to standard POSIX functions (`memmove`, `memset`) This affects compatibility with different C library implementations. So, I guess restore them can improve compatibiliy with 3rd party generated objects? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
