Summary: | sys-libs/glibc-2.32-r7 does not respect LDFLAG norelro | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Agostino Sarubbo <ago> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 331933 |
Description
Agostino Sarubbo
2021-03-09 21:30:57 UTC
glibc explicitly overrides relro value: Makeconfig-+link-before-libc = -nostdlib -nostartfiles -o $@ \ Makeconfig- $(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \ Makeconfig: $(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \ Makeconfig- $(firstword $(CRT-$(@F)) $(csu-objpfx)$(start-installed-name)) \ Makeconfig- $(+preinit) $(+prector) \ Makeconfig- $(filter-out $(addprefix $(csu-objpfx),start.o \ Makeconfig- $(start-installed-name))\ Makeconfig- $(+preinit) $(link-extra-libs) \ Makeconfig- $(common-objpfx)libc% $(+postinit),$^) \ Makeconfig- $(link-extra-libs) What behaviour do you expect? (In reply to Sergei Trofimovich from comment #1) > glibc explicitly overrides relro value: > > Makeconfig-+link-before-libc = -nostdlib -nostartfiles -o $@ \ > Makeconfig- $(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \ > Makeconfig: $(combreloc-LDFLAGS) $(relro-LDFLAGS) > $(hashstyle-LDFLAGS) \ > Makeconfig- $(firstword $(CRT-$(@F)) > $(csu-objpfx)$(start-installed-name)) \ > Makeconfig- $(+preinit) $(+prector) \ > Makeconfig- $(filter-out $(addprefix $(csu-objpfx),start.o \ > Makeconfig- > $(start-installed-name))\ > Makeconfig- $(+preinit) $(link-extra-libs) \ > Makeconfig- $(common-objpfx)libc% $(+postinit),$^) \ > Makeconfig- $(link-extra-libs) > > What behaviour do you expect? I'd expect user flags always override default flags unless it is well known to break. (In reply to Agostino Sarubbo from comment #2) it is going to break. glibc clobbers flags when it must. it's producing the fundamental libs in your system used to bootstrap all other processes. (In reply to SpanKY from comment #3) > (In reply to Agostino Sarubbo from comment #2) > > it is going to break. glibc clobbers flags when it must. it's producing > the fundamental libs in your system used to bootstrap all other processes. |