838dbacbfd
Yes, `od -t d8 /proc/self/auxv` is clever: ``` $ adb shell od -t d8 /proc/self/auxv 0000000 33 488593047552 0000020 51 4720 0000040 16 1155071 0000060 6 4096 0000100 17 100 0000120 3 375971917888 0000140 4 56 0000160 5 12 0000200 7 488593051648 0000220 8 0 0000240 9 375972184064 0000260 11 0 0000300 12 0 0000320 13 0 0000340 14 0 0000360 23 0 0000400 25 549220780840 0000420 26 0 0000440 31 549220786153 0000460 15 549220780856 0000500 0 0 0000520 $ ``` But this is a lot easier to read: ``` $ adb shell LD_SHOW_AUXV=1 date AT_SYSINFO_EHDR 0x7065010000 AT_MINSIGSTKSZ 4720 AT_HWCAP 0b100011001111111111111 AT_PAGESZ 4096 AT_CLKTCK 100 AT_PHDR 0x5c79d60040 AT_PHENT 56 AT_PHNUM 12 AT_BASE 0x7065011000 AT_FLAGS 0 AT_ENTRY 0x5c79da1000 AT_UID 0 AT_EUID 0 AT_GID 0 AT_EGID 0 AT_SECURE 0 AT_RANDOM 0x7ff814eb98 AT_HWCAP2 0 AT_EXECFN "/system/bin/date" AT_PLATFORM "aarch64" Tue Aug 22 20:43:22 GMT 2023 ``` Test: adb shell LD_SHOW_AUXV=1 date Change-Id: I51c4e8cbb799eb1dc360c9417cc6f82bebdcda73
34 lines
1.5 KiB
C
34 lines
1.5 KiB
C
/*
|
|
* Copyright (C) 2023 The Android Open Source Project
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* * Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in
|
|
* the documentation and/or other materials provided with the
|
|
* distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <elf.h>
|
|
#include <link.h>
|
|
|
|
void ld_show_auxv(ElfW(auxv_t)* auxv);
|