Skip to contentSkip to conversation

openposix: Remove _XOPEN_SOURCE in strchr/strcpy/strncpy

PATCH New Xiao Yang 4 participants 4 messages Dec 6, 2018 – Dec 9, 2018

lore
Share & tools
lore

Xiao Yang

author
#0 lore raw

PATCH 1/1 openposix: Remove _XOPEN_SOURCE in strchr/strcpy/strncpy

We have defined _XOPEN_SOURCE to 600 by gcc -D in open_posix_testsuite/CFLAGS, So defining _XOPEN_SOURCE to different value in test results in a "_XOPEN_SOURCE redefined" warning.

It seems that all of tests get pass even if _XOPEN_SOURCE is defined to 600 by default, so remove the duplicate _XOPEN_SOURCE in test.

---
 testcases/open_posix_testsuite/conformance/interfaces/strchr/1-1.c  | 1 -
 testcases/open_posix_testsuite/conformance/interfaces/strcpy/1-1.c  | 1 -
 testcases/open_posix_testsuite/conformance/interfaces/strncpy/1-1.c | 1 -
 testcases/open_posix_testsuite/conformance/interfaces/strncpy/2-1.c | 1 -
 4 files changed, 4 deletions(-)
testcases/open_posix_testsuite/conformance/interfaces/strchr/1-1.c +0 -1
index 95eda79..611a64d 100644
@@ -25,7 +25,6 @@
  *	-Repeat the above all steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strcpy/1-1.c +0 -1
index 2fdc002..adfbfc3 100644
@@ -17,7 +17,6 @@
  *  -Also compare returned pointer with s2.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strncpy/1-1.c +0 -1
index 3458015..396bd60 100644
@@ -20,7 +20,6 @@
  *  -Repeat the above steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strncpy/2-1.c +0 -1
index a7761c5..2a20872 100644
@@ -20,7 +20,6 @@
  *  -Repeat the above steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
Signature · 1 line
1.8.3.1
#2 lore raw

PATCH 1/1 openposix: Remove _XOPEN_SOURCE in strchr/strcpy/strncpy

In reply to Xiao Yang

Hi Xiao,

Quoted 6 lines

We have defined _XOPEN_SOURCE to 600 by gcc -D in open_posix_testsuite/CFLAGS, So defining _XOPEN_SOURCE to different value in test results in a "_XOPEN_SOURCE redefined" warning.

It seems that all of tests get pass even if _XOPEN_SOURCE is defined to 600 by default, so remove the duplicate _XOPEN_SOURCE in test.

FYI I also mentioned it in https://github.com/linux-test-project/ltp/pull/423
but it was ignored.
This is a side effect, that we use mailing list and github pull requests.

I guess _XOPEN_SOURCE 600 is ok.
If _XOPEN_SOURCE 700 is really needed, we can use:
#ifdef _XOPEN_SOURCE
#undef _XOPEN_SOURCE
#endif
#define _XOPEN_SOURCE 700

Kind regards,
Petr

Quoted 58 lines

---

 testcases/open_posix_testsuite/conformance/interfaces/strchr/1-1.c  | 1 -
 testcases/open_posix_testsuite/conformance/interfaces/strcpy/1-1.c  | 1 -
 testcases/open_posix_testsuite/conformance/interfaces/strncpy/1-1.c | 1 -
 testcases/open_posix_testsuite/conformance/interfaces/strncpy/2-1.c | 1 -
 4 files changed, 4 deletions(-)
testcases/open_posix_testsuite/conformance/interfaces/strchr/1-1.c +0 -1
index 95eda79..611a64d 100644
@@ -25,7 +25,6 @@
  *	-Repeat the above all steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strcpy/1-1.c +0 -1
index 2fdc002..adfbfc3 100644
@@ -17,7 +17,6 @@
  *  -Also compare returned pointer with s2.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strncpy/1-1.c +0 -1
index 3458015..396bd60 100644
@@ -20,7 +20,6 @@
  *  -Repeat the above steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strncpy/2-1.c +0 -1
index a7761c5..2a20872 100644
@@ -20,7 +20,6 @@
  *  -Repeat the above steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
#3 lore raw

PATCH 1/1 openposix: Remove _XOPEN_SOURCE in strchr/strcpy/strncpy

All,
I think we should try moving forward to 700. Staying at 600 doesn’t really buy us much in the longterm (it’s testing the 2001 POSIX spec), and the underlying implementation likely supports both—unless the implementers were pedantic, and anecdotally this hasn’t been the general case in GNU/Linux, compared to *BSD. Thank you Xiao for pointing this out. I misunderstood what you meant in the PR.
I’ll push for removing the _XOPEN_SOURCE #defines and bumping the version to 700.
Thank you!
-Enji

Quoted 22 lines · Petr Vorel

Hi Xiao,

Quoted 6 lines

We have defined _XOPEN_SOURCE to 600 by gcc -D in open_posix_testsuite/CFLAGS, So defining _XOPEN_SOURCE to different value in test results in a "_XOPEN_SOURCE redefined" warning.

It seems that all of tests get pass even if _XOPEN_SOURCE is defined to 600 by default, so remove the duplicate _XOPEN_SOURCE in test.

FYI I also mentioned it in https://github.com/linux-test-project/ltp/pull/423
but it was ignored.
This is a side effect, that we use mailing list and github pull requests.

I guess _XOPEN_SOURCE 600 is ok.
If _XOPEN_SOURCE 700 is really needed, we can use:
#ifdef _XOPEN_SOURCE
#undef _XOPEN_SOURCE
#endif
#define _XOPEN_SOURCE 700

Quoted 61 lines

Kind regards,
Petr

Quoted 58 lines

---

testcases/open_posix_testsuite/conformance/interfaces/strchr/1-1.c  | 1 -
testcases/open_posix_testsuite/conformance/interfaces/strcpy/1-1.c  | 1 -
testcases/open_posix_testsuite/conformance/interfaces/strncpy/1-1.c | 1 -
testcases/open_posix_testsuite/conformance/interfaces/strncpy/2-1.c | 1 -
4 files changed, 4 deletions(-)
testcases/open_posix_testsuite/conformance/interfaces/strchr/1-1.c +0 -1
index 95eda79..611a64d 100644
@@ -25,7 +25,6 @@
 *	-Repeat the above all steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strcpy/1-1.c +0 -1
index 2fdc002..adfbfc3 100644
@@ -17,7 +17,6 @@
 *  -Also compare returned pointer with s2.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strncpy/1-1.c +0 -1
index 3458015..396bd60 100644
@@ -20,7 +20,6 @@
 *  -Repeat the above steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
testcases/open_posix_testsuite/conformance/interfaces/strncpy/2-1.c +0 -1
index a7761c5..2a20872 100644
@@ -20,7 +20,6 @@
 *  -Repeat the above steps for given number of iterations.
 */
 
-#define _XOPEN_SOURCE 700
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.linux.it/pipermail/ltp/attachments/20181209/8ef721c8/attachment.sig>