diff options
-rwxr-xr-x[-rw-r--r--] | libc/kernel/common/media/msm_camera.h | 16 | ||||
-rw-r--r-- | libc/zoneinfo/zoneinfo.dat | bin | 169880 -> 168809 bytes | |||
-rw-r--r-- | libc/zoneinfo/zoneinfo.idx | bin | 29016 -> 29172 bytes | |||
-rw-r--r-- | libc/zoneinfo/zoneinfo.version | 2 | ||||
-rw-r--r-- | linker/linker.c | 7 | ||||
-rw-r--r-- | linker/linker.h | 13 |
6 files changed, 28 insertions, 10 deletions
diff --git a/libc/kernel/common/media/msm_camera.h b/libc/kernel/common/media/msm_camera.h index 93d1f06..cfcf759 100644..100755 --- a/libc/kernel/common/media/msm_camera.h +++ b/libc/kernel/common/media/msm_camera.h @@ -162,6 +162,10 @@ struct msm_camera_cfg_cmd { #define CMD_STATS_SKIN_BUF_RELEASE 32 #define UPDATE_STATS_INVALID 33 +#define CMD_AXI_CFG_SNAP_GEMINI 34 +#define CMD_AXI_CFG_SNAP 35 +#define CMD_AXI_CFG_PREVIEW 36 +#define CMD_AXI_CFG_VIDEO 37 struct msm_vfe_cfg_cmd { int cmd_type; @@ -188,7 +192,9 @@ struct camera_enable_cmd { #define MSM_PMEM_CS 11 #define MSM_PMEM_IHIST 12 #define MSM_PMEM_SKIN 13 -#define MSM_PMEM_MAX 14 +#define MSM_PMEM_VIDEO 14 +#define MSM_PMEM_PREVIEW 15 +#define MSM_PMEM_MAX 16 #define STAT_AEAW 0 #define STAT_AEC 1 @@ -228,8 +234,8 @@ struct outputCfg { #define OUTPUT_1 0 #define OUTPUT_2 1 -#define OUTPUT_1_AND_2 2 -#define OUTPUT_1_AND_3 3 +#define OUTPUT_1_AND_2 2 +#define OUTPUT_1_AND_3 3 #define CAMIF_TO_AXI_VIA_OUTPUT_2 4 #define OUTPUT_1_AND_CAMIF_TO_AXI_VIA_OUTPUT_2 5 #define OUTPUT_2_AND_CAMIF_TO_AXI_VIA_OUTPUT_1 6 @@ -238,6 +244,10 @@ struct outputCfg { #define MSM_FRAME_PREV_1 0 #define MSM_FRAME_PREV_2 1 #define MSM_FRAME_ENC 2 +#define OUTPUT_TYPE_P 1 +#define OUTPUT_TYPE_T 2 +#define OUTPUT_TYPE_S 3 +#define OUTPUT_TYPE_V 4 struct msm_frame { int path; diff --git a/libc/zoneinfo/zoneinfo.dat b/libc/zoneinfo/zoneinfo.dat Binary files differindex e5bf25a..c9f0b6f 100644 --- a/libc/zoneinfo/zoneinfo.dat +++ b/libc/zoneinfo/zoneinfo.dat diff --git a/libc/zoneinfo/zoneinfo.idx b/libc/zoneinfo/zoneinfo.idx Binary files differindex 78a3650..cb560db 100644 --- a/libc/zoneinfo/zoneinfo.idx +++ b/libc/zoneinfo/zoneinfo.idx diff --git a/libc/zoneinfo/zoneinfo.version b/libc/zoneinfo/zoneinfo.version index 289c5d1..57a3708 100644 --- a/libc/zoneinfo/zoneinfo.version +++ b/libc/zoneinfo/zoneinfo.version @@ -1 +1 @@ -2007h +2009s diff --git a/linker/linker.c b/linker/linker.c index 5090b11..80b5d00 100644 --- a/linker/linker.c +++ b/linker/linker.c @@ -1294,6 +1294,13 @@ static int reloc_library(soinfo *si, Elf32_Rel *rel, unsigned count) reloc, sym_addr, sym_name); *((unsigned*)reloc) += sym_addr; break; + case R_ARM_REL32: + COUNT_RELOC(RELOC_RELATIVE); + MARK(rel->r_offset); + TRACE_TYPE(RELO, "%5d RELO REL32 %08x <- %08x - %08x %s\n", pid, + reloc, sym_addr, rel->r_offset, sym_name); + *((unsigned*)reloc) += sym_addr - rel->r_offset; + break; #elif defined(ANDROID_X86_LINKER) case R_386_JUMP_SLOT: COUNT_RELOC(RELOC_ABSOLUTE); diff --git a/linker/linker.h b/linker/linker.h index 196a6f2..d334ece 100644 --- a/linker/linker.h +++ b/linker/linker.h @@ -159,6 +159,13 @@ extern soinfo libdl_info; #define R_ARM_JUMP_SLOT 22 #define R_ARM_RELATIVE 23 +/* According to the AAPCS specification, we only + * need the above relocations. However, in practice, + * the following ones turn up from time to time. + */ +#define R_ARM_ABS32 2 +#define R_ARM_REL32 3 + #elif defined(ANDROID_X86_LINKER) #define R_386_32 1 @@ -194,12 +201,6 @@ extern soinfo libdl_info; #define DT_PREINIT_ARRAYSZ 33 #endif -/* in theory we only need the above relative relocations, - but in practice the following one turns up from time - to time. fushigi na. -*/ -#define R_ARM_ABS32 2 - soinfo *find_library(const char *name); unsigned unload_library(soinfo *si); Elf32_Sym *lookup_in_library(soinfo *si, const char *name); |