Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1200535 > unrolled thread

Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]

Started byGuillem Jover <gjover@sipwise.com>
First post2024-06-11 13:50 +0200
Last post2024-06-11 14:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.debian.bugs.dist

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration] Guillem Jover <gjover@sipwise.com> - 2024-06-11 13:50 +0200
    Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration] John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> - 2024-06-11 14:30 +0200

#1200535 — Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]

FromGuillem Jover <gjover@sipwise.com>
Date2024-06-11 13:50 +0200
SubjectBug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
Message-ID<IO8aJ-28S1-3@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Control: tag -1 patch

[ CCing debian-arm list to loop them into the porting issue. ]

Hi!

On Fri, 2024-06-07 at 14:42:18 +0200, Guillem Jover wrote:
> On Sat, 2024-04-20 at 14:56:40 +0200, Lucas Nussbaum wrote:
> > Source: libx86emu
> > Version: 3.5-1
> > Severity: serious
> > Justification: FTBFS
> > Tags: trixie sid ftbfs
> > User: lucas@debian.org
> > Usertags: ftbfs-20240420 ftbfs-trixie ftbfs-t64-armhf
> 
> > During a rebuild of all packages in sid, your package failed to build
> > on armhf.

> > Relevant part (hopefully):
> > > cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -g -O2 -fPIC -fvisibility=hidden -fomit-frame-pointer -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -c ops.c
> > > mem.c: In function ‘vm_i_byte’:
> > > mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
> > >   581 |     return inb(addr);
> > >       |            ^~~
> > >       |            ins
> > > mem.c: In function ‘vm_i_word’:
> > > mem.c:619:10: error: implicit declaration of function ‘inw’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
> > >   619 |   return inw(addr);
> > >       |          ^~~
> > >       |          ins
> > > mem.c: In function ‘vm_i_dword’:
> > > mem.c:657:10: error: implicit declaration of function ‘inl’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
> > >   657 |   return inl(addr);
> > >       |          ^~~
> > >       |          ins
> > > mem.c: In function ‘vm_o_byte’:
> > > mem.c:676:5: error: implicit declaration of function ‘outb’; did you mean ‘outs’? [-Werror=implicit-function-declaration]
> > >   676 |     outb(val, addr);
> > >       |     ^~~~
> > >       |     outs
> > > mem.c: In function ‘vm_o_word’:
> > > mem.c:711:3: error: implicit declaration of function ‘outw’; did you mean ‘outs’? [-Werror=implicit-function-declaration]
> > >   711 |   outw(val, addr);
> > >       |   ^~~~
> > >       |   outs
> > > mem.c: In function ‘vm_o_dword’:
> > > mem.c:748:3: error: implicit declaration of function ‘outl’; did you mean ‘outs’? [-Werror=implicit-function-declaration]
> > >   748 |   outl(val, addr);
> > >       |   ^~~~
> > >       |   outs
> > > cc1: some warnings being treated as errors
> > > make[1]: *** [Makefile:22: mem.o] Error 1
> 
> I had a look at this, and it seems like this package has never really
> worked on ARM systems at all? And this was hidden due to the missing
> declarations not being an error.
> 
> AFAIK, only x86 (i386 and amd64), ia64 and alpha have port I/O, other
> systems have instead memory mapped I/O, but the code in mem.c is
> unconditionally calling port I/O functions such as in*() and out*(),
> provided by glibc.
> 
> Until the upstream code is ported to systems with memory mapper I/O, I
> think the "best" way to resolve this would be to restrict the
> architecture list to:
> 
>   any-amd64 any-i386 alpha ia64

The attached patch implements this. It should not affect reverse build
depending packages (only hwinfo) which is already arch restricted to
«amd64 i386».

I'm including the arm list to confirm the above, but also in case
someone there feels like porting the library to support memory mapped
I/O? (But perhaps that's not worth the effort.)

Thanks,
Guillem

[toc] | [next] | [standalone]


#1200538

FromJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date2024-06-11 14:30 +0200
Message-ID<IO8DM-29hf-7@gated-at.bofh.it>
In reply to#1200535
Hi Guillem,

On Tue, 2024-06-11 at 13:42 +0200, Guillem Jover wrote:
> > I had a look at this, and it seems like this package has never really
> > worked on ARM systems at all? And this was hidden due to the missing
> > declarations not being an error.
> > 
> > AFAIK, only x86 (i386 and amd64), ia64 and alpha have port I/O, other
> > systems have instead memory mapped I/O, but the code in mem.c is
> > unconditionally calling port I/O functions such as in*() and out*(),
> > provided by glibc.
> > 
> > Until the upstream code is ported to systems with memory mapper I/O, I
> > think the "best" way to resolve this would be to restrict the
> > architecture list to:
> > 
> >   any-amd64 any-i386 alpha ia64
> 
> The attached patch implements this. It should not affect reverse build
> depending packages (only hwinfo) which is already arch restricted to
> «amd64 i386».
> 
> I'm including the arm list to confirm the above, but also in case
> someone there feels like porting the library to support memory mapped
> I/O? (But perhaps that's not worth the effort.)

It's perfectly fine to disable libx86emu on ARM as it has already been
correctly stated, there are no I/O ports on ARM so the above code won't
work on ARM.

I also don't expect that to change in the future, so it's not worth bothering
about this in the future, especially since the upstream project hasn't been
very active lately [1].

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web