This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc-2.3.5 addon for ColdFire trouble using crosstool


Peter Barada wrote:
With the make-install-lib-all.patch applied(and detected by
crosstool.sh), you change the build-glibc install rule to be:

GLIBC_INITIAL_INSTALL_RULE="install-lib-all install-headers"

instead of the more inclusive:

GLIBC_INITIAL_INSTALL_RULE=install

<bits/syscall.h> is added to the install-other target list by
glibc-2.3.5/misc/Makefile:

install-others += $(inst_includedir)/bits/syscall.h

And does not get installed unless you invoke 'install-other' as a target
to glibc's Makefile.

After I had my toolchian(with the missing <bits/syscall.h> I cd'd into
build-glibc, and with the toolchain in the path and executed:


[peter@thunk build-glibc]$ make install_root=/opt/logicpd/ColdFire-new14/m68k-linux/gcc-3.4.3-glibc-2.3.5/m68k-linux prefix= install-others

which ended up installing <bits/syscall.h> (among other stuff).

(Hmm, I would have expected install_root and prefix to be slightly different, but that's ok.)

Say, you're on to something there.
Files installed by install-others include

$(inst_bindir)/iconv
$(inst_includedir)/bits/stdio_lim.h
$(inst_includedir)/bits/syscall.h
$(inst_includedir)/gnu/stubs.h
$(inst_libexecdir)/getconf
$(inst_libexecdir)/pt_chown
$(inst_msgcatdir)/locale.alias
$(inst_slibdir)/$(rtld-installed-name)
$(inst_sysconfdir)/rpc
$(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab

among others.  I did a spot check on iconv, and sure enough,
it wasn't installed when make-install-lib-all.patch is active
(i.e. for glibc-2.3.[45]).  I'm going to try the following change:

--- crosstool-0.32/crosstool.sh.old     2005-04-28 11:50:17.000000000 -0700
+++ crosstool-0.32/crosstool.sh 2005-04-28 11:52:28.000000000 -0700
@@ -544,7 +544,7 @@
   cd build-glibc
   make LD=${TARGET}-ld RANLIB=${TARGET}-ranlib
   # note: should do full install and then fix linker scripts, but this is faster
-  make install_root=${SYSROOT} $GLIBC_SYSROOT_ARG install-bin install-rootsbin install-sbin install-data
+  make install_root=${SYSROOT} $GLIBC_SYSROOT_ARG install-bin install-rootsbin install-sbin install-data install-others
 fi

# Set up to let user install individual shared libraries in /etc/ld.so.conf easily

Thanks!  I think you just saved me a lot of time.
(I'm just hoping I didn't have some intelligent reason for
leaving out install-others that I'm forgetting.)
- Dan

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]