All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kang Kai <Kai.Kang@windriver.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-networking][PATCH 2/4] atftp: build with gcc 5.2
Date: Mon, 24 Aug 2015 16:53:54 +0800	[thread overview]
Message-ID: <55DADBA2.8060205@windriver.com> (raw)
In-Reply-To: <55DA807A.3010107@windriver.com>

On 2015年08月24日 10:24, Kang Kai wrote:
> On 2015年08月22日 00:08, Khem Raj wrote:
>> On Fri, Aug 21, 2015 at 1:37 AM, <kai.kang@windriver.com> wrote:
>>> From: Kai Kang <kai.kang@windriver.com>
>>>
>>> atftp fails to build with gcc 5.2:
>>>
>>> tftp_def.h:54:14: warning: inline function 'Strncpy' declared but 
>>> never defined
>>>
>>> GCC 5 defaults to -std=gnu11 instead of -std=gnu89. The semantics of
>>> inline function changes. Pass '-std=gnu89' to gcc to compile atftp.
>>>
>>> Ref:
>>> https://gcc.gnu.org/gcc-5/porting_to.html
>>>
>>> Signed-off-by: Kai Kang <kai.kang@windriver.com>
>>> ---
>>>   meta-networking/recipes-daemons/atftp/atftp_git.bb | 2 ++
>>>   1 file changed, 2 insertions(+)
>>>
>>> diff --git a/meta-networking/recipes-daemons/atftp/atftp_git.bb 
>>> b/meta-networking/recipes-daemons/atftp/atftp_git.bb
>>> index b53f637..0ece58f 100644
>>> --- a/meta-networking/recipes-daemons/atftp/atftp_git.bb
>>> +++ b/meta-networking/recipes-daemons/atftp/atftp_git.bb
>>> @@ -32,6 +32,8 @@ USERADD_PACKAGES = "${PN}d"
>>>   USERADD_PARAM_${PN}d = "--system --no-create-home --shell 
>>> /bin/false \
>>>                           --user-group nobody"
>>>
>>> +EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'"
>> this is a woraround and will work, however if you are at and fix it
>> once for all that will be desirable. eg. this file you could move the
>> definition of
>> inline function into the relevant .h file and make it a static inline
>
> Hi Raj,
>
> Thanks. I'll try it.

I tried to move the definition to relevant .h file but it didn't work. 
It complained when did link:

options.o: In function `opt_options_to_string':
/buildarea3/kkang/poky-20141111/builds/x86-64-with-meta-oe/tmp/work/core2-64-poky-linux/atftp/0.7.1+gitAU
TOINC+be3291a18c-r3/git/options.c:345: undefined reference to `Strncpy'
options.o:/buildarea3/kkang/poky-20141111/builds/x86-64-with-meta-oe/tmp/work/core2-64-poky-linux/atftp/0
.7.1+gitAUTOINC+be3291a18c-r3/git/options.c:347: more undefined 
references to `Strncpy' follow
collect2: error: ld returned 1 exit status

And it has other issues about inline functions that I didn't mention in 
the commit message:

git/argz.c:44:8: error: redefinition of 'argz_next'

That's because more complex definitions:

In argz.h:
======================================
extern char *argz_next (__const char *__restrict __argz, size_t __argz_len,
                         __const char *__restrict __entry) __THROW;


#ifdef __USE_EXTERN_INLINES
extern inline char *
argz_next (__const char *__argz, size_t __argz_len,
            __const char *__entry)
{
   return __argz_next (__argz, __argz_len, __entry);
}
#endif /* Use extern inlines.  */
======================================

In argz.c:
======================================
char * argz_next (const char *argz, size_t argz_len, const char *entry)
{
...
}
======================================

It seems gcc 5 doesn't support redefinition, right?

Compare to Debian, it fixed this issue by pass "-std=gnu89" to compiler too.

Ref:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777783#12

Thanks,
Kai

>
> --Kai
>
>>
>>> +
>>>   do_install_append() {
>>>       install -d ${D}${sysconfdir}/init.d
>>>       install -m 0755 ${WORKDIR}/atftpd.init 
>>> ${D}${sysconfdir}/init.d/atftpd
>>> -- 
>>> 1.9.1
>>>
>>> -- 
>>> _______________________________________________
>>> Openembedded-devel mailing list
>>> Openembedded-devel@lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
>


-- 
Regards,
Neil | Kai Kang



  reply	other threads:[~2015-08-24  8:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-21  8:37 [PATCH 0/4] Upgrade packages and fix failure of atftp with gcc 5.2 kai.kang
2015-08-21  8:37 ` [meta-networking][PATCH 1/4] autofs: 5.1.0 -> 5.1.1 kai.kang
2015-08-21  8:37 ` [meta-networking][PATCH 2/4] atftp: build with gcc 5.2 kai.kang
2015-08-21 16:08   ` Khem Raj
2015-08-24  2:24     ` Kang Kai
2015-08-24  8:53       ` Kang Kai [this message]
2015-08-21  8:37 ` [meta-oe][PATCH 3/4] ltrace: 7.2 -> 7.3 kai.kang
2015-08-21 15:58   ` Khem Raj
2015-08-21  8:37 ` [meta-oe][PATCH 4/4] libvpx: 1.3.0 -> 1.4.0 kai.kang

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=55DADBA2.8060205@windriver.com \
    --to=kai.kang@windriver.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    /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.