You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/10/24 05:58:34 UTC

[GitHub] [incubator-nuttx] anchao opened a new pull request, #7409: boards/arm/gcc: disable coverage analysis temporarily

anchao opened a new pull request, #7409:
URL: https://github.com/apache/incubator-nuttx/pull/7409

   
   ## Summary
   
   boards/arm/gcc: disable coverage analysis temporarily
   
   **Please revert this change if arm resolved this issue in the next release**
   
   ARM GNU toolchain 11.3.Rel1 missing gcov_* symbols:
   
   https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53354/arm-gnu-toolchain-11-3-rel1-missing-gcov_-symbols
   
   $ arm-none-eabi-gcc -v
   ```
   ...
   gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)
   ```
   
   $ cat main.c
   ```
   int __start(void)
   {
     return 0;
   }
   ```
   
   Compiler with arm GCC-11.3:
   
   ```
   $ arm-none-eabi-gcc -c -Wstrict-prototypes -Os -fno-strict-aliasing -fomit-frame-pointer -fprofile-generate \ -ftest-coverage -mthumb --coverage -fno-common -Wall -Wshadow -Wundef -ffunction-sections -fdata-sections -g \ -mlittle-endian -mcpu=cortex-m0 -mthumb -mfloat-abi=soft main.c -o main.o
   ```
   
   ```
   $ arm-none-eabi-ld --entry=__start -nostdlib --gc-sections -Tpimoroni-tiny2040-flash.ld -o test_gcov --start-group main.o \ ~/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v6-m/nofp/libgcov.a --end-group arm-none-eabi-ld: main.o: in function `__start':
   /home/archer/code/nuttx/n4/incubator-nuttx/main.c:2: undefined reference to `__gcov_indirect_call_profiler_v4' arm-none-eabi-ld: /home/archer/code/nuttx/n4/incubator-nuttx/main.c:4: undefined reference to `__gcov_indirect_call' arm-none-eabi-ld: /home/archer/code/nuttx/n4/incubator-nuttx/main.c:4: undefined reference to `__gcov_time_profiler_counter'
   ```
   
   link success with arm GCC-10.3:
   
   ```
   $ arm-none-eabi-ld --entry=__start -nostdlib --gc-sections -Tpimoroni-tiny2040-flash.ld -o test_gcov --start-group main.o \ ~/lib/gcc/arm-none-eabi/10.3.1/thumb/v6-m/nofp/libgcov.a --end-group
   $ ls -l test_gcov
   -rwxrwxr-x 1 archer archer 68744 10月 24 12:51 test_gcov
   ```
   
   Signed-off-by: chao an <an...@xiaomi.com>
   
   
   ## Impact
   
   $ arm-none-eabi-gcc -v
   ...
   gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)
   
   ## Testing
   
   CI- check


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #7409: boards/arm/gcc: disable coverage analysis temporarily

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #7409:
URL: https://github.com/apache/incubator-nuttx/pull/7409#issuecomment-1288954583

   Let's merge this patch to unblock ci.


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] pkarashchenko commented on pull request #7409: boards/arm/gcc: disable coverage analysis temporarily

Posted by GitBox <gi...@apache.org>.
pkarashchenko commented on PR #7409:
URL: https://github.com/apache/incubator-nuttx/pull/7409#issuecomment-1288482951

   Anyway I still think that we are too fast with toolchain upgrade, but I'm more conservative. Do we have a significant gain in optimisation with new compiler? Or what is the rush here?


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] anchao commented on pull request #7409: boards/arm/gcc: disable coverage analysis temporarily

Posted by GitBox <gi...@apache.org>.
anchao commented on PR #7409:
URL: https://github.com/apache/incubator-nuttx/pull/7409#issuecomment-1288723427

   > Anyway I still think that we are too fast with toolchain upgrade, but I'm more conservative. Do we have a significant gain in optimisation with new compiler? Or what is the rush here?
   
   The new toolchain adds more static analyzer on compile stage, which will helpful for code quality:
   https://gcc.gnu.org/gcc-11/changes.html
   ![img_v2_5edc10d7-b3cb-4363-ac37-4cebf16c548l](https://user-images.githubusercontent.com/758493/197493338-449fdfe6-1324-46e8-8d44-6859a8af9507.png)
   
   For example:
   
   ```
       if (focus != NULL) {
           nxipc_client_disconnect(focus->send_proxy);
           nxipc_sub_disconnect(focus->receive_proxy);
           free((void*)focus->name);
           free((void*)focus);
           pthread_mutex_destroy(&focus->mutex);   <--  use-after-free
       }
   ```
   
   build will break on gcc-11.3  ([-Werror=use-after-free])
   ```
   ../common/src/client/app_focus_c.c: In function 'app_focus_release':
   ../common/src/client/app_focus_c.c:157:9: error: pointer 'handle' used after 'free' [-Werror=use-after-free]
     157 |         pthread_mutex_destroy(&focus->mutex);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   ../common/src/client/app_focus_c.c:156:9: note: call to 'free' here
     156 |         free((void*)focus);
         |         ^~~~~~~~~~~~~~~~~~
   
   ```
   
   


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 merged pull request #7409: boards/arm/gcc: disable coverage analysis temporarily

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 merged PR #7409:
URL: https://github.com/apache/incubator-nuttx/pull/7409


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org