Files
buildroot/package/android-tools
Thomas Petazzoni fa11dff848 package/android-tools: fix b64_pton() issue with GCC >= 14.x
The android-tools code base uses the __b64_pton() function, which
isn't provided by all C libraries. So the Debian patch
debian/patches/add_adbd.patch adds an implementation of b64_pton(),
but doesn't actually use it, nor defines a prototype for it. Our
existing patch 0003-Fix-build-issue-with-uclibc.patch switches the
code to use the b64_pton() function... but still without providing a
prototype, causing the following build failures with GCC >= 14.x:

adb_auth_client.c:75:15: error: implicit declaration of function 'b64_pton'

To fix this, we rework 0003-Fix-build-issue-with-uclibc.patch into a
patch that:

 (1) Renames b64_pton() to adb_b64_pton() to make sure it won't clash
     with implementations provided by some C libraries, and adjusts
     the call sites accordingly.

 (2) Adds a prototype definition of adb_b64_pton() in places where
     this function is used.

Fixes:

  http://autobuild.buildroot.net/results/b25b25337c7ad89c33f8bd20b646850bd993ec53ae9/

Even though GCC 14.x support was merged in Buildroot in May 2024, this
particular b64_pton() only started appearing on July 15 2024, with the
first occurrence being:

  http://autobuild.buildroot.net/results/1cbe87bbe3c56f28444b3aaba1ba1d05f947d36e/

Indeed, it's not before July 15 2024 that we merged commit
d201f2f5cd ("package/android-tools: add
patches to fix build with GCC 14.x"), which fixed other GCC 14.x
issues, which were hiding this b64_pton() problem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 1eec67d164)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-06 23:43:14 +01:00
..