public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug build/12903] New: Makefile install target for libibert assumes gcc
@ 2011-06-16 20:12 tim.mooney at ndsu dot edu
  2011-06-17  9:12 ` [Bug build/12903] " pedro at codesourcery dot com
  0 siblings, 1 reply; 2+ messages in thread
From: tim.mooney at ndsu dot edu @ 2011-06-16 20:12 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=12903

           Summary: Makefile install target for libibert assumes gcc
           Product: gdb
           Version: 7.2
            Status: NEW
          Severity: normal
          Priority: P2
         Component: build
        AssignedTo: unassigned@sourceware.org
        ReportedBy: tim.mooney@ndsu.edu


I'm building gdb-7.2 on x86_64-sun-solaris2.10 (Solaris 10u6, not OpenSolaris)
with the Sun Workshop 12 u1 compiler toolchain.

The Makefile.in for libiberty just assumes that gcc is going to be used to
build everything, as it hardcodes ``-print-multi-os-directory'' into the
install flags for libiberty.  This obviously doesn't work for Sun's "cc":

gmake[2]: Entering directory `/local/src/RPM/BUILD/gdb-7.2/libiberty'
gmake[3]: Entering directory `/local/src/RPM/BUILD/gdb-7.2/libiberty/testsuite'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/local/src/RPM/BUILD/gdb-7.2/libiberty/testsuite'
/bin/bash ./../mkinstalldirs /tmp/build/gdb/local/gnu/lib/64/`cc -Xa -xs -g
-xta
rget=native -m64 -xarch=native -I/local/gnu/include -I/local/gnu/include
-I/loca
l/include -print-multi-os-directory`
cc: Warning: Option -nt-multi-os-directory passed to ld, if ld is invoked,
ignor
ed otherwise
usage: cc [ options] files.  Use 'cc -flags' for details
/local/gnu/bin/ginstall -c -m 644 ./libiberty.a
/tmp/build/gdb/local/gnu/lib/64/
`cc -Xa -xs -g -xtarget=native -m64 -xarch=native -I/local/gnu/include
-I/local/
gnu/include -I/local/include -print-multi-os-directory`/./libiberty.an
cc: Warning: Option -nt-multi-os-directory passed to ld, if ld is invoked,
ignor
ed otherwise
usage: cc [ options] files.  Use 'cc -flags' for details
( cd /tmp/build/gdb/local/gnu/lib/64/`cc -Xa -xs -g -xtarget=native -m64
-xarch=
native -I/local/gnu/include -I/local/gnu/include -I/local/include
-print-multi-o
s-directory` ; chmod 644 ./libiberty.an ;ranlib ./libiberty.an )
cc: Warning: Option -nt-multi-os-directory passed to ld, if ld is invoked,
ignor
ed otherwise
usage: cc [ options] files.  Use 'cc -flags' for details
mv -f /tmp/build/gdb/local/gnu/lib/64/`cc -Xa -xs -g -xtarget=native -m64
-xarch
=native -I/local/gnu/include -I/local/gnu/include -I/local/include
-print-multi-
os-directory`/./libiberty.an /tmp/build/gdb/local/gnu/lib/64/`cc -Xa -xs -g
-xta
rget=native -m64 -xarch=native -I/local/gnu/include -I/local/gnu/include
-I/loca
l/include -print-multi-os-directory`/./libiberty.a
cc: Warning: Option -nt-multi-os-directory passed to ld, if ld is invoked,
ignor
ed otherwise
usage: cc [ options] files.  Use 'cc -flags' for details
cc: Warning: Option -nt-multi-os-directory passed to ld, if ld is invoked,
ignor
ed otherwise
usage: cc [ options] files.  Use 'cc -flags' for details


This was not a problem in gdb-7.0.1.  I never tried gdb-7.1, so I don't know if
the problem was present there or not.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug build/12903] Makefile install target for libibert assumes gcc
  2011-06-16 20:12 [Bug build/12903] New: Makefile install target for libibert assumes gcc tim.mooney at ndsu dot edu
@ 2011-06-17  9:12 ` pedro at codesourcery dot com
  0 siblings, 0 replies; 2+ messages in thread
From: pedro at codesourcery dot com @ 2011-06-17  9:12 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=12903

Pedro Alves <pedro at codesourcery dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pedro at codesourcery dot
                   |                            |com

--- Comment #1 from Pedro Alves <pedro at codesourcery dot com> 2011-06-17 09:11:35 UTC ---
Diffing 7.0's and 7.2's Makefile.in.

--- /home/pedro/gdb/7_0/src/libiberty/Makefile.in       2011-01-13
10:31:59.628963997 +0000
+++ /home/pedro/gdb/7_2/src/libiberty/Makefile.in       2011-01-13
10:44:23.278964001 +0000
@@ -101,7 +101,7 @@ SUBDIRS = testsuite

 # FIXME: add @BUILD_INFO@ once we're sure it works for everyone.
 all: stamp-picdir $(TARGETLIB) required-list all-subdir
-       @: $(MAKE) ; exec $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
+       @: $(MAKE) ; $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all

 .PHONY: check installcheck
 check: check-subdir
@@ -371,10 +371,12 @@ TAGS: $(CFILES)
        etags `for i in $(CFILES); do echo $(srcdir)/$$i ; done`

 # The standalone demangler (c++filt) has been moved to binutils.
-demangle:
+# But make this target work anyway for demangler hacking.
+demangle: $(ALL) $(srcdir)/cp-demangle.c
        @echo "The standalone demangler, now named c++filt, is now"
        @echo "a part of binutils."
-       @false
+       $(CC) @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) \
+         $(srcdir)/cp-demangle.c -DSTANDALONE_DEMANGLER $(TARGETLIB) -o $@

 ls:
        @echo Makefile $(CFILES)
@@ -722,7 +724,7 @@ $(CONFIGURED_OFILES): stamp-picdir

 ./lbasename.o: $(srcdir)/lbasename.c config.h $(INCDIR)/ansidecl.h \
        $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
-       $(INCDIR)/safe-ctype.h
+       $(INCDIR)/safe-ctype.h $(INCDIR)/filenames.h
        if [ x"$(PICFLAG)" != x ]; then \
          $(COMPILE.c) $(PICFLAG) $(srcdir)/lbasename.c -o pic/$@; \
        else true; fi

There doesn't seem to be any relevant difference.

The last mention of -print-multi-os-directory in the ChangeLog is:

2003-01-27  Alexandre Oliva  <aoliva@redhat.com>

        * Makefile.in (install_to_tooldir): Instead of $(MULTISUBDIR), use
        /`$$CC -print-multi-os-directory`.

Which is much earlier than 7.0.

I'm a bit puzzled how this isn't visible with 7.0.

Note that libiberty is "owned" by gcc.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-06-17  9:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-16 20:12 [Bug build/12903] New: Makefile install target for libibert assumes gcc tim.mooney at ndsu dot edu
2011-06-17  9:12 ` [Bug build/12903] " pedro at codesourcery dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).