Opened 10 years ago

Last modified 10 years ago

#7253 new Bugs

[Boost.Build] Escape command line properly when calling assembler on MSVC

Reported by: Pekka Seppänen <pekka.seppanen@…> Owned by: Vladimir Prus
Milestone: To Be Determined Component: build
Version: Boost 1.53.0 Severity: Problem
Keywords: asm boost.context context command line invalid Cc:

Description

Hi.

As of Boost.Context release (since Boost 1.51.0) assembler related build rules are actually used. However, currently these make no attempt whatsoever to properly escape the command line arguments (mostly global defines, that may have characters such as "<" and ">" that are interpreted by command prompt, not good).

The following patch proxies command line arguments thru a RSP file, as done with C/C++ compiling/build rules.

The patch does

a) Add an ASM_RSPLINE under rule get-rspline,

b) Add a rule compile.asm that calls get-rspline and compile-asm,

c) Move the actual assembler call under actions compile-asm, that uses the generated ASM_RSPLINE,

d) Remove toolset.flags msvc.compile.asm DEFINES as these are now inherited from toolset.flags msvc.compile DEFINES.

That should fix it once and for all.

Attachments (1)

BoostBuild-AsmRsp.patch (1.5 KB ) - added by Pekka Seppänen <pekka.seppanen@…> 10 years ago.
Add a proper command line escaping to assembler build rules.

Download all attachments as: .zip

Change History (4)

by Pekka Seppänen <pekka.seppanen@…>, 10 years ago

Attachment: BoostBuild-AsmRsp.patch added

Add a proper command line escaping to assembler build rules.

comment:1 by Pekka Seppänen <pekka.seppanen@…>, 10 years ago

Version: Boost 1.51.0Boost 1.52.0

comment:2 by Pekka Seppänen <pekka.seppanen@…>, 10 years ago

Version: Boost 1.52.0Boost 1.53.0

comment:3 by Pekka Seppänen <pekka.seppanen@…>, 10 years ago

Still broken..

Note: See TracTickets for help on using tickets.