[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Weird make error
From: |
david . hagood |
Subject: |
Weird make error |
Date: |
Thu, 9 Feb 2012 13:40:33 -0600 |
User-agent: |
SquirrelMail/1.4.21 |
Under OpenSuSE X86_64, I am trying to cross compile glibc 2.14 with make
(either 3.81 or 3.81), and I am getting a repeatable error on building
glibc.
In glibc/Makerules, there is the following rule:
----------------
ifeq (yes,$(elf))
# binutils only position loadable notes into the first page for binaries,
# not for shared objects
$(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
$(LINK.o) -shared -Wl,-O1 \
-nostdlib -nostartfiles \
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
-Wl,--verbose 2>&1 | \
sed > address@hidden \
-e '/^=========/,/^=========/!d;/^=========/d' \
$(if $(filter yes,$(have-hash-style)), \
-e 's/^.*\.gnu\.hash[ ]*:.*$$/ .note.ABI-tag : {
*(.note.ABI-tag) }
&/' \
-e '/^[ ]*\.hash[ ]*:.*$$/{h;d;}' \
-e '/DATA_SEGMENT_ALIGN/{H;g}' \
, \
-e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : {
*(.note.ABI-tag) } &/' \
) \
-e 's/^.*\*(\.dynbss).*$$/& \
PROVIDE(__start___libc_freeres_ptrs = .); \
*(__libc_freeres_ptrs) \
PROVIDE(__stop___libc_freeres_ptrs = .);/'\
-e 'address@hidden(\.jcr).*$$@& \
PROVIDE(__start___libc_subfreeres = .);\
__libc_subfreeres : { *(__libc_subfreeres) }\
PROVIDE(__stop___libc_subfreeres = .);\
PROVIDE(__start___libc_atexit = .);\
__libc_atexit : { *(__libc_atexit) }\
PROVIDE(__stop___libc_atexit = .);\
PROVIDE(__start___libc_thread_subfreeres = .);\
__libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\
PROVIDE(__stop___libc_thread_subfreeres = .);\
/DISCARD/ : { *(.gnu.glibc-stub.*) }@'
mv -f address@hidden $@
common-generated += shlib.lds
--------------------
When this gets executed in the make, that isn't what gets passed to the
command line - instead, what gets passed is:
-e '/^=========/,/^=========/!d;/^=========/d' \
-e 's/^.*\.gnu\.hash[ ]*:.*$/ .note.ABI-tag : {
*(.note.ABI-tag)
} &/' -e '/^[ ]*\.hash[ ]*:.*$/{h;d;}' -e
'/DATA_SEGMENT_ALIGN/{H;g}' \
-e 's/^.*\*(\.dynbss).*$/& \
PROVIDE(__start___libc_freeres_ptrs = .); \
*(__libc_freeres_ptrs) \
PROVIDE(__stop___libc_freeres_ptrs = .);/'\
-e 'address@hidden(\.jcr).*$@& \
PROVIDE(__start__es : {subfreeres = .);\
Note that last line is NOT what is in the Makefile - it is as if something
is corrupting the make rule at run time.
This has been totally repeatable on my machine. Also, I've seen somebody
else post this sort of output on pastebin, but have seen nothing else
about it.
Does anybody have any suggestions on what I can try to do to debug this?
(copying my work email and using my personal email, as my employer
lamentably puts a page long wart at the end of all mails sent from there.
Please keep my work as a CC on this.)
- Weird make error,
david . hagood <=