From 07d401c20015002b41d9b3d01a30e37c09be4f83 Mon Sep 17 00:00:00 2001 From: Winter Wang Date: Fri, 14 Oct 2016 20:01:10 +0800 Subject: MA-8986-2 libavb: fix build libavb use gun99, add sysdeps for uboot env. Signed-off-by: Winter Wang --- lib/libavb/Makefile | 4 +-- lib/libavb/avb_sysdeps.h | 5 +--- lib/libavb/avb_sysdeps_posix.c | 66 ------------------------------------------ lib/libavb/avb_sysdeps_uboot.c | 64 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 72 deletions(-) delete mode 100644 lib/libavb/avb_sysdeps_posix.c create mode 100644 lib/libavb/avb_sysdeps_uboot.c diff --git a/lib/libavb/Makefile b/lib/libavb/Makefile index 7d3c219..98ec9f3 100644 --- a/lib/libavb/Makefile +++ b/lib/libavb/Makefile @@ -9,7 +9,7 @@ ccflags-y += -D_FILE_OFFSET_BITS=64 \ -Wno-psabi \ -Wno-unused-parameter \ -ffunction-sections \ - -fstack-protector-strong + -std=gnu99 obj-y += avb_ab_flow.o \ avb_descriptor.o \ avb_kernel_cmdline_descriptor.o \ @@ -26,4 +26,4 @@ obj-y += avb_ab_flow.o \ avb_hashtree_descriptor.o \ avb_sha256.o \ avb_util.o \ - avb_sysdeps_posix.o + avb_sysdeps_uboot.o diff --git a/lib/libavb/avb_sysdeps.h b/lib/libavb/avb_sysdeps.h index 98cbb4a..7fe9d06 100644 --- a/lib/libavb/avb_sysdeps.h +++ b/lib/libavb/avb_sysdeps.h @@ -38,11 +38,8 @@ extern "C" { * like uint8_t, uint64_t, and bool (with |false|, |true| keywords) * must be present. */ +#include #include -#include -#include -#include - /* If you don't have gcc or clang, these attribute macros may need to * be adjusted. */ diff --git a/lib/libavb/avb_sysdeps_posix.c b/lib/libavb/avb_sysdeps_posix.c deleted file mode 100644 index 39cd7db..0000000 --- a/lib/libavb/avb_sysdeps_posix.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include -#include -#include -#include -#include - -#include "avb_sysdeps.h" - -int avb_memcmp(const void* src1, const void* src2, size_t n) { - return memcmp(src1, src2, n); -} - -void* avb_memcpy(void* dest, const void* src, size_t n) { - return memcpy(dest, src, n); -} - -void* avb_memset(void* dest, const int c, size_t n) { - return memset(dest, c, n); -} - -int avb_strcmp(const char* s1, const char* s2) { return strcmp(s1, s2); } - -size_t avb_strlen(const char* str) { return strlen(str); } - -void avb_abort(void) { abort(); } - -void avb_print(const char* message) { fprintf(stderr, "%s", message); } - -void avb_printv(const char* message, ...) { - va_list ap; - const char* m; - - va_start(ap, message); - for (m = message; m != NULL; m = va_arg(ap, const char*)) { - fprintf(stderr, "%s", m); - } - va_end(ap); -} - -void* avb_malloc_(size_t size) { return malloc(size); } - -void avb_free(void* ptr) { free(ptr); } diff --git a/lib/libavb/avb_sysdeps_uboot.c b/lib/libavb/avb_sysdeps_uboot.c new file mode 100644 index 0000000..be5c1d2 --- /dev/null +++ b/lib/libavb/avb_sysdeps_uboot.c @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include +#include + +#include "avb_sysdeps.h" + +int avb_memcmp(const void* src1, const void* src2, size_t n) { + return memcmp(src1, src2, n); +} + +void* avb_memcpy(void* dest, const void* src, size_t n) { + return memcpy(dest, src, n); +} + +void* avb_memset(void* dest, const int c, size_t n) { + return memset(dest, c, n); +} + +int avb_strcmp(const char* s1, const char* s2) { return strcmp(s1, s2); } + +size_t avb_strlen(const char* str) { return strlen(str); } + +void avb_abort(void) { panic("avb_abort!\n"); } + +void avb_print(const char* message) { printf("%s", message); } + +void avb_printv(const char* message, ...) { + va_list ap; + const char* m; + + va_start(ap, message); + for (m = message; m != NULL; m = va_arg(ap, const char*)) { + printf("%s", m); + } + va_end(ap); +} + +void* avb_malloc_(size_t size) { return malloc(size); } + +void avb_free(void* ptr) { free(ptr); } -- cgit v1.1