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 2020/04/11 17:22:51 UTC
[GitHub] [incubator-nuttx] patacongo opened a new pull request #766: Remove
CONFIG_CAN_PASS_STRUCT
patacongo opened a new pull request #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766
This commit resolves issue #620
Remove CONFIG_CAN_PASS_STRUCTS #620
The configuration option CONFIG_CAN_PASS_STRUCTS was added many years ago to support an old version of the SDCC compiler. That compiler is currently used only with the Z80 and Z180 targets. The limitation of that old compiler was that it could not pass structures or unions as either inputs or outputs. For example:
#ifdef CONFIG_CAN_PASS_STRUCTS
struct mallinfo mallinfo(void);
#else
int mallinfo(FAR struct mallinfo *info);
#endif
And even leads to violation of a few POSIX interfaces like:
#ifdef CONFIG_CAN_PASS_STRUCTS
int sigqueue(int pid, int signo, union sigval value);
#else
int sigqueue(int pid, int signo, FAR void *sival_ptr);
#endif
This breaks the 1st INVIOLABLES rule:
Strict POSIX compliance
-----------------------
o Strict conformance to the portable standard OS interface as defined at
OpenGroup.org.
o A deeply embedded system requires some special support. Special
support must be minimized.
o The portable interface must never be compromised only for the sake of
expediency.
o Expediency or even improved performance are not justifications for
violation of the strict POSIX interface
Also, it appears that the current SDCC compilers have resolve this issue and so, perhaps, this is no longer a problem: z88dk/z88dk#1132
NOTE: This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
[GitHub] [incubator-nuttx] patacongo commented on issue #766: Remove
CONFIG_CAN_PASS_STRUCT
Posted by GitBox <gi...@apache.org>.
patacongo commented on issue #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766#issuecomment-612475371
Merge-related notes:
1. This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory.
2. Numerous "Mixed case identifier" errors in arch/arm/src/cxd56xx/cxd56_gnss.c were not fixed because this problem is of much larger scope than this file.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
[GitHub] [incubator-nuttx] patacongo edited a comment on issue #766: Remove
CONFIG_CAN_PASS_STRUCT
Posted by GitBox <gi...@apache.org>.
patacongo edited a comment on issue #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766#issuecomment-612475371
Merge-related notes:
1. This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory. That is PR apps/ PR 170
NOTE: This PR depends apps PR 170, but apps PR 170 should not depend on this PR. Therefore the strategy here is (1) merge apps/ PR 170 first, then this PR should pass its checks (with the following exception).
2. Numerous "Mixed case identifier" errors in arch/arm/src/cxd56xx/cxd56_gnss.c were not fixed because this problem is of much larger scope than this file.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
[GitHub] [incubator-nuttx] Ouss4 merged pull request #766: Remove
CONFIG_CAN_PASS_STRUCT
Posted by GitBox <gi...@apache.org>.
Ouss4 merged pull request #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services