Skip to content

Fluxengine makefile overwrites LDFLAGS (and CFLAGS and CXXFLAGS as well) #843

@VorpalBlade

Description

@VorpalBlade

Linux distributions typically set LDFLAGS, CFLAGS etc to preferred values when building packages. This is used to set basics, such as enabling hardening. The general expectation is that these are appended to by upstream build systems, not ignored.

However, it apears fluxengine ignores LDFLAGS specifically, as detected by namcap (the Arch Linux packaging linting tool):

fluxengine-git W: ELF file ('usr/bin/brother120tool') lacks FULL RELRO, check LDFLAGS.
fluxengine-git W: ELF file ('usr/bin/brother240tool') lacks FULL RELRO, check LDFLAGS.
fluxengine-git W: ELF file ('usr/bin/fluxengine') lacks FULL RELRO, check LDFLAGS.
fluxengine-git W: ELF file ('usr/bin/fluxengine-gui') lacks FULL RELRO, check LDFLAGS.
fluxengine-git W: ELF file ('usr/bin/upgrade-flux-file') lacks FULL RELRO, check LDFLAGS.

I believe this is caused by the line LDFLAGS = in the non-Windows section of the Makefile (line 59 as of revision 5f39475). The same happens for CFLAGS and CXXFLAGS. The windows section above correctly uses += instead of =. Or it could be related to the HOSTLDFLAGS thing, I haven't dug into the details (I'm not cross compiling though).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions