All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] package/python-rpi-gpio: fix build with gcc 10.x
Date: Fri, 7 Aug 2020 21:46:26 +0200	[thread overview]
Message-ID: <20200807194626.GL2186@scaer> (raw)
In-Reply-To: <20200807113700.23305-1-mf@go-sys.de>

Michael, All,

On 2020-08-07 13:37 +0200, Michael Fischer spake thusly:
> 0001-fix-build-with-gcc-10.x.patch: Add patch to fix build with gcc 10.x
> 
> Signed-off-by: Michael Fischer <mf@go-sys.de>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  .../0001-fix-build-with-gcc-10.x.patch        | 117 ++++++++++++++++++
>  1 file changed, 117 insertions(+)
>  create mode 100644 package/python-rpi-gpio/0001-fix-build-with-gcc-10.x.patch
> 
> diff --git a/package/python-rpi-gpio/0001-fix-build-with-gcc-10.x.patch b/package/python-rpi-gpio/0001-fix-build-with-gcc-10.x.patch
> new file mode 100644
> index 0000000000..7c7b772894
> --- /dev/null
> +++ b/package/python-rpi-gpio/0001-fix-build-with-gcc-10.x.patch
> @@ -0,0 +1,117 @@
> +Description: This patch fixes the "multiple definition of" errors with gcc10
> +
> +Signed-off-by: Michael Fischer <mf@go-sys.de>
> +
> +diff -purN python-rpi-gpio.org/source/common.h python-rpi-gpio/source/common.h
> +--- python-rpi-gpio.org/source/common.h	2019-07-21 14:41:22.000000000 +0200
> ++++ python-rpi-gpio/source/common.h	2020-08-07 09:31:33.948575964 +0200
> +@@ -30,14 +30,14 @@ SOFTWARE.
> + #define I2C          42
> + #define PWM          43
> + 
> +-int gpio_mode;
> +-const int pin_to_gpio_rev1[41];
> +-const int pin_to_gpio_rev2[41];
> +-const int pin_to_gpio_rev3[41];
> +-const int (*pin_to_gpio)[41];
> +-int gpio_direction[54];
> +-rpi_info rpiinfo;
> +-int setup_error;
> +-int module_setup;
> ++extern int gpio_mode;
> ++extern const int pin_to_gpio_rev1[41];
> ++extern const int pin_to_gpio_rev2[41];
> ++extern const int pin_to_gpio_rev3[41];
> ++extern const int (*pin_to_gpio)[41];
> ++extern int gpio_direction[54];
> ++extern rpi_info rpiinfo;
> ++extern int setup_error;
> ++extern int module_setup;
> + int check_gpio_priv(void);
> + int get_gpio_number(int channel, unsigned int *gpio);
> +diff -purN python-rpi-gpio.org/source/constants.h python-rpi-gpio/source/constants.h
> +--- python-rpi-gpio.org/source/constants.h	2019-07-21 14:41:22.000000000 +0200
> ++++ python-rpi-gpio/source/constants.h	2020-08-07 09:32:15.522196618 +0200
> +@@ -23,22 +23,22 @@ SOFTWARE.
> + #define PY_PUD_CONST_OFFSET 20
> + #define PY_EVENT_CONST_OFFSET 30
> + 
> +-PyObject *high;
> +-PyObject *low;
> +-PyObject *input;
> +-PyObject *output;
> +-PyObject *pwm;
> +-PyObject *serial;
> +-PyObject *i2c;
> +-PyObject *spi;
> +-PyObject *unknown;
> +-PyObject *board;
> +-PyObject *bcm;
> +-PyObject *pud_off;
> +-PyObject *pud_up;
> +-PyObject *pud_down;
> +-PyObject *rising_edge;
> +-PyObject *falling_edge;
> +-PyObject *both_edge;
> ++extern PyObject *high;
> ++extern PyObject *low;
> ++extern PyObject *input;
> ++extern PyObject *output;
> ++extern PyObject *pwm;
> ++extern PyObject *serial;
> ++extern PyObject *i2c;
> ++extern PyObject *spi;
> ++extern PyObject *unknown;
> ++extern PyObject *board;
> ++extern PyObject *bcm;
> ++extern PyObject *pud_off;
> ++extern PyObject *pud_up;
> ++extern PyObject *pud_down;
> ++extern PyObject *rising_edge;
> ++extern PyObject *falling_edge;
> ++extern PyObject *both_edge;
> + 
> + void define_constants(PyObject *module);
> +diff -purN python-rpi-gpio.org/source/event_gpio.c python-rpi-gpio/source/event_gpio.c
> +--- python-rpi-gpio.org/source/event_gpio.c	2019-07-21 14:41:22.000000000 +0200
> ++++ python-rpi-gpio/source/event_gpio.c	2020-08-07 09:42:05.564483136 +0200
> +@@ -57,7 +57,7 @@ struct callback
> + };
> + struct callback *callbacks = NULL;
> + 
> +-pthread_t threads;
> ++static pthread_t threads;
> + int event_occurred[54] = { 0 };
> + int thread_running = 0;
> + int epfd_thread = -1;
> +diff -purN python-rpi-gpio.org/source/py_pwm.h python-rpi-gpio/source/py_pwm.h
> +--- python-rpi-gpio.org/source/py_pwm.h	2019-07-21 14:41:22.000000000 +0200
> ++++ python-rpi-gpio/source/py_pwm.h	2020-08-07 09:38:49.445646807 +0200
> +@@ -20,5 +20,5 @@ OUT OF OR IN CONNECTION WITH THE SOFTWAR
> + SOFTWARE.
> + */
> + 
> +-PyTypeObject PWMType;
> ++extern PyTypeObject PWMType;
> + PyTypeObject *PWM_init_PWMType(void);
> +diff -purN python-rpi-gpio.org/source/soft_pwm.c python-rpi-gpio/source/soft_pwm.c
> +--- python-rpi-gpio.org/source/soft_pwm.c	2019-07-21 14:41:22.000000000 +0200
> ++++ python-rpi-gpio/source/soft_pwm.c	2020-08-07 09:42:40.753160437 +0200
> +@@ -25,7 +25,7 @@ SOFTWARE.
> + #include <time.h>
> + #include "c_gpio.h"
> + #include "soft_pwm.h"
> +-pthread_t threads;
> ++static pthread_t threads;
> + 
> + struct pwm
> + {
> +diff -purN python-rpi-gpio.org/source/soft_pwm.h python-rpi-gpio/source/soft_pwm.h
> +--- python-rpi-gpio.org/source/soft_pwm.h	2019-07-21 14:41:22.000000000 +0200
> ++++ python-rpi-gpio/source/soft_pwm.h	2020-08-07 09:39:25.916811352 +0200
> +@@ -26,4 +26,4 @@ void pwm_set_duty_cycle(unsigned int gpi
> + void pwm_set_frequency(unsigned int gpio, float freq);
> + void pwm_start(unsigned int gpio);
> + void pwm_stop(unsigned int gpio);
> +-int pwm_exists(unsigned int gpio);
> ++extern int pwm_exists(unsigned int gpio);
> -- 
> 2.28.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2020-08-07 19:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-07 11:37 [Buildroot] [PATCH 1/1] package/python-rpi-gpio: fix build with gcc 10.x Michael Fischer
2020-08-07 19:46 ` Yann E. MORIN [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-08-07  8:17 Michael Fischer
2020-08-07  9:39 ` Thomas Petazzoni
2020-08-06 11:23 Michael Fischer
2020-08-06 19:53 ` Yann E. MORIN
2020-08-07  9:39   ` Michael Fischer

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=20200807194626.GL2186@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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.