Re: MIPS Creator CI20 patches (again)

Adam Lackorzynski <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
Hi Paul,

On Sun Jan 07, 2018 at 14:15:13 +0100, Paul Boddie wrote:
> Sorry to follow up on myself again...
> 
> On Thursday 21. December 2017 01.55.51 Paul Boddie wrote:
> > On Wednesday 20. December 2017 16.52.45 Paul Boddie wrote:
> > > However, another problem has emerged when trying to build L4Re. It
> > > appears that something changed between r72 and r73, and now, when I try
> > > and build L4Re, I get a linker error as described in the following
> > > Debian bug report:
> > > 
> > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=884821
> > > 
> > > ----
> > > mipsel-linux-gnu-ld: main.o: Can't find matching LO16 reloc against
> > > `.text' for R_MIPS_GOT16 at 0x1f8 in section `mipsel-linux-gnu-ld: BFD
> > > (GNU Binutils for Debian) 2.29.1 internal error, aborting at
> > > ../../bfd/bfd.c:866 in _bfd_doprnt
> 
> This specific internal error is a bug in binutils when producing the error 
> message, but the error causing the message is a genuine problem.
> 
> In pkg/examples/sys/utcb-ipc/main.c, expanding the L4UTIL_THREAD_STATIC_FUNC 
> macro by hand, I get the following:
> 
> EXTERN_C_BEGIN
> void __attribute__((visibility("internal"))) thread2(void);
> static void __attribute__((used)) thread2_worker_function(void);
> asm (
>   ".type thread2, function \n"
>   "thread2 : \n .set push; .set noreorder;"
>   L4UTIL_THREAD_START_SETUP_GP
>   "la $t9, thread2_worker_function\n"
>   "  jal $t9 \n"
>   "   nop    \n"
>   ".set pop"
> );
> EXTERN_C_END
> static L4_NORETURN void thread2_worker_function(void)
> {
> ...
> }
> 
> It seems that the problem is caused by the declaration of thread2. If I 
> replace that with this...
> 
> static void thread2(void);
> 
> ...the error associated with the output goes away (although I get a warning 
> from the compiler about thread2 not being defined, which happens in the 
> assembly language code, of course). But obviously, this isn't a proper 
> solution.

Is it ok if you have visibility("hidden") instead of internal?


Thanks,
Adam
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.