DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Wiles, Keith" <keith.wiles@intel.com>
To: Olivier MATZ <olivier.matz@6wind.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Compiling files with .S with GCC
Date: Mon, 4 May 2015 14:49:43 +0000	[thread overview]
Message-ID: <D16CD406.1EAA4%keith.wiles@intel.com> (raw)
In-Reply-To: <55472FE0.6010201@6wind.com>



On 5/4/15, 1:37 AM, "Olivier MATZ" <olivier.matz@6wind.com> wrote:

>Hello,
>
>On 04/26/2015 06:55 PM, Wiles, Keith wrote:
>> 
>> 
>> On 4/26/15, 11:53 AM, "Wiles, Keith" <keith.wiles@intel.com> wrote:
>> 
>>> Hi All,
>>>
>>> I noticed in my builds with foo.S file I would get a warning from the
>>> compiler the foo_s.o.tmp linker file will not be used as the code is
>>>not
>>> linked. A strange error and the foo_s.o file would not be created. In
>>>the
>>> mk/internal/rte.compile-pre.mk we have the following
>>>
>>> # command to assemble a .S file to generate an object
>>> ifeq ($(USE_HOST),1)
>>> S_TO_O = $(CPP) $(HOST_CPPFLAGS) $($(@)_CPPFLAGS)
>>>$(HOST_EXTRA_CPPFLAGS)
>>> $< $(@).tmp && \
>>>    $(HOSTAS) $(HOST_ASFLAGS) $($(@)_ASFLAGS) $(HOST_EXTRA_ASFLAGS) -o
>>>$@
>>> $(@).tmp
>>> S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
>>> S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  HOSTAS $(@)")
>>> else
>>> S_TO_O = $(CPP) $(CPPFLAGS) $($(@)_CPPFLAGS) $(EXTRA_CPPFLAGS) $< -o
>>> $(@).tmp && \
>>>    $(AS) $(ASFLAGS) $($(@)_ASFLAGS) $(EXTRA_ASFLAGS) -o $@ $(@).tmp
>>> S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
>>> S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  AS $(@)")
>>> endif
>>>
>>> I had to change the above Œ.tmp¹ strings to Œ.s¹ to remove this warning
>>> and get the foo_s.o file created. Using the .s the file name becomes
>>> foo_s.o.s
>> 
>> Compiler used on Ubuntu 14.04 'gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2'
>> 
>>>
>>> Did not try this with clang or any other compiler, but I expect we can
>>> safely change the Œ.tmp¹ to Œ.s¹ IMO
>>>
>>> Anyone else notice this problem?
>
>I tested a similar use-case and I don't reproduce the issue.
>I don't don't understand why replacing $(@).tmp by $(@).s would
>solve it.

In the case I saw the compiler seemed to want the .s to under stand it was
not some other type of file. Not sure why the error occurred in my
external build. We can leave it using .tmp if you like, but I feel .s
would have been the correct name for the file.

If you think it needs to be changed to .s then you can submit a patch or I
can or just leave it along your option.

Regards,
++Keith
>
>The file $(@).tmp is used as a temporary file to store the preprocessed
>version of the $(@).s file. I agree that using the .s extension is not
>a bad choice (see below), but to me it is not the proper solution to
>your problem.
>
>From https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html
>
>  file.s
>     Assembler code.
>  file.S
>  file.sx
>     Assembler code that must be preprocessed.
>
>Regards,
>Olivier


  reply	other threads:[~2015-05-04 14:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-26 16:55 Wiles, Keith
2015-05-04  8:37 ` Olivier MATZ
2015-05-04 14:49   ` Wiles, Keith [this message]
2015-05-04 15:42     ` Olivier MATZ
2015-05-04 16:05       ` Wiles, Keith
  -- strict thread matches above, loose matches on Subject: below --
2015-04-26 16:53 Wiles, Keith

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=D16CD406.1EAA4%keith.wiles@intel.com \
    --to=keith.wiles@intel.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@6wind.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).