zephyriot / zephyr-issues

0 stars 0 forks source link

Build warnings [-Wpointer-sign] with LLVM/icx (tests/net/ieee802154/crypto) #1997

Open nashif opened 7 years ago

nashif commented 7 years ago

Reported by rahul kumar:

Test case with build warnings raised from LLVM/icx:tests/net/ieee802154/crypto

/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
/home/vikram/Project/zephyr/subsys/net/ip/net_core.c:167:34: warning:
      passing 'char [1500]' to parameter of type 'unsigned char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                net_analyze_stack("RX thread", rx_stack, sizeof(rx_stack));
                                               ^~~~~~~~
/home/vikram/Project/zephyr/include/net/net_core.h:149:25: note: passing
      argument to parameter 'stack' here
                                     unsigned char *stack,
                                                    ^
2 warnings generated.
  CC      subsys/net/ip/net_if.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/net_if.c:16:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/net_context.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/net_context.c:23:
In file included from /home/vikram/Project/zephyr/include/net/net_pkt.h:24:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/net_pkt.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/net_pkt.c:26:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/utils.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/utils.c:24:
In file included from /home/vikram/Project/zephyr/include/net/net_pkt.h:24:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/l2/ieee802154/ieee802154.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/l2/ieee802154/ieee802154.c:12:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/l2/ieee802154/ieee802154_frame.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/l2/ieee802154/ieee802154_frame.c:23:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/l2/ieee802154/ieee802154_security.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/l2/ieee802154/ieee802154_security.c:13:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/l2/ieee802154/ieee802154_mgmt.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/l2/ieee802154/ieee802154_mgmt.c:12:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/l2/ieee802154/ieee802154_shell.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/l2/ieee802154/ieee802154_shell.c:17:
In file included from /home/vikram/Project/zephyr/include/net/net_if.h:24:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/l2/ieee802154/ieee802154_radio_csma_ca.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/l2/ieee802154/ieee802154_radio_csma_ca.c:12:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/l2/ieee802154/ieee802154_fragment.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/l2/ieee802154/ieee802154_fragment.c:17:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  LD      subsys/net/ip/l2/ieee802154/built-in.o
  LD      subsys/net/ip/l2/built-in.o
  CC      subsys/net/ip/icmpv6.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/icmpv6.c:19:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/nbr.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/nbr.c:16:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/ipv6.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/ipv6.c:22:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/6lo.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/6lo.c:17:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/route.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/route.c:22:
In file included from /home/vikram/Project/zephyr/include/net/net_pkt.h:24:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/net_mgmt.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/net_mgmt.c:18:
In file included from /home/vikram/Project/zephyr/include/net/net_mgmt.h:22:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
1 warning generated.
  CC      subsys/net/ip/net_stats.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/net_stats.c:16:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
  CC      subsys/net/ip/connection.o
In file included from /home/vikram/Project/zephyr/subsys/net/ip/connection.c:19:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
In file included from /home/vikram/Project/zephyr/drivers/ieee802154/ieee802154_cc2520.c:21:
In file included from /home/vikram/Project/zephyr/include/net/net_if.h:24:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
                                                        ^
1 warning generated.
In file included from /home/vikram/Project/zephyr/tests/net/ieee802154/crypto/src/ieee802154_crypto_test.c:16:
/home/vikram/Project/zephyr/include/net/net_core.h:142:35: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
        *unused = stack_unused_space_get(stack, size);
                                         ^~~~~
/home/vikram/Project/zephyr/include/misc/stack.h:15:57: note: passing
      argument to parameter 'stack' here
static inline size_t stack_unused_space_get(const char *stack, size_t size)
1 warning generated.

How to setup llvm/icx

update the icx compiler with 0214 build from ISSM team

source /linux_prod/linux/bin/xcompilervars_arch.sh ia32 mcu

cd zephyr

source zephyr-env.sh

export ISSM_INSTALLATION_PATH=/issm_2016.1.057

export ZEPHYR_GCC_VARIANT=issm

How-to-reproduce:

cd tests/net/ieee802154/crypto

make pristine

make BOARD=quark_se_c1000_devboard CC=icx

Expected result : Build should pass without any warning or error.

Actual result : Observed build warnings.

Attached captured compilation log.

(Imported from Jira ZEP-2158)

nashif commented 7 years ago

by rahul kumar:

nashif commented 7 years ago

by Tomasz Bursztyka:

That does not seem to reproduce, since NET_STACK_DEFINE() uses properly K_THREAD_STACK_DEFINE().