Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: CVS commit: src/usr.bin/crunch/crunchgen



Joerg Sonnenberger writes:
> On Tue, Feb 12, 2019 at 10:16:58AM +0000, matthew green wrote:
> > Module Name:	src
> > Committed By:	mrg
> > Date:		Tue Feb 12 10:16:58 UTC 2019
> > 
> > Modified Files:
> > 	src/usr.bin/crunch/crunchgen: crunchgen.c
> > 
> > Log Message:
> > hack alert time:
> > 
> > on sparc and sparc64, don't remove .eh_frame section.  it leads
> > to failure as something is referenced, and objcopy ends up
> > emitting a broken binary that can't be run -- it attempts to
> > load at va=0, beyond having missing referenced data.
> > 
> > also, on sparc64 also don't remove .note.netbsd.mcmodel.
> > 
> > the former should be revised when we can avoid it.
> 
> The real bug is the reverted varasm.c change. GCC creates the .eh_frame
> section with the wrong permissions.

yes - putting your varasm.c back fixes the crtbegin.o
build, but it breaks the libstdc++ one:

In file included from /usr/src4/external/gpl3/gcc/dist/libstdc++-v3/src/c++98/pool_allocator.cc:31:0:
/usr/src4/external/gpl3/gcc/dist/libstdc++-v3/include/ext/pool_allocator.h:210:5: error: only zero initializers are allowed in section '.bss._ZN9__gnu_cxx12__pool_allocIwE12_S_force_newE'
     __pool_alloc<_Tp>::_S_force_new;
     ^~~~~~~~~~~~~~~~~
i'm not sure how to solve this -- we apparently want both
behaviours with GCC 7.  uwe@ suggested an explicit asm()
or .S file for the crtbegin issue.


.mrg.


Home | Main Index | Thread Index | Old Index