Skip to content

dhcpv6relay: fix build with gcc 9.x - #598

Merged
paulusmack merged 1 commit into
ppp-project:masterfrom
bkuhls:fixgcc9
Jul 20, 2026
Merged

dhcpv6relay: fix build with gcc 9.x#598
paulusmack merged 1 commit into
ppp-project:masterfrom
bkuhls:fixgcc9

Conversation

@bkuhls

@bkuhls bkuhls commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Fixes various build errors seen with gcc 9.x:

Making all in dhcpv6relay
  CC       dhcpv6relay_la-dhcpv6relay.lo
dhcpv6relay.c: In function 'dhcpv6relay_down':
dhcpv6relay.c:193:1: error: parameter name omitted
 void dhcpv6relay_down(void*, int)
 ^~~~
dhcpv6relay.c:193:1: error: parameter name omitted
dhcpv6relay.c: In function 'dhcpv6relay_release_route':
dhcpv6relay.c:265:45: error: parameter name omitted
 void dhcpv6relay_release_route(const struct in6_addr* addr, uint8_t prefixlen, uint32_t /* lifetime */)
                                             ^~~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_process_ia_pd':
dhcpv6relay.c:343:2: error: label at end of compound statement
  default:
  ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_process_ia_na':
dhcpv6relay.c:380:2: error: label at end of compound statement
  default:
  ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_process_packet_for_routes':
dhcpv6relay.c:422:2: error: a label can only be part of a statement and a declaration is not a statement
  dhcpv6relay_route_func func;
  ^~~~~~~~~~~~~~~~~~~~~~
dhcpv6relay.c:449:6: error: label at end of compound statement
      default:
      ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_server_event':
dhcpv6relay.c:463:1: error: parameter name omitted
 void dhcpv6relay_server_event(int fd, void*)
 ^~~~
dhcpv6relay.c:558:2: error: label at end of compound statement
  default:
  ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_client_event':
dhcpv6relay.c:619:1: error: parameter name omitted
 void dhcpv6relay_client_event(int fd, void*)
 ^~~~
dhcpv6relay.c: In function 'dhcpv6relay_send_router_advertisement_timed':
dhcpv6relay.c:795:1: error: parameter name omitted
 void dhcpv6relay_send_router_advertisement_timed(void*)
 ^~~~
dhcpv6relay.c: In function 'dhcpv6relay_router_solicitation':
dhcpv6relay.c:802:1: error: parameter name omitted
 void dhcpv6relay_router_solicitation(int fd, void*)
 ^~~~
dhcpv6relay.c: In function 'dhcpv6relay_up':
dhcpv6relay.c:855:1: error: parameter name omitted
 void dhcpv6relay_up(void*, int)
 ^~~~
dhcpv6relay.c:855:1: error: parameter name omitted

@Neustradamus

Copy link
Copy Markdown
Member

@paulusmack, @jkroonza: What do you think about this PR?

@jkroonza jkroonza left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly the same old "mark as attribute((unused))" everywhere - didn't mark all of them.

Where there's actual names to be had, use them rather than a generic unused.

Comment thread pppd/plugins/dhcpv6relay/dhcpv6relay.c Outdated
Comment thread pppd/plugins/dhcpv6relay/dhcpv6relay.c Outdated
Comment thread pppd/plugins/dhcpv6relay/dhcpv6relay.c Outdated
Comment thread pppd/plugins/dhcpv6relay/dhcpv6relay.c Outdated
Comment thread pppd/plugins/dhcpv6relay/dhcpv6relay.c Outdated
Fixes various build errors seen with gcc 9.x:

Making all in dhcpv6relay
  CC       dhcpv6relay_la-dhcpv6relay.lo
dhcpv6relay.c: In function 'dhcpv6relay_down':
dhcpv6relay.c:193:1: error: parameter name omitted
 void dhcpv6relay_down(void*, int)
 ^~~~
dhcpv6relay.c:193:1: error: parameter name omitted
dhcpv6relay.c: In function 'dhcpv6relay_release_route':
dhcpv6relay.c:265:45: error: parameter name omitted
 void dhcpv6relay_release_route(const struct in6_addr* addr, uint8_t prefixlen, uint32_t /* lifetime */)
                                             ^~~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_process_ia_pd':
dhcpv6relay.c:343:2: error: label at end of compound statement
  default:
  ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_process_ia_na':
dhcpv6relay.c:380:2: error: label at end of compound statement
  default:
  ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_process_packet_for_routes':
dhcpv6relay.c:422:2: error: a label can only be part of a statement and a declaration is not a statement
  dhcpv6relay_route_func func;
  ^~~~~~~~~~~~~~~~~~~~~~
dhcpv6relay.c:449:6: error: label at end of compound statement
      default:
      ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_server_event':
dhcpv6relay.c:463:1: error: parameter name omitted
 void dhcpv6relay_server_event(int fd, void*)
 ^~~~
dhcpv6relay.c:558:2: error: label at end of compound statement
  default:
  ^~~~~~~
dhcpv6relay.c: In function 'dhcpv6relay_client_event':
dhcpv6relay.c:619:1: error: parameter name omitted
 void dhcpv6relay_client_event(int fd, void*)
 ^~~~
dhcpv6relay.c: In function 'dhcpv6relay_send_router_advertisement_timed':
dhcpv6relay.c:795:1: error: parameter name omitted
 void dhcpv6relay_send_router_advertisement_timed(void*)
 ^~~~
dhcpv6relay.c: In function 'dhcpv6relay_router_solicitation':
dhcpv6relay.c:802:1: error: parameter name omitted
 void dhcpv6relay_router_solicitation(int fd, void*)
 ^~~~
dhcpv6relay.c: In function 'dhcpv6relay_up':
dhcpv6relay.c:855:1: error: parameter name omitted
 void dhcpv6relay_up(void*, int)
 ^~~~
dhcpv6relay.c:855:1: error: parameter name omitted

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
@bkuhls

bkuhls commented Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

updated the patch, it was build-tested by the buildroot project toolchains which include an old gcc 9 one (bootlin-aarch64-glibc-old): https://gitlab.com/bkuhls/buildroot/-/pipelines/2615333725

Personally I have no interest in using such old gcc versions, I just try to fix build errors found by the buildroot set of toolchains. If you declare that you do not support such old toolchains I will happily restrict the ppp package to newer gcc versions and this patch can be closed.

@jkroonza jkroonza left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paulusmack I'm happy enough, please merge.

I do think at some point we should probably have the leading whitespace conversation ... the shiftwidth=4 + tabstop=8 doesn't seem to display so well in github ...

@paulusmack
paulusmack merged commit edca3bd into ppp-project:master Jul 20, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants