Merge "Pretend the <fts.h> functions didn't appear until 21."
diff --git a/libc/include/fts.h b/libc/include/fts.h
index 3649d3a..8658fab 100644
--- a/libc/include/fts.h
+++ b/libc/include/fts.h
@@ -116,11 +116,16 @@
__BEGIN_DECLS
-FTSENT* fts_children(FTS* __fts, int __options);
-int fts_close(FTS* __fts);
-FTS* fts_open(char* const* __path, int __options, int (*__comparator)(const FTSENT** __lhs, const FTSENT** __rhs));
-FTSENT* fts_read(FTS* __fts);
-int fts_set(FTS* __fts, FTSENT* __entry, int __options);
+/*
+ * Strictly these functions were available before Lollipop/21, but there was an accidental ABI
+ * breakage in 21 that means you can't write code that runs on current devices and pre-21 devices,
+ * so we break the tie in favor of current and future devices.
+ */
+FTSENT* fts_children(FTS* __fts, int __options) __INTRODUCED_IN(21);
+int fts_close(FTS* __fts) __INTRODUCED_IN(21);
+FTS* fts_open(char* const* __path, int __options, int (*__comparator)(const FTSENT** __lhs, const FTSENT** __rhs)) __INTRODUCED_IN(21);
+FTSENT* fts_read(FTS* __fts) __INTRODUCED_IN(21);
+int fts_set(FTS* __fts, FTSENT* __entry, int __options) __INTRODUCED_IN(21);
__END_DECLS
diff --git a/libc/libc.arm.map b/libc/libc.arm.map
index fe14018..31c2a53 100644
--- a/libc/libc.arm.map
+++ b/libc/libc.arm.map
@@ -399,11 +399,11 @@
ftruncate;
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-mips=12 introduced-mips64=21 introduced-x86=12 introduced-x86_64=21
ftrylockfile;
- fts_children;
- fts_close;
- fts_open;
- fts_read;
- fts_set;
+ fts_children; # introduced=21
+ fts_close; # introduced=21
+ fts_open; # introduced=21
+ fts_read; # introduced=21
+ fts_set; # introduced=21
ftw; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
ftw64; # introduced=21
funlockfile;
diff --git a/libc/libc.arm64.map b/libc/libc.arm64.map
index 7088ada..6cc6d64 100644
--- a/libc/libc.arm64.map
+++ b/libc/libc.arm64.map
@@ -328,11 +328,11 @@
ftruncate;
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-mips=12 introduced-mips64=21 introduced-x86=12 introduced-x86_64=21
ftrylockfile;
- fts_children;
- fts_close;
- fts_open;
- fts_read;
- fts_set;
+ fts_children; # introduced=21
+ fts_close; # introduced=21
+ fts_open; # introduced=21
+ fts_read; # introduced=21
+ fts_set; # introduced=21
ftw; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
ftw64; # introduced=21
funlockfile;
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index afc1c86..5cbfaeb 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -401,11 +401,11 @@
ftruncate;
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-mips=12 introduced-mips64=21 introduced-x86=12 introduced-x86_64=21
ftrylockfile;
- fts_children;
- fts_close;
- fts_open;
- fts_read;
- fts_set;
+ fts_children; # introduced=21
+ fts_close; # introduced=21
+ fts_open; # introduced=21
+ fts_read; # introduced=21
+ fts_set; # introduced=21
ftw; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
ftw64; # introduced=21
funlockfile;
diff --git a/libc/libc.mips.map b/libc/libc.mips.map
index cb37ab2..34369ba 100644
--- a/libc/libc.mips.map
+++ b/libc/libc.mips.map
@@ -397,11 +397,11 @@
ftruncate;
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-mips=12 introduced-mips64=21 introduced-x86=12 introduced-x86_64=21
ftrylockfile;
- fts_children;
- fts_close;
- fts_open;
- fts_read;
- fts_set;
+ fts_children; # introduced=21
+ fts_close; # introduced=21
+ fts_open; # introduced=21
+ fts_read; # introduced=21
+ fts_set; # introduced=21
ftw; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
ftw64; # introduced=21
funlockfile;
diff --git a/libc/libc.mips64.map b/libc/libc.mips64.map
index 7088ada..6cc6d64 100644
--- a/libc/libc.mips64.map
+++ b/libc/libc.mips64.map
@@ -328,11 +328,11 @@
ftruncate;
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-mips=12 introduced-mips64=21 introduced-x86=12 introduced-x86_64=21
ftrylockfile;
- fts_children;
- fts_close;
- fts_open;
- fts_read;
- fts_set;
+ fts_children; # introduced=21
+ fts_close; # introduced=21
+ fts_open; # introduced=21
+ fts_read; # introduced=21
+ fts_set; # introduced=21
ftw; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
ftw64; # introduced=21
funlockfile;
diff --git a/libc/libc.x86.map b/libc/libc.x86.map
index 567a5bf..76dffa5 100644
--- a/libc/libc.x86.map
+++ b/libc/libc.x86.map
@@ -395,11 +395,11 @@
ftruncate;
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-mips=12 introduced-mips64=21 introduced-x86=12 introduced-x86_64=21
ftrylockfile;
- fts_children;
- fts_close;
- fts_open;
- fts_read;
- fts_set;
+ fts_children; # introduced=21
+ fts_close; # introduced=21
+ fts_open; # introduced=21
+ fts_read; # introduced=21
+ fts_set; # introduced=21
ftw; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
ftw64; # introduced=21
funlockfile;
diff --git a/libc/libc.x86_64.map b/libc/libc.x86_64.map
index 7088ada..6cc6d64 100644
--- a/libc/libc.x86_64.map
+++ b/libc/libc.x86_64.map
@@ -328,11 +328,11 @@
ftruncate;
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-mips=12 introduced-mips64=21 introduced-x86=12 introduced-x86_64=21
ftrylockfile;
- fts_children;
- fts_close;
- fts_open;
- fts_read;
- fts_set;
+ fts_children; # introduced=21
+ fts_close; # introduced=21
+ fts_open; # introduced=21
+ fts_read; # introduced=21
+ fts_set; # introduced=21
ftw; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
ftw64; # introduced=21
funlockfile;