#3626 closed defect (fixed)

sigtimedwait() needed when POSIX is disabled

Reported by: Joel Sherrill Owned by: Sebastian Huber
Priority: high Milestone: 5.1
Component: posix Version: 5
Severity: blocker Keywords:
Cc: Blocked By:
Blocking:

Description

When POSIX is disabled, psxmsgq01 does not link. Should we enable sigtimedwait() when POSIX is disabled or disable this test?

/data/home/joel/rtems-work/tools/5/bin/../lib/gcc/powerpc-rtems5/7.3.0/../../../../powerpc-rtems5/bin/ld: psxmsgq01/psxmsgq01-init.o: in function `wait_for_signal':
/home/joel/rtems-work/rtems-testing/rtems/build-powerpc-ss555-rtems/powerpc-rtems5/c/ss555/testsuites/psxtests/../../../../../../rtems/c/src/../../testsuites/psxtests/psxmsgq01/init.c:932: undefined reference to `sigtimedwait'

Change History (4)

comment:1 Changed on Nov 28, 2018 at 6:15:05 AM by Sebastian Huber

I would not enable signals by default. The signal implementation in RTEMS is quite bad.

#2263
#2607
#2690
#2716

The test should be only enabled if the POSIX API is enabled.

comment:2 Changed on Nov 29, 2018 at 10:35:32 PM by Joel Sherrill

This is weirder than it seems. Only these BSPs fail to build:

m68k-mcf5206elite
m68k-mcf52235
m68k-mrm332
moxie-moxiesim
powerpc-haleakala
powerpc-mpc8260ads
powerpc-qemuppc
powerpc-qoriq_e6500_64
powerpc-ss555

I have built every BSP and those fail. Why only those?

And I don't disagree about no signals with POSIX is disabled. But you can't disable the entirety of psxmsgq01. It tests a lot more than just mq_notify().

comment:3 Changed on Nov 29, 2018 at 11:40:03 PM by Joel Sherrill

Looks like not enough is disabled based on POSIX API being unavailable. I have ss555 building and will build all overnight to see if that resolves it. ss555 does have a gcc option for no-inline set. I wonder if the others do also. Maybe a weird optimization difference leaving the method in

comment:4 Changed on Nov 30, 2018 at 2:37:09 PM by Joel Sherrill <joel@…>

Resolution: fixed
Status: assignedclosed

In e54a266e/rtems:

psxmsgq01/init.c: Disable signal usage when POSIX disabled

closes #3626.

Note: See TracTickets for help on using tickets.