<div dir="ltr">Hi guys,<div><br></div><div>Here's the error I get trying to apply the patch:</div><div><br></div><div>"root@chrx:/home/chrx/Github/flashrom# git apply --check /home/chrx/Downloads/ich_descriptors-amd64.patch </div><div>error: patch failed: ich_descriptors.c:1064</div><div>error: ich_descriptors.c: patch does not apply"</div><div><br></div><div>Derp? Here's my output from "cc -v":</div><div><br></div><div>"root@chrx:/home/chrx/Github/flashrom# cc -v</div><div>Using built-in specs.</div><div>COLLECT_GCC=cc</div><div>COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper</div><div>Target: x86_64-linux-gnu</div><div>Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.5' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu</div><div>Thread model: posix</div><div>gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)"</div><div><br></div><div>And here's the output from the second command you asked for:</div><div><br></div><div>"root@chrx:/home/chrx/Github/flashrom# cc -dM -E - < /dev/null</div><div>#define __SSP_STRONG__ 3</div><div>#define __DBL_MIN_EXP__ (-1021)</div><div>#define __UINT_LEAST16_MAX__ 0xffff</div><div>#define __ATOMIC_ACQUIRE 2</div><div>#define __FLT_MIN__ 1.17549435082228750797e-38F</div><div>#define __GCC_IEC_559_COMPLEX 2</div><div>#define __UINT_LEAST8_TYPE__ unsigned char</div><div>#define __SIZEOF_FLOAT80__ 16</div><div>#define __INTMAX_C(c) c ## L</div><div>#define __CHAR_BIT__ 8</div><div>#define __UINT8_MAX__ 0xff</div><div>#define __WINT_MAX__ 0xffffffffU</div><div>#define __ORDER_LITTLE_ENDIAN__ 1234</div><div>#define __SIZE_MAX__ 0xffffffffffffffffUL</div><div>#define __WCHAR_MAX__ 0x7fffffff</div><div>#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1</div><div>#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1</div><div>#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1</div><div>#define __DBL_DENORM_MIN__ ((double)4.94065645841246544177e-324L)</div><div>#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1</div><div>#define __GCC_ATOMIC_CHAR_LOCK_FREE 2</div><div>#define __GCC_IEC_559 2</div><div>#define __FLT_EVAL_METHOD__ 0</div><div>#define __unix__ 1</div><div>#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2</div><div>#define __x86_64 1</div><div>#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL</div><div>#define __SIG_ATOMIC_TYPE__ int</div><div>#define __DBL_MIN_10_EXP__ (-307)</div><div>#define __FINITE_MATH_ONLY__ 0</div><div>#define __GNUC_PATCHLEVEL__ 0</div><div>#define __UINT_FAST8_MAX__ 0xff</div><div>#define __has_include(STR) __has_include__(STR)</div><div>#define __DEC64_MAX_EXP__ 385</div><div>#define __INT8_C(c) c</div><div>#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL</div><div>#define __SHRT_MAX__ 0x7fff</div><div>#define __LDBL_MAX__ 1.18973149535723176502e+4932L</div><div>#define __UINT_LEAST8_MAX__ 0xff</div><div>#define __GCC_ATOMIC_BOOL_LOCK_FREE 2</div><div>#define __UINTMAX_TYPE__ long unsigned int</div><div>#define __linux 1</div><div>#define __DEC32_EPSILON__ 1E-6DF</div><div>#define __unix 1</div><div>#define __UINT32_MAX__ 0xffffffffU</div><div>#define __LDBL_MAX_EXP__ 16384</div><div>#define __WINT_MIN__ 0U</div><div>#define __linux__ 1</div><div>#define __SCHAR_MAX__ 0x7f</div><div>#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)</div><div>#define __INT64_C(c) c ## L</div><div>#define __DBL_DIG__ 15</div><div>#define __GCC_ATOMIC_POINTER_LOCK_FREE 2</div><div>#define __SIZEOF_INT__ 4</div><div>#define __SIZEOF_POINTER__ 8</div><div>#define __USER_LABEL_PREFIX__ </div><div>#define __STDC_HOSTED__ 1</div><div>#define __LDBL_HAS_INFINITY__ 1</div><div>#define __FLT_EPSILON__ 1.19209289550781250000e-7F</div><div>#define __LDBL_MIN__ 3.36210314311209350626e-4932L</div><div>#define __STDC_UTF_16__ 1</div><div>#define __DEC32_MAX__ 9.999999E96DF</div><div>#define __INT32_MAX__ 0x7fffffff</div><div>#define __SIZEOF_LONG__ 8</div><div>#define __STDC_IEC_559__ 1</div><div>#define __STDC_ISO_10646__ 201505L</div><div>#define __UINT16_C(c) c</div><div>#define __DECIMAL_DIG__ 21</div><div>#define __gnu_linux__ 1</div><div>#define __has_include_next(STR) __has_include_next__(STR)</div><div>#define __LDBL_HAS_QUIET_NAN__ 1</div><div>#define __GNUC__ 5</div><div>#define __MMX__ 1</div><div>#define __FLT_HAS_DENORM__ 1</div><div>#define __SIZEOF_LONG_DOUBLE__ 16</div><div>#define __BIGGEST_ALIGNMENT__ 16</div><div>#define __DBL_MAX__ ((double)1.79769313486231570815e+308L)</div><div>#define __INT_FAST32_MAX__ 0x7fffffffffffffffL</div><div>#define __DBL_HAS_INFINITY__ 1</div><div>#define __DEC32_MIN_EXP__ (-94)</div><div>#define __INT_FAST16_TYPE__ long int</div><div>#define __LDBL_HAS_DENORM__ 1</div><div>#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL</div><div>#define __INT_LEAST32_MAX__ 0x7fffffff</div><div>#define __DEC32_MIN__ 1E-95DF</div><div>#define __DBL_MAX_EXP__ 1024</div><div>#define __DEC128_EPSILON__ 1E-33DL</div><div>#define __SSE2_MATH__ 1</div><div>#define __ATOMIC_HLE_RELEASE 131072</div><div>#define __PTRDIFF_MAX__ 0x7fffffffffffffffL</div><div>#define __amd64 1</div><div>#define __STDC_NO_THREADS__ 1</div><div>#define __ATOMIC_HLE_ACQUIRE 65536</div><div>#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL</div><div>#define __SIZEOF_SIZE_T__ 8</div><div>#define __SIZEOF_WINT_T__ 4</div><div>#define __GCC_HAVE_DWARF2_CFI_ASM 1</div><div>#define __GXX_ABI_VERSION 1009</div><div>#define __FLT_MIN_EXP__ (-125)</div><div>#define __INT_FAST64_TYPE__ long int</div><div>#define __DBL_MIN__ ((double)2.22507385850720138309e-308L)</div><div>#define __LP64__ 1</div><div>#define __DECIMAL_BID_FORMAT__ 1</div><div>#define __DEC128_MIN__ 1E-6143DL</div><div>#define __REGISTER_PREFIX__ </div><div>#define __UINT16_MAX__ 0xffff</div><div>#define __DBL_HAS_DENORM__ 1</div><div>#define __UINT8_TYPE__ unsigned char</div><div>#define __NO_INLINE__ 1</div><div>#define __FLT_MANT_DIG__ 24</div><div>#define __VERSION__ "5.4.0 20160609"</div><div>#define __UINT64_C(c) c ## UL</div><div>#define _STDC_PREDEF_H 1</div><div>#define __GCC_ATOMIC_INT_LOCK_FREE 2</div><div>#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__</div><div>#define __STDC_IEC_559_COMPLEX__ 1</div><div>#define __INT32_C(c) c</div><div>#define __DEC64_EPSILON__ 1E-15DD</div><div>#define __ORDER_PDP_ENDIAN__ 3412</div><div>#define __DEC128_MIN_EXP__ (-6142)</div><div>#define __INT_FAST32_TYPE__ long int</div><div>#define __UINT_LEAST16_TYPE__ short unsigned int</div><div>#define unix 1</div><div>#define __INT16_MAX__ 0x7fff</div><div>#define __SIZE_TYPE__ long unsigned int</div><div>#define __UINT64_MAX__ 0xffffffffffffffffUL</div><div>#define __INT8_TYPE__ signed char</div><div>#define __ELF__ 1</div><div>#define __FLT_RADIX__ 2</div><div>#define __INT_LEAST16_TYPE__ short int</div><div>#define __LDBL_EPSILON__ 1.08420217248550443401e-19L</div><div>#define __UINTMAX_C(c) c ## UL</div><div>#define __SSE_MATH__ 1</div><div>#define __k8 1</div><div>#define __SIG_ATOMIC_MAX__ 0x7fffffff</div><div>#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2</div><div>#define __SIZEOF_PTRDIFF_T__ 8</div><div>#define __x86_64__ 1</div><div>#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF</div><div>#define __INT_FAST16_MAX__ 0x7fffffffffffffffL</div><div>#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL</div><div>#define __UINT_LEAST64_TYPE__ long unsigned int</div><div>#define __FLT_HAS_QUIET_NAN__ 1</div><div>#define __FLT_MAX_10_EXP__ 38</div><div>#define __LONG_MAX__ 0x7fffffffffffffffL</div><div>#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL</div><div>#define __FLT_HAS_INFINITY__ 1</div><div>#define __UINT_FAST16_TYPE__ long unsigned int</div><div>#define __DEC64_MAX__ 9.999999999999999E384DD</div><div>#define __CHAR16_TYPE__ short unsigned int</div><div>#define __PRAGMA_REDEFINE_EXTNAME 1</div><div>#define __INT_LEAST16_MAX__ 0x7fff</div><div>#define __DEC64_MANT_DIG__ 16</div><div>#define __INT64_MAX__ 0x7fffffffffffffffL</div><div>#define __UINT_LEAST32_MAX__ 0xffffffffU</div><div>#define __GCC_ATOMIC_LONG_LOCK_FREE 2</div><div>#define __INT_LEAST64_TYPE__ long int</div><div>#define __INT16_TYPE__ short int</div><div>#define __INT_LEAST8_TYPE__ signed char</div><div>#define __STDC_VERSION__ 201112L</div><div>#define __DEC32_MAX_EXP__ 97</div><div>#define __INT_FAST8_MAX__ 0x7f</div><div>#define __INTPTR_MAX__ 0x7fffffffffffffffL</div><div>#define linux 1</div><div>#define __SSE2__ 1</div><div>#define __LDBL_MANT_DIG__ 64</div><div>#define __DBL_HAS_QUIET_NAN__ 1</div><div>#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)</div><div>#define __code_model_small__ 1</div><div>#define __k8__ 1</div><div>#define __INTPTR_TYPE__ long int</div><div>#define __UINT16_TYPE__ short unsigned int</div><div>#define __WCHAR_TYPE__ int</div><div>#define __SIZEOF_FLOAT__ 4</div><div>#define __UINTPTR_MAX__ 0xffffffffffffffffUL</div><div>#define __DEC64_MIN_EXP__ (-382)</div><div>#define __INT_FAST64_MAX__ 0x7fffffffffffffffL</div><div>#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1</div><div>#define __FLT_DIG__ 6</div><div>#define __UINT_FAST64_TYPE__ long unsigned int</div><div>#define __INT_MAX__ 0x7fffffff</div><div>#define __amd64__ 1</div><div>#define __INT64_TYPE__ long int</div><div>#define __FLT_MAX_EXP__ 128</div><div>#define __ORDER_BIG_ENDIAN__ 4321</div><div>#define __DBL_MANT_DIG__ 53</div><div>#define __SIZEOF_FLOAT128__ 16</div><div>#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL</div><div>#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2</div><div>#define __DEC64_MIN__ 1E-383DD</div><div>#define __WINT_TYPE__ unsigned int</div><div>#define __UINT_LEAST32_TYPE__ unsigned int</div><div>#define __SIZEOF_SHORT__ 2</div><div>#define __SSE__ 1</div><div>#define __LDBL_MIN_EXP__ (-16381)</div><div>#define __INT_LEAST8_MAX__ 0x7f</div><div>#define __SIZEOF_INT128__ 16</div><div>#define __LDBL_MAX_10_EXP__ 4932</div><div>#define __ATOMIC_RELAXED 0</div><div>#define __DBL_EPSILON__ ((double)2.22044604925031308085e-16L)</div><div>#define _LP64 1</div><div>#define __UINT8_C(c) c</div><div>#define __INT_LEAST32_TYPE__ int</div><div>#define __SIZEOF_WCHAR_T__ 4</div><div>#define __UINT64_TYPE__ long unsigned int</div><div>#define __INT_FAST8_TYPE__ signed char</div><div>#define __GNUC_STDC_INLINE__ 1</div><div>#define __DBL_DECIMAL_DIG__ 17</div><div>#define __STDC_UTF_32__ 1</div><div>#define __FXSR__ 1</div><div>#define __DEC_EVAL_METHOD__ 2</div><div>#define __UINT32_C(c) c ## U</div><div>#define __INTMAX_MAX__ 0x7fffffffffffffffL</div><div>#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__</div><div>#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F</div><div>#define __INT8_MAX__ 0x7f</div><div>#define __UINT_FAST32_TYPE__ long unsigned int</div><div>#define __CHAR32_TYPE__ unsigned int</div><div>#define __FLT_MAX__ 3.40282346638528859812e+38F</div><div>#define __INT32_TYPE__ int</div><div>#define __SIZEOF_DOUBLE__ 8</div><div>#define __FLT_MIN_10_EXP__ (-37)</div><div>#define __INTMAX_TYPE__ long int</div><div>#define __DEC128_MAX_EXP__ 6145</div><div>#define __ATOMIC_CONSUME 1</div><div>#define __GNUC_MINOR__ 4</div><div>#define __UINTMAX_MAX__ 0xffffffffffffffffUL</div><div>#define __DEC32_MANT_DIG__ 7</div><div>#define __DBL_MAX_10_EXP__ 308</div><div>#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L</div><div>#define __INT16_C(c) c</div><div>#define __STDC__ 1</div><div>#define __PTRDIFF_TYPE__ long int</div><div>#define __ATOMIC_SEQ_CST 5</div><div>#define __UINT32_TYPE__ unsigned int</div><div>#define __UINTPTR_TYPE__ long unsigned int</div><div>#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD</div><div>#define __DEC128_MANT_DIG__ 34</div><div>#define __LDBL_MIN_10_EXP__ (-4931)</div><div>#define __SIZEOF_LONG_LONG__ 8</div><div>#define __GCC_ATOMIC_LLONG_LOCK_FREE 2</div><div>#define __LDBL_DIG__ 18</div><div>#define __FLT_DECIMAL_DIG__ 9</div><div>#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL</div><div>#define __GCC_ATOMIC_SHORT_LOCK_FREE 2</div><div>#define __UINT_FAST8_TYPE__ unsigned char</div><div>#define __ATOMIC_ACQ_REL 4</div><div>#define __ATOMIC_RELEASE 3"</div><div><br></div><div>Whaaatsa goin' onnn? Thanks for your help!</div><div><br></div><div>=]</div><div><br></div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature">--<br>Anders Nelson<br><br>+1 (517) 775-6129<br><br><a href="http://www.erogear.com" target="_blank">www.erogear.com</a></div></div>
<br><div class="gmail_quote">On Wed, Nov 1, 2017 at 10:28 AM, Stefan Tauner <span dir="ltr"><<a href="mailto:stefan.tauner@gmx.at" target="_blank">stefan.tauner@gmx.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, 31 Oct 2017 00:18:58 +0000<br>
Anders Nelson <<a href="mailto:anders.k.nelson@gmail.com">anders.k.nelson@gmail.com</a>> wrote:<br>
<br>
> I'm trying to compile the latest stable source on my Ubuntu-based GalliumOS<br>
> system running on a recent x86_64 Chromebook.<br>
><br>
> I get the error:<br>
><br>
> ichspi.o: In function `ich_init_spi':<br>
> ichspi.c:(.text+0x26b2): undefined reference to<br>
> `read_ich_descriptors_via_fdo'<br>
<br>
</span>Hi,<br>
<br>
can you please post more details about your build environment?<br>
E.g., the output of<br>
cc -v<br>
cc -dM -E - < /dev/null<br>
<br>
The latter should output all preprocessor defines, excluding/including<br>
the culprit 64b macros.<br>
<br>
According the best source I am aware of<br>
(<a href="https://sourceforge.net/p/predef/wiki/Architectures/" rel="noreferrer" target="_blank">https://sourceforge.net/p/<wbr>predef/wiki/Architectures/</a>) both, __amd64__<br>
and __x86_64__ should be equivalently available in all systems we care<br>
about. But as Nico stated we have used both (and some additional<br>
variations) in various places which makes such breakage possible.<br>
Maybe we should use a similar approach as for discerning OSes with a<br>
central header file defining our own macros... I have once started such<br>
a thing in hwaccess.c.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Kind regards/Mit freundlichen Grüßen, Stefan Tauner<br>
</font></span></blockquote></div><br></div>