OSDN Git Service

Enable exporting the non-uapi scsi headers.
authorElliott Hughes <enh@google.com>
Fri, 26 May 2017 00:13:32 +0000 (17:13 -0700)
committerElliott Hughes <enh@google.com>
Fri, 26 May 2017 02:17:55 +0000 (19:17 -0700)
Callers are supposed to #include <scsi/sg.h> but if we tell soong to add
bionic/libc/kernel/android/ to the include path, the uapi headers in there
would be (unintentionally) accessible as either <linux/name.h> or
<uapi/linux/name.h>.

Bug: N/A (hit while upgrading strace to 4.17)
Test: builds
Change-Id: I8d47dd51da688c38f747a255d401dfb2c209c805

libc/Android.bp
libc/kernel/android/scsi/scsi/scsi.h [moved from libc/kernel/android/scsi/scsi.h with 100% similarity]
libc/kernel/android/scsi/scsi/scsi_ioctl.h [moved from libc/kernel/android/scsi/scsi_ioctl.h with 100% similarity]
libc/kernel/android/scsi/scsi/scsi_proto.h [moved from libc/kernel/android/scsi/scsi_proto.h with 100% similarity]
libc/kernel/android/scsi/scsi/sg.h [moved from libc/kernel/android/scsi/sg.h with 100% similarity]
libc/kernel/tools/update_all.py
tests/Android.bp
tests/scsi_sg_test.cpp [new file with mode: 0644]

index cda9eaa..5a1c287 100644 (file)
@@ -2097,7 +2097,7 @@ ndk_headers {
 
 ndk_headers {
     name: "libc_kernel_android_scsi",
-    from: "kernel/android/scsi",
+    from: "kernel/android/scsi/scsi",
     to: "scsi",
     srcs: ["kernel/android/scsi/**/*.h"],
     license: "NOTICE",
index e5a07f8..0f30ecd 100755 (executable)
@@ -95,6 +95,6 @@ updater = BatchFileUpdater()
 processFiles(updater, original_dir, modified_dir, "uapi", "uapi"),
 
 # Now process the special files.
-processFiles(updater, original_dir, modified_dir, "scsi", os.path.join("android", "scsi"))
+processFiles(updater, original_dir, modified_dir, "scsi", os.path.join("android", "scsi", "scsi"))
 
 updater.updateGitFiles()
index 4605267..a03f1a6 100644 (file)
@@ -91,6 +91,7 @@ cc_test_library {
         "regex_test.cpp",
         "resolv_test.cpp",
         "sched_test.cpp",
+        "scsi_sg_test.cpp",
         "search_test.cpp",
         "semaphore_test.cpp",
         "setjmp_test.cpp",
diff --git a/tests/scsi_sg_test.cpp b/tests/scsi_sg_test.cpp
new file mode 100644 (file)
index 0000000..d1774ae
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This test is just "does it compile?" because the scsi headers come from a special set.
+#include <sys/types.h>
+#include <scsi/sg.h>