Hi guys.

We're finally looking at doing some more uClinux dev after about 6 years
of just maintenance work and I grabbed the latest uClinux dist
(/20110210/) and found a build problem when I enable
CONFIG_BINFMT_SHARED_FLAT when building for a m68knommu target, which we
used to use on our old uClinux builds.

I tracked the issue back to a change that's been made to uClibc between
version 0.9.26 and 0.9.27 (so this problem would appear to affect every
uClinux-dist since 2005?), where part of the makefile rules for building
shared library code appears to have been removed, namely code including
this from uClibc/Makefile:


ifneq ($(SHARED_TARGET),)
   
    lib/main.o: $(ROOTDIR)/lib/libc/main.c
        $(CC) $(CFLAGS) $(ARCH_CFLAGS) -c -o $@ $(ROOTDIR)/lib/libc/main.c

bogus $(SHARED_TARGET): lib/libc.a lib/main.o Makefile
        make -C $(ROOTDIR) relink
        $(CC) -nostartfiles -o $(SHARED_TARGET) $(ARCH_CFLAGS)
-Wl,-elf2flt -nostdlib \
            -Wl,-shared-lib-id,${LIBID} \
            lib/main.o \
            -Wl,--whole-archive,lib/libc.a,-lgcc,--no-whole-archive
        $(OBJCOPY) -L _GLOBAL_OFFSET_TABLE_ -L main -L __main -L _start \
            -L __uClibc_main -L __uClibc_start_main -L lib_main \
            -L _exit_dummy_ref \
            -L __do_global_dtors -L __do_global_ctors \
            -L __CTOR_LIST__ -L __DTOR_LIST__ \
            -L _current_shared_library_a5_offset_ \
            $(SHARED_TARGET).gdb
        $(LN) -sf $(SHARED_TARGET).gdb .
    endif

So from what I can see, it would be impossible get uClinux-dist to build
without hand-mods here. So I guess I'm just checking if:
1. Am I missing something? i.e. has something changed that I shouldn't
be using this option for shared libraries anymore?
2. Does anyone know why this code was removed? There are other parts of
the uClibc make system that seem to be pointless without it....?

And finally, uclinux.org CVS seems way out-of-date compared to the
latest uClinux-dist releases, has the public source control gone away
altogether, or just moved elsewhere?

Thanks.


Paul McGougan
Senior Software Engineer
Braintree Communications Pty Ltd
-- 
This information together with any attachments is for the use of the intended 
recipient(s) only and may contain confidential and/or
privileged information and is subject to copyright. If you have received this 
email in error please inform the sender as quickly as possible and
delete this email and any copies of this information from your computer system 
network. If you are not the intended recipient of this email, you
must not copy, distribute or take any action(s) that relies on this 
information. Any form of disclosure, modification, distribution and/or
publication of this email is strictly prohibited.

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to