arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'

From: kernel test robot
Date: Thu Aug 17 2023 - 04:52:31 EST


Hi Justin,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
commit: 788183a6e8b098b90e15214e800ae5194591018a docs: usb: fix literal block marker in usbmon verification example
date: 1 year, 2 months ago
config: powerpc-randconfig-r005-20230816 (https://download.01.org/0day-ci/archive/20230817/202308171639.9kwRxWZR-lkp@xxxxxxxxx/config)
compiler: powerpc-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230817/202308171639.9kwRxWZR-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308171639.9kwRxWZR-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.mpc8544ds has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.tqm8555 has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.mpc8555cds has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.mpc8572ds has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.mpc8560ads has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.tqm8548 has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.tqm8540 has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.tqm8541 has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.mpc8548cds_32b has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.mpc8541cds has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
--
powerpc-linux-ld: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-linux-ld: warning: arch/powerpc/boot/cuImage.mpc8568mds has a LOAD segment with RWX permissions
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:132: undefined reference to `__decompress'
..


vim +132 arch/powerpc/boot/decompress.c

1b7898ee276b39 Oliver O'Halloran 2016-09-22 97
1b7898ee276b39 Oliver O'Halloran 2016-09-22 98 /**
1b7898ee276b39 Oliver O'Halloran 2016-09-22 99 * partial_decompress - decompresses part or all of a compressed buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 100 * @inbuf: input buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 101 * @input_size: length of the input buffer
930a77c3ad79c3 Zhang Jianhua 2021-05-10 102 * @outbuf: output buffer
930a77c3ad79c3 Zhang Jianhua 2021-05-10 103 * @output_size: length of the output buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 104 * @skip number of output bytes to ignore
1b7898ee276b39 Oliver O'Halloran 2016-09-22 105 *
1b7898ee276b39 Oliver O'Halloran 2016-09-22 106 * This function takes compressed data from inbuf, decompresses and write it to
1b7898ee276b39 Oliver O'Halloran 2016-09-22 107 * outbuf. Once output_size bytes are written to the output buffer, or the
1b7898ee276b39 Oliver O'Halloran 2016-09-22 108 * stream is exhausted the function will return the number of bytes that were
1b7898ee276b39 Oliver O'Halloran 2016-09-22 109 * decompressed. Otherwise it will return whatever error code the decompressor
1b7898ee276b39 Oliver O'Halloran 2016-09-22 110 * reported (NB: This is specific to each decompressor type).
1b7898ee276b39 Oliver O'Halloran 2016-09-22 111 *
1b7898ee276b39 Oliver O'Halloran 2016-09-22 112 * The skip functionality is mainly there so the program and discover
1b7898ee276b39 Oliver O'Halloran 2016-09-22 113 * the size of the compressed image so that it can ask firmware (if present)
1b7898ee276b39 Oliver O'Halloran 2016-09-22 114 * for an appropriately sized buffer.
1b7898ee276b39 Oliver O'Halloran 2016-09-22 115 */
1b7898ee276b39 Oliver O'Halloran 2016-09-22 116 long partial_decompress(void *inbuf, unsigned long input_size,
1b7898ee276b39 Oliver O'Halloran 2016-09-22 117 void *outbuf, unsigned long output_size, unsigned long _skip)
1b7898ee276b39 Oliver O'Halloran 2016-09-22 118 {
1b7898ee276b39 Oliver O'Halloran 2016-09-22 119 int ret;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 120
1b7898ee276b39 Oliver O'Halloran 2016-09-22 121 /*
1b7898ee276b39 Oliver O'Halloran 2016-09-22 122 * The skipped bytes needs to be included in the size of data we want
1b7898ee276b39 Oliver O'Halloran 2016-09-22 123 * to decompress.
1b7898ee276b39 Oliver O'Halloran 2016-09-22 124 */
1b7898ee276b39 Oliver O'Halloran 2016-09-22 125 output_size += _skip;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 126
1b7898ee276b39 Oliver O'Halloran 2016-09-22 127 decompressed_bytes = 0;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 128 output_buffer = outbuf;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 129 limit = output_size;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 130 skip = _skip;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 131
1b7898ee276b39 Oliver O'Halloran 2016-09-22 @132 ret = __decompress(inbuf, input_size, NULL, flush, outbuf,

:::::: The code at line 132 was first introduced by commit
:::::: 1b7898ee276b39e54d870dc4ef3374f663d0b426 powerpc/boot: Use the pre-boot decompression API

:::::: TO: Oliver O'Halloran <oohall@xxxxxxxxx>
:::::: CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki