From: kernel test robot <lkp@intel.com>
To: cros-kernel-buildreports@googlegroups.com
Cc: oe-kbuild-all@lists.linux.dev
Subject: [android-common:android15-6.6 4/7] fs/binfmt_elf.c:2076:undefined reference to `__moddi3'
Date: Sat, 4 May 2024 18:01:29 +0800 [thread overview]
Message-ID: <202405041709.c4CoMBKy-lkp@intel.com> (raw)
tree: https://android.googlesource.com/kernel/common android15-6.6
head: dff0b2a11db218e801cb09da1e163353a921d709
commit: 65e40fb8a142b422473deec3b66644df8bd4d876 [4/7] ANDROID: 16K: x86_64: Set ELF_EXEC_PAGESIZE to __PAGE_SIZE
config: i386-randconfig-006-20240504 (https://download.01.org/0day-ci/archive/20240504/202405041709.c4CoMBKy-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240504/202405041709.c4CoMBKy-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405041709.c4CoMBKy-lkp@intel.com/
All errors (new ones prefixed by >>):
ld: fs/binfmt_elf.o: in function `elf_core_dump':
>> fs/binfmt_elf.c:2076:(.text+0x31bd): undefined reference to `__moddi3'
vim +2076 fs/binfmt_elf.c
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2015
^1da177e4c3f41 Linus Torvalds 2005-04-16 2016 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 2017 * Actual dumper
^1da177e4c3f41 Linus Torvalds 2005-04-16 2018 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 2019 * This is a two-pass process; first we find the offsets of the bits,
^1da177e4c3f41 Linus Torvalds 2005-04-16 2020 * and then they are actually written out. If we run out of core limit
^1da177e4c3f41 Linus Torvalds 2005-04-16 2021 * we just truncate.
^1da177e4c3f41 Linus Torvalds 2005-04-16 2022 */
f6151dfea21496 Masami Hiramatsu 2009-12-17 2023 static int elf_core_dump(struct coredump_params *cprm)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2024 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2025 int has_dumped = 0;
95c5436a488384 Eric W. Biederman 2022-03-08 2026 int segs, i;
225a3f53e7fc7a Alexey Dobriyan 2020-01-30 2027 struct elfhdr elf;
cdc3d5627d5f7c Al Viro 2013-10-05 2028 loff_t offset = 0, dataoff;
72023656961b8c Dan Aloni 2013-09-30 2029 struct elf_note_info info = { };
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2030 struct elf_phdr *phdr4note = NULL;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2031 struct elf_shdr *shdr4extnum = NULL;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2032 Elf_Half e_phnum;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2033 elf_addr_t e_shoff;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2034
341c87bf346f57 KAMEZAWA Hiroyuki 2009-06-30 2035 /*
341c87bf346f57 KAMEZAWA Hiroyuki 2009-06-30 2036 * The number of segs are recored into ELF header as 16bit value.
341c87bf346f57 KAMEZAWA Hiroyuki 2009-06-30 2037 * Please check DEFAULT_MAX_MAP_COUNT definition when you modify here.
341c87bf346f57 KAMEZAWA Hiroyuki 2009-06-30 2038 */
19e183b54528f1 Catalin Marinas 2022-12-22 2039 segs = cprm->vma_count + elf_core_extra_phdrs(cprm);
f47aef55d9a189 Roland McGrath 2007-01-26 2040
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2041 /* for notes section */
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2042 segs++;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2043
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2044 /* If segs > PN_XNUM(0xffff), then e_phnum overflows. To avoid
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2045 * this, kernel supports extended numbering. Have a look at
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2046 * include/linux/elf.h for further information. */
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2047 e_phnum = segs > PN_XNUM ? PN_XNUM : segs;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2048
^1da177e4c3f41 Linus Torvalds 2005-04-16 2049 /*
3aba481fc94d83 Roland McGrath 2008-01-30 2050 * Collect all the non-memory information about the process for the
3aba481fc94d83 Roland McGrath 2008-01-30 2051 * notes. This also sets up the file header.
^1da177e4c3f41 Linus Torvalds 2005-04-16 2052 */
9ec7d3230717b4 Eric W. Biederman 2022-01-31 2053 if (!fill_note_info(&elf, e_phnum, &info, cprm))
d2530b436f114d Christoph Hellwig 2020-05-05 2054 goto end_coredump;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2055
3aba481fc94d83 Roland McGrath 2008-01-30 2056 has_dumped = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2057
70e79866ab36fe Alexey Dobriyan 2023-02-28 2058 offset += sizeof(elf); /* ELF header */
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2059 offset += segs * sizeof(struct elf_phdr); /* Program headers */
^1da177e4c3f41 Linus Torvalds 2005-04-16 2060
^1da177e4c3f41 Linus Torvalds 2005-04-16 2061 /* Write notes phdr entry */
^1da177e4c3f41 Linus Torvalds 2005-04-16 2062 {
38ba2f11d9ce0e Al Viro 2022-09-04 2063 size_t sz = info.size;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2064
c39ab6de227306 Eric W. Biederman 2020-11-25 2065 /* For cell spufs */
e55014923e65e4 Michael Ellerman 2007-09-19 2066 sz += elf_coredump_extra_notes_size();
bf1ab978be2318 Dwayne Grant McConnell 2006-11-23 2067
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2068 phdr4note = kmalloc(sizeof(*phdr4note), GFP_KERNEL);
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2069 if (!phdr4note)
088e7af73a962f Daisuke HATAYAMA 2010-03-05 2070 goto end_coredump;
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2071
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2072 fill_elf_note_phdr(phdr4note, sz, offset);
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2073 offset += sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2074 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2075
^1da177e4c3f41 Linus Torvalds 2005-04-16 @2076 dataoff = offset = roundup(offset, ELF_EXEC_PAGESIZE);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2077
95c5436a488384 Eric W. Biederman 2022-03-08 2078 offset += cprm->vma_data_size;
19e183b54528f1 Catalin Marinas 2022-12-22 2079 offset += elf_core_extra_data_size(cprm);
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2080 e_shoff = offset;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2081
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2082 if (e_phnum == PN_XNUM) {
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2083 shdr4extnum = kmalloc(sizeof(*shdr4extnum), GFP_KERNEL);
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2084 if (!shdr4extnum)
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2085 goto end_coredump;
225a3f53e7fc7a Alexey Dobriyan 2020-01-30 2086 fill_extnum_info(&elf, shdr4extnum, e_shoff, segs);
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2087 }
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2088
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2089 offset = dataoff;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2090
225a3f53e7fc7a Alexey Dobriyan 2020-01-30 2091 if (!dump_emit(cprm, &elf, sizeof(elf)))
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2092 goto end_coredump;
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2093
ecc8c7725e6c21 Al Viro 2013-10-05 2094 if (!dump_emit(cprm, phdr4note, sizeof(*phdr4note)))
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2095 goto end_coredump;
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2096
^1da177e4c3f41 Linus Torvalds 2005-04-16 2097 /* Write program headers for segments dump */
95c5436a488384 Eric W. Biederman 2022-03-08 2098 for (i = 0; i < cprm->vma_count; i++) {
95c5436a488384 Eric W. Biederman 2022-03-08 2099 struct core_vma_metadata *meta = cprm->vma_meta + i;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2100 struct elf_phdr phdr;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2101
^1da177e4c3f41 Linus Torvalds 2005-04-16 2102 phdr.p_type = PT_LOAD;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2103 phdr.p_offset = offset;
a07279c9a8cd7d Jann Horn 2020-10-15 2104 phdr.p_vaddr = meta->start;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2105 phdr.p_paddr = 0;
a07279c9a8cd7d Jann Horn 2020-10-15 2106 phdr.p_filesz = meta->dump_size;
a07279c9a8cd7d Jann Horn 2020-10-15 2107 phdr.p_memsz = meta->end - meta->start;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2108 offset += phdr.p_filesz;
a07279c9a8cd7d Jann Horn 2020-10-15 2109 phdr.p_flags = 0;
a07279c9a8cd7d Jann Horn 2020-10-15 2110 if (meta->flags & VM_READ)
a07279c9a8cd7d Jann Horn 2020-10-15 2111 phdr.p_flags |= PF_R;
a07279c9a8cd7d Jann Horn 2020-10-15 2112 if (meta->flags & VM_WRITE)
f4e5cc2c44bf76 Jesper Juhl 2006-06-23 2113 phdr.p_flags |= PF_W;
a07279c9a8cd7d Jann Horn 2020-10-15 2114 if (meta->flags & VM_EXEC)
f4e5cc2c44bf76 Jesper Juhl 2006-06-23 2115 phdr.p_flags |= PF_X;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2116 phdr.p_align = ELF_EXEC_PAGESIZE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2117
ecc8c7725e6c21 Al Viro 2013-10-05 2118 if (!dump_emit(cprm, &phdr, sizeof(phdr)))
088e7af73a962f Daisuke HATAYAMA 2010-03-05 2119 goto end_coredump;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2120 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2121
506f21c556c747 Al Viro 2013-10-05 2122 if (!elf_core_write_extra_phdrs(cprm, offset))
1fcccbac89f5bb Daisuke HATAYAMA 2010-03-05 2123 goto end_coredump;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2124
^1da177e4c3f41 Linus Torvalds 2005-04-16 2125 /* write out the notes section */
ecc8c7725e6c21 Al Viro 2013-10-05 2126 if (!write_note_info(&info, cprm))
^1da177e4c3f41 Linus Torvalds 2005-04-16 2127 goto end_coredump;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2128
c39ab6de227306 Eric W. Biederman 2020-11-25 2129 /* For cell spufs */
cdc3d5627d5f7c Al Viro 2013-10-05 2130 if (elf_coredump_extra_notes_write(cprm))
e55014923e65e4 Michael Ellerman 2007-09-19 2131 goto end_coredump;
bf1ab978be2318 Dwayne Grant McConnell 2006-11-23 2132
d025c9db7f31fc Andi Kleen 2006-09-30 2133 /* Align to page */
d0f1088b31db2d Al Viro 2020-03-08 2134 dump_skip_to(cprm, dataoff);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2135
95c5436a488384 Eric W. Biederman 2022-03-08 2136 for (i = 0; i < cprm->vma_count; i++) {
95c5436a488384 Eric W. Biederman 2022-03-08 2137 struct core_vma_metadata *meta = cprm->vma_meta + i;
a07279c9a8cd7d Jann Horn 2020-10-15 2138
a07279c9a8cd7d Jann Horn 2020-10-15 2139 if (!dump_user_range(cprm, meta->start, meta->dump_size))
^1da177e4c3f41 Linus Torvalds 2005-04-16 2140 goto end_coredump;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2141 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2142
aa3e7eaf0a0f06 Al Viro 2013-10-05 2143 if (!elf_core_write_extra_data(cprm))
1fcccbac89f5bb Daisuke HATAYAMA 2010-03-05 2144 goto end_coredump;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2145
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2146 if (e_phnum == PN_XNUM) {
13046ece9625f9 Al Viro 2013-10-05 2147 if (!dump_emit(cprm, shdr4extnum, sizeof(*shdr4extnum)))
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2148 goto end_coredump;
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2149 }
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2150
^1da177e4c3f41 Linus Torvalds 2005-04-16 2151 end_coredump:
3aba481fc94d83 Roland McGrath 2008-01-30 2152 free_note_info(&info);
8d9032bbe4671d Daisuke HATAYAMA 2010-03-05 2153 kfree(shdr4extnum);
93eb211e6c9ff6 Daisuke HATAYAMA 2010-03-05 2154 kfree(phdr4note);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2155 return has_dumped;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2156 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2157
:::::: The code at line 2076 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2024-05-04 10:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-04 10:01 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-03-08 18:02 [android-common:android15-6.6 4/7] fs/binfmt_elf.c:2076: undefined reference to `__moddi3' kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202405041709.c4CoMBKy-lkp@intel.com \
--to=lkp@intel.com \
--cc=cros-kernel-buildreports@googlegroups.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.