From aldot at uclibc.org Sun Jun 1 05:40:26 2008 From: aldot at uclibc.org (aldot at uclibc.org) Date: Sun, 1 Jun 2008 05:40:26 -0700 (PDT) Subject: svn commit: trunk/uClibc Message-ID: <20080601124026.0F4CD3C7E8@busybox.net> Author: aldot Date: 2008-06-01 05:40:25 -0700 (Sun, 01 Jun 2008) New Revision: 22157 Log: - store the used compiler plus flags in the .%.dep files too and use this info to decide whether or not to rebuild something (if e.g. the filestamp of the prereq did not change but the cc or CFLAGS did). For files that we did not yet build we have no flags on record, so those did change inherently and we rebuild. Shouldn't be much slower than before. Modified: trunk/uClibc/Makerules Changeset: Modified: trunk/uClibc/Makerules =================================================================== --- trunk/uClibc/Makerules 2008-06-01 10:10:22 UTC (rev 22156) +++ trunk/uClibc/Makerules 2008-06-01 12:40:25 UTC (rev 22157) @@ -60,6 +60,8 @@ show_objs = $(subst ../,,$@) pur_disp_compile.c = echo " "CC $(show_objs) +pur_disp_compile.i = echo " "CPP $(show_objs) +pur_disp_compile.s = echo " "CC-S $(show_objs) pur_disp_compile.u = echo " "CC $(show_objs) pur_disp_compile.S = echo " "AS $(show_objs) pur_disp_compile.m = $(pur_disp_compile.c) @@ -70,6 +72,8 @@ pur_disp_ld = echo " "LD $(1) sil_disp_compile.c = true +sil_disp_compile.i = true +sil_disp_compile.s = true sil_disp_compile.u = true sil_disp_compile.S = true sil_disp_compile.m = true @@ -80,6 +84,8 @@ sil_disp_ld = true ver_disp_compile.c = echo $(cmd_compile.c) +ver_disp_compile.i = echo $(cmd_compile.i) +ver_disp_compile.s = echo $(cmd_compile.s) ver_disp_compile.u = echo $(cmd_compile.u) ver_disp_compile.S = echo $(cmd_compile.S) ver_disp_compile.m = echo $(cmd_compile.m) @@ -90,6 +96,8 @@ ver_disp_ld = disp_compile.c = $($(DISP)_disp_compile.c) +disp_compile.i = $($(DISP)_disp_compile.i) +disp_compile.s = $($(DISP)_disp_compile.s) disp_compile.u = $($(DISP)_disp_compile.u) disp_compile.S = $($(DISP)_disp_compile.S) disp_compile.m = $($(DISP)_disp_compile.m) @@ -99,22 +107,38 @@ disp_ar = $($(DISP)_disp_ar) disp_ld = $($(DISP)_disp_ld) -cmd_gen.dep = -MT $@ -MD -MF $(dir $@).$(notdir $@).dep +CFLAGS_gen.dep = -MT $@ -MD -MF $(dir $@).$(notdir $@).dep -cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(^D)))) $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) $(CFLAGS-$(notdir $<)) $(CFLAGS-$(notdir $@)) $(cmd_gen.dep) -cmd_compile.u = $(CC) $^ $(DEPS-$(notdir $@)) -o $@ $(CFLAGS) $(CFLAGS-$(notdir $(^D))) $(CFLAGS-$(notdir $@)) $(cmd_gen.dep) +# True if not identical. Neither order nor whitespace nor identical flags +# matter. +compare_flags = $(strip $(filter-out $(cmd_$(1)), $(cmd_$(@))) \ + $(filter-out $(cmd_$(@)), $(cmd_$(1)))) + +# Rebuild if the used CC or flags changed. +# Previously used flags are stored in the corresponding .%.dep files +maybe_exec = $(if $(strip $(compare_flags)), \ + @set -e; \ + $(disp_$(1)); \ + $(cmd_$(1)); \ + echo 'cmd_$@ := $(cmd_$1)' >> $(dir $@).$(notdir $@).dep) + +cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(^D)))) $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) $(CFLAGS-$(notdir $<)) $(CFLAGS-$(notdir $@)) $(CFLAGS_gen.dep) +cmd_compile.i = $(cmd_compile.c:-c=-E -dD) +cmd_compile.s = $(cmd_compile.c:-c=-S) +cmd_compile.u = $(CC) $^ $(DEPS-$(notdir $@)) -o $@ $(CFLAGS) $(CFLAGS-$(notdir $(^D))) $(CFLAGS-$(notdir $@)) $(CFLAGS_gen.dep) cmd_compile.S = $(filter-out -std=gnu99, $(cmd_compile.c)) -D__ASSEMBLER__ $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$(notdir $<)) $(ASFLAGS-$(notdir $@)) cmd_compile.m = $(cmd_compile.c) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@)) + cmd_compile-m = $(CC) $^ -c -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(notdir $(@D))) $(CFLAGS-$(notdir $@)) cmd_strip = $(STRIPTOOL) $(STRIP_FLAGS) $^ cmd_t_strip = $(STRIPTOOL) $(STRIP_FLAGS) $@ cmd_ar = $(AR) $(ARFLAGS) $@ $^ -compile.c = @$(disp_compile.c) ; $(cmd_compile.c) -compile.i = $(cmd_compile.c:-c=-E -dD) -compile.s = $(cmd_compile.c:-c=-S) -compile.S = @$(disp_compile.S) ; $(cmd_compile.S) -compile.m = @$(disp_compile.m) ; $(cmd_compile.m) +compile.c = @$(call maybe_exec,compile.c) +compile.i = $(call maybe_exec,compile.i) +compile.s = $(call maybe_exec,compile.s) +compile.S = @$(call maybe_exec,compile.S) +compile.m = @$(call maybe_exec,compile.m) compile-m = @$(disp_compile-m) ; $(cmd_compile-m) do_strip = @$(disp_strip) ; $(cmd_strip) do_t_strip= @$(disp_t_strip) ; $(cmd_t_strip) @@ -180,19 +204,19 @@ CFLAGS-.os+=$(PICFLAG) CFLAGS-.oS+=$(PICFLAG) -DSHARED -%.o: %.c ; $(compile.c) -%.os: %.c ; $(compile.c) -%.oS: %.c ; $(compile.c) -%.o: %.S ; $(compile.S) -%.os: %.S ; $(compile.S) -%.oS: %.S ; $(compile.S) -%.o: %.s ; $(compile.S) -%.os: %.s ; $(compile.S) -%.oS: %.s ; $(compile.S) -%.i: %.c ; $(compile.i) -%.i: %.S ; $(compile.i) -%.s: %.c ; $(compile.s) -%.s: %.S ; $(compile.s) +%.o: %.c FORCE ; $(compile.c) +%.os: %.c FORCE ; $(compile.c) +%.oS: %.c FORCE ; $(compile.c) +%.o: %.S FORCE ; $(compile.S) +%.os: %.S FORCE ; $(compile.S) +%.oS: %.S FORCE ; $(compile.S) +%.o: %.s FORCE ; $(compile.S) +%.os: %.s FORCE ; $(compile.S) +%.oS: %.s FORCE ; $(compile.S) +%.i: %.c FORCE ; $(compile.i) +%.i: %.S FORCE ; $(compile.i) +%.s: %.c FORCE ; $(compile.s) +%.s: %.S FORCE ; $(compile.s) $(top_builddir)lib/interp.c: | $(sub_headers) $(Q)$(INSTALL) -d $(dir $@) @@ -306,7 +330,9 @@ -include $(.depends.dep) endif -.PHONY: dummy create +.PHONY: dummy FORCE +FORCE: + clean: objclean-y headers_clean-y realclean: clean $(Q)$(RM) $(.depends.dep) From aldot at uclibc.org Sun Jun 1 05:50:22 2008 From: aldot at uclibc.org (aldot at uclibc.org) Date: Sun, 1 Jun 2008 05:50:22 -0700 (PDT) Subject: svn commit: trunk/uClibc Message-ID: <20080601125022.1C0E63C7E8@busybox.net> Author: aldot Date: 2008-06-01 05:50:21 -0700 (Sun, 01 Jun 2008) New Revision: 22158 Log: - since we force make into trying to rebuild unconditionally, we have to check for changed prerequisites manually. Modified: trunk/uClibc/Makerules Changeset: Modified: trunk/uClibc/Makerules =================================================================== --- trunk/uClibc/Makerules 2008-06-01 12:40:25 UTC (rev 22157) +++ trunk/uClibc/Makerules 2008-06-01 12:50:21 UTC (rev 22158) @@ -107,21 +107,23 @@ disp_ar = $($(DISP)_disp_ar) disp_ld = $($(DISP)_disp_ld) -CFLAGS_gen.dep = -MT $@ -MD -MF $(dir $@).$(notdir $@).dep +any-prereq = $(filter-out FORCE,$?) $(filter-out FORCE $(wildcard $^),$^) # True if not identical. Neither order nor whitespace nor identical flags # matter. compare_flags = $(strip $(filter-out $(cmd_$(1)), $(cmd_$(@))) \ $(filter-out $(cmd_$(@)), $(cmd_$(1)))) -# Rebuild if the used CC or flags changed. +# Rebuild if any prerequisite, the used CC or flags changed. # Previously used flags are stored in the corresponding .%.dep files -maybe_exec = $(if $(strip $(compare_flags)), \ +maybe_exec = $(if $(strip $(compare_flags) $(any-prereq)), \ @set -e; \ $(disp_$(1)); \ $(cmd_$(1)); \ echo 'cmd_$@ := $(cmd_$1)' >> $(dir $@).$(notdir $@).dep) +CFLAGS_gen.dep = -MT $@ -MD -MF $(dir $@).$(notdir $@).dep + cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(^D)))) $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) $(CFLAGS-$(notdir $<)) $(CFLAGS-$(notdir $@)) $(CFLAGS_gen.dep) cmd_compile.i = $(cmd_compile.c:-c=-E -dD) cmd_compile.s = $(cmd_compile.c:-c=-S) From bernds at uclibc.org Sun Jun 1 09:44:52 2008 From: bernds at uclibc.org (bernds at uclibc.org) Date: Sun, 1 Jun 2008 09:44:52 -0700 (PDT) Subject: svn commit: trunk/uClibc Message-ID: <20080601164452.C73883C3EC@busybox.net> Author: bernds Date: 2008-06-01 09:44:52 -0700 (Sun, 01 Jun 2008) New Revision: 22160 Log: Use $( Author: bernds Date: 2008-06-01 09:49:23 -0700 (Sun, 01 Jun 2008) New Revision: 22161 Log: A slight improvement over my previous commit which ensured we always rebuild libc when one of the source files changes. Since there are more places which want to depend on $(libc), fix them all to use a new variable $(libc.depend), which contains the filename for which we have a rule. Modified: trunk/uClibc/Rules.mak trunk/uClibc/ldso/libdl/Makefile.in trunk/uClibc/libc/Makefile.in trunk/uClibc/libcrypt/Makefile.in trunk/uClibc/libm/Makefile.in trunk/uClibc/libnsl/Makefile.in trunk/uClibc/libpthread/linuxthreads.old/Makefile.in trunk/uClibc/libpthread/linuxthreads.old_db/Makefile.in trunk/uClibc/libpthread/linuxthreads/Makefile.in trunk/uClibc/libpthread/linuxthreads_db/Makefile.in trunk/uClibc/libresolv/Makefile.in trunk/uClibc/librt/Makefile.in trunk/uClibc/libutil/Makefile.in Changeset: Modified: trunk/uClibc/Rules.mak =================================================================== --- trunk/uClibc/Rules.mak 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/Rules.mak 2008-06-01 16:49:23 UTC (rev 22161) @@ -98,6 +98,7 @@ UCLIBC_LDSO := $(UCLIBC_LDSO_NAME).so.$(MAJOR_VERSION) NONSHARED_LIBNAME := uclibc_nonshared.a libc := $(top_builddir)lib/$(SHARED_MAJORNAME) +libc.depend := $(top_builddir)lib/$(SHARED_MAJORNAME:.$(MAJOR_VERSION)=) interp := $(top_builddir)lib/interp.os ldso := $(top_builddir)lib/$(UCLIBC_LDSO) headers_dep := $(top_builddir)include/bits/sysnum.h Modified: trunk/uClibc/ldso/libdl/Makefile.in =================================================================== --- trunk/uClibc/ldso/libdl/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/ldso/libdl/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -41,7 +41,7 @@ lib-so-y += $(top_builddir)lib/libdl.so objclean-y += libdl_clean -$(top_builddir)lib/libdl.so: $(libdl_OUT)/libdl_so.a $(libc) +$(top_builddir)lib/libdl.so: $(libdl_OUT)/libdl_so.a $(libc.depend) $(call link.so,$(libdl_FULL_NAME),$(MAJOR_VERSION)) $(libdl_OUT)/libdl_so.a: $(libdl-so-y) Modified: trunk/uClibc/libc/Makefile.in =================================================================== --- trunk/uClibc/libc/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libc/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -51,16 +51,16 @@ lib-a-y += $(top_builddir)lib/libc.a lib-gdb-y += $(top_builddir)lib/libc.gdb -lib-so-y += $(libc:.$(MAJOR_VERSION)=) +lib-so-y += $(libc.depend) objclean-y += libc_clean OUTPUT_FORMAT = $(CC) $(CFLAGS) -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/OUTPUT_FORMAT ( \1 )/p' ifeq ($(DOMULTI),n) -$(libc:.$(MAJOR_VERSION)=): $(libc_OUT)/libc_so.a $(LIBS-libc.so) +$(libc.depend): $(libc_OUT)/libc_so.a $(LIBS-libc.so) $(call link.so,$(libc_FULL_NAME),$(MAJOR_VERSION)) else -$(libc:.$(MAJOR_VERSION)=): $(libc_OUT)/libc.oS $(libc-nomulti-y:.o=.oS) | $(LIBS-libc.so) +$(libc.depend): $(libc_OUT)/libc.oS $(libc-nomulti-y:.o=.oS) | $(LIBS-libc.so) $(do_strip) $(call linkm.so,$(libc_FULL_NAME),$(MAJOR_VERSION)) endif Modified: trunk/uClibc/libcrypt/Makefile.in =================================================================== --- trunk/uClibc/libcrypt/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libcrypt/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -32,13 +32,13 @@ ifeq ($(DOMULTI),n) ifeq ($(DOPIC),y) -$(top_builddir)lib/libcrypt.so: $(top_builddir)lib/libcrypt.a $(libc) +$(top_builddir)lib/libcrypt.so: $(top_builddir)lib/libcrypt.a $(libc.depend) else -$(top_builddir)lib/libcrypt.so: $(libcrypt_OUT)/libcrypt_so.a $(libc) +$(top_builddir)lib/libcrypt.so: $(libcrypt_OUT)/libcrypt_so.a $(libc.depend) endif $(call link.so,$(libcrypt_FULL_NAME),$(MAJOR_VERSION)) else -$(top_builddir)lib/libcrypt.so: $(libcrypt_OUT)/libcrypt.oS | $(libc) +$(top_builddir)lib/libcrypt.so: $(libcrypt_OUT)/libcrypt.oS | $(libc.depend) $(call linkm.so,$(libcrypt_FULL_NAME),$(MAJOR_VERSION)) endif Modified: trunk/uClibc/libm/Makefile.in =================================================================== --- trunk/uClibc/libm/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libm/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -152,13 +152,13 @@ ifeq ($(DOMULTI),n) ifeq ($(DOPIC),y) -$(top_builddir)lib/libm.so: $(top_builddir)lib/libm.a $(libc) +$(top_builddir)lib/libm.so: $(top_builddir)lib/libm.a $(libc.depend) else -$(top_builddir)lib/libm.so: $(libm_OUT)/libm_so.a $(libc) +$(top_builddir)lib/libm.so: $(libm_OUT)/libm_so.a $(libc.depend) endif $(call link.so,$(libm_FULL_NAME),$(MAJOR_VERSION)) else -$(top_builddir)lib/libm.so: $(libm_OUT)/libm.oS | $(libc) +$(top_builddir)lib/libm.so: $(libm_OUT)/libm.oS | $(libc.depend) $(call linkm.so,$(libm_FULL_NAME),$(MAJOR_VERSION)) endif Modified: trunk/uClibc/libnsl/Makefile.in =================================================================== --- trunk/uClibc/libnsl/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libnsl/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -31,9 +31,9 @@ objclean-y += libnsl_clean ifeq ($(DOPIC),y) -$(top_builddir)lib/libnsl.so: $(top_builddir)lib/libnsl.a $(libc) +$(top_builddir)lib/libnsl.so: $(top_builddir)lib/libnsl.a $(libc.depend) else -$(top_builddir)lib/libnsl.so: $(libnsl_OUT)/libnsl_so.a $(libc) +$(top_builddir)lib/libnsl.so: $(libnsl_OUT)/libnsl_so.a $(libc.depend) endif $(call link.so,$(libnsl_FULL_NAME),$(MAJOR_VERSION)) Modified: trunk/uClibc/libpthread/linuxthreads/Makefile.in =================================================================== --- trunk/uClibc/libpthread/linuxthreads/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libpthread/linuxthreads/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -86,10 +86,10 @@ headers_clean-y += linuxthreads_headers_clean #ifeq ($(DOMULTI),n) -$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc) $(top_builddir)lib/libpthread_nonshared.a +$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend) $(top_builddir)lib/libpthread_nonshared.a $(call link.so,$(libpthread_FULL_NAME),$(MAJOR_VERSION)) #else -#$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread.oS | $(libc) $(top_builddir)lib/libpthread_nonshared.a +#$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread.oS | $(libc.depend) $(top_builddir)lib/libpthread_nonshared.a # $(call linkm.so,$(libpthread_FULL_NAME),$(MAJOR_VERSION)) #endif $(Q)$(RM) $@ Modified: trunk/uClibc/libpthread/linuxthreads.old/Makefile.in =================================================================== --- trunk/uClibc/libpthread/linuxthreads.old/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libpthread/linuxthreads.old/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -76,10 +76,10 @@ headers_clean-y += linuxthreads_headers_clean #ifeq ($(DOMULTI),n) -$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc) +$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend) $(call link.so,$(libpthread_FULL_NAME),$(MAJOR_VERSION)) #else -#$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread.oS | $(libc) +#$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread.oS | $(libc.depend) # $(call linkm.so,$(libpthread_FULL_NAME),$(MAJOR_VERSION)) #endif Modified: trunk/uClibc/libpthread/linuxthreads.old_db/Makefile.in =================================================================== --- trunk/uClibc/libpthread/linuxthreads.old_db/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libpthread/linuxthreads.old_db/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -39,13 +39,13 @@ #ifeq ($(DOMULTI),n) ifeq ($(DOPIC),y) -$(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc) +$(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc.depend) else -$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc) +$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc.depend) endif $(call link.so,$(libthread_db_FULL_NAME),1) #else -#$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db.oS | $(libc) +#$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db.oS | $(libc.depend) # $(call linkm.so,$(libthread_db_FULL_NAME),1) #endif Modified: trunk/uClibc/libpthread/linuxthreads_db/Makefile.in =================================================================== --- trunk/uClibc/libpthread/linuxthreads_db/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libpthread/linuxthreads_db/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -39,13 +39,13 @@ #ifeq ($(DOMULTI),n) ifeq ($(DOPIC),y) -$(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc) +$(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc.depend) else -$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc) +$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc.depend) endif $(call link.so,$(libthread_db_FULL_NAME),1) #else -#$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db.oS | $(libc) +#$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db.oS | $(libc.depend) # $(call linkm.so,$(libthread_db_FULL_NAME),1) #endif Modified: trunk/uClibc/libresolv/Makefile.in =================================================================== --- trunk/uClibc/libresolv/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libresolv/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -31,9 +31,9 @@ objclean-y += libresolv_clean ifeq ($(DOPIC),y) -$(top_builddir)lib/libresolv.so: $(top_builddir)lib/libresolv.a $(libc) +$(top_builddir)lib/libresolv.so: $(top_builddir)lib/libresolv.a $(libc.depend) else -$(top_builddir)lib/libresolv.so: $(libresolv_OUT)/libresolv_so.a $(libc) +$(top_builddir)lib/libresolv.so: $(libresolv_OUT)/libresolv_so.a $(libc.depend) endif $(call link.so,$(libresolv_FULL_NAME),$(MAJOR_VERSION)) Modified: trunk/uClibc/librt/Makefile.in =================================================================== --- trunk/uClibc/librt/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/librt/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -31,9 +31,9 @@ objclean-y += librt_clean ifeq ($(DOPIC),y) -$(top_builddir)lib/librt.so: $(top_builddir)lib/librt.a $(libc) +$(top_builddir)lib/librt.so: $(top_builddir)lib/librt.a $(libc.depend) else -$(top_builddir)lib/librt.so: $(librt_OUT)/librt_so.a $(libc) +$(top_builddir)lib/librt.so: $(librt_OUT)/librt_so.a $(libc.depend) endif $(call link.so,$(librt_FULL_NAME),$(MAJOR_VERSION)) Modified: trunk/uClibc/libutil/Makefile.in =================================================================== --- trunk/uClibc/libutil/Makefile.in 2008-06-01 16:44:52 UTC (rev 22160) +++ trunk/uClibc/libutil/Makefile.in 2008-06-01 16:49:23 UTC (rev 22161) @@ -35,13 +35,13 @@ ifeq ($(DOMULTI),n) ifeq ($(DOPIC),y) -$(top_builddir)lib/libutil.so: $(top_builddir)lib/libutil.a $(libc) +$(top_builddir)lib/libutil.so: $(top_builddir)lib/libutil.a $(libc.depend) else -$(top_builddir)lib/libutil.so: $(libutil_OUT)/libutil_so.a $(libc) +$(top_builddir)lib/libutil.so: $(libutil_OUT)/libutil_so.a $(libc.depend) endif $(call link.so,$(libutil_FULL_NAME),$(MAJOR_VERSION)) else -$(top_builddir)lib/libutil.so: $(libutil_OUT)/libutil.oS | $(libc) +$(top_builddir)lib/libutil.so: $(libutil_OUT)/libutil.oS | $(libc.depend) $(call linkm.so,$(libutil_FULL_NAME),$(MAJOR_VERSION)) endif From bernds at uclibc.org Sun Jun 1 10:27:38 2008 From: bernds at uclibc.org (bernds at uclibc.org) Date: Sun, 1 Jun 2008 10:27:38 -0700 (PDT) Subject: svn commit: trunk/uClibc Message-ID: <20080601172738.106BA3C7CE@busybox.net> Author: bernds Date: 2008-06-01 10:27:37 -0700 (Sun, 01 Jun 2008) New Revision: 22162 Log: Still forgot some libraries in one of the previous commits. Modified: trunk/uClibc/Makerules Changeset: Modified: trunk/uClibc/Makerules =================================================================== --- trunk/uClibc/Makerules 2008-06-01 16:49:23 UTC (rev 22161) +++ trunk/uClibc/Makerules 2008-06-01 17:27:37 UTC (rev 22162) @@ -321,10 +321,10 @@ $(do_ar) files.dep := $(libc-a-y) $(libc-so-y) $(libc-nonshared-y) $(libm-a-y) $(libm-so-y) -files.dep += $(libpthread-a-y) $(libpthread-so-y) $(libutil-a-y) $(libutil-so-y) +files.dep += $(libpthread-a-y) $(libpthread-so-y) $(libthread_db-a-y) $(libthread_db-so-y) files.dep += $(librt-a-y) $(librt-so-y) $(libresolv-a-y) $(libresolv-so-y) -files.dep += $(libcrypt-a-y) $(libcrypt-so-y) $(libdl-a-y) $(libdl-so-y) -files.dep += $(libnsl-a-y) $(libnsl-so-y) $(ldso-y) +files.dep += $(libcrypt-a-y) $(libcrypt-so-y) $(libutil-a-y) $(libutil-so-y) +files.dep += $(libnsl-a-y) $(libnsl-so-y) $(ldso-y) $(libdl-a-y) $(libdl-so-y) .depends.dep := \ $(patsubst %.o,%.o.dep,$(filter %.o,$(files.dep))) \ $(patsubst %.os,%.os.dep,$(filter %.os,$(files.dep))) \ From vda at uclibc.org Sun Jun 1 13:44:50 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Sun, 1 Jun 2008 13:44:50 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc: inet misc/fnmatch misc/regex stdlib/mall etc... Message-ID: <20080601204450.CCA673C84C@busybox.net> Author: vda Date: 2008-06-01 13:44:48 -0700 (Sun, 01 Jun 2008) New Revision: 22168 Log: add missing includes of unistd.h for smallint usage remove a few duplicate includes of unistd.h Modified: trunk/uClibc/libc/inet/netlinkaccess.h trunk/uClibc/libc/misc/fnmatch/fnmatch.c trunk/uClibc/libc/misc/regex/regex_old.c trunk/uClibc/libc/stdlib/malloc-simple/alloc.c trunk/uClibc/libc/sysdeps/linux/nios/crtend.c trunk/uClibc/libc/unistd/fpathconf.c Changeset: Modified: trunk/uClibc/libc/inet/netlinkaccess.h =================================================================== --- trunk/uClibc/libc/inet/netlinkaccess.h 2008-06-01 19:42:14 UTC (rev 22167) +++ trunk/uClibc/libc/inet/netlinkaccess.h 2008-06-01 20:44:48 UTC (rev 22168) @@ -21,6 +21,7 @@ #include #include +#include #include #define _LINUX_TYPES_H Modified: trunk/uClibc/libc/misc/fnmatch/fnmatch.c =================================================================== --- trunk/uClibc/libc/misc/fnmatch/fnmatch.c 2008-06-01 19:42:14 UTC (rev 22167) +++ trunk/uClibc/libc/misc/fnmatch/fnmatch.c 2008-06-01 20:44:48 UTC (rev 22168) @@ -41,6 +41,7 @@ #include #include #include +#include #if HAVE_STRING_H || defined _LIBC # include Modified: trunk/uClibc/libc/misc/regex/regex_old.c =================================================================== --- trunk/uClibc/libc/misc/regex/regex_old.c 2008-06-01 19:42:14 UTC (rev 22167) +++ trunk/uClibc/libc/misc/regex/regex_old.c 2008-06-01 20:44:48 UTC (rev 22168) @@ -35,6 +35,7 @@ #include #include #include +#include #include #include Modified: trunk/uClibc/libc/stdlib/malloc-simple/alloc.c =================================================================== --- trunk/uClibc/libc/stdlib/malloc-simple/alloc.c 2008-06-01 19:42:14 UTC (rev 22167) +++ trunk/uClibc/libc/stdlib/malloc-simple/alloc.c 2008-06-01 20:44:48 UTC (rev 22168) @@ -13,7 +13,6 @@ #include #include #include -#include #include #include Modified: trunk/uClibc/libc/sysdeps/linux/nios/crtend.c =================================================================== --- trunk/uClibc/libc/sysdeps/linux/nios/crtend.c 2008-06-01 19:42:14 UTC (rev 22167) +++ trunk/uClibc/libc/sysdeps/linux/nios/crtend.c 2008-06-01 20:44:48 UTC (rev 22168) @@ -1,5 +1,6 @@ #include #include +#include /* static void (*__CTOR_END__[1]) __P((void)) __attribute__((section(".ctors"))) = { (void *)-1 }; Modified: trunk/uClibc/libc/unistd/fpathconf.c =================================================================== --- trunk/uClibc/libc/unistd/fpathconf.c 2008-06-01 19:42:14 UTC (rev 22167) +++ trunk/uClibc/libc/unistd/fpathconf.c 2008-06-01 20:44:48 UTC (rev 22168) @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include From vda at uclibc.org Sun Jun 1 14:01:15 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Sun, 1 Jun 2008 14:01:15 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc/string Message-ID: <20080601210115.3275E3C859@busybox.net> Author: vda Date: 2008-06-01 14:01:14 -0700 (Sun, 01 Jun 2008) New Revision: 22169 Log: fix compile breakage in libc/string/wcscasecmp.c by adding include in strcasecmp.c Modified: trunk/uClibc/libc/string/strcasecmp.c Changeset: Modified: trunk/uClibc/libc/string/strcasecmp.c =================================================================== --- trunk/uClibc/libc/string/strcasecmp.c 2008-06-01 20:44:48 UTC (rev 22168) +++ trunk/uClibc/libc/string/strcasecmp.c 2008-06-01 21:01:14 UTC (rev 22169) @@ -11,6 +11,7 @@ #include #ifdef WANT_WIDE +# include # define strcasecmp wcscasecmp # define strcasecmp_l wcscasecmp_l libc_hidden_proto(wcscasecmp) From vda at uclibc.org Sun Jun 1 14:51:12 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Sun, 1 Jun 2008 14:51:12 -0700 (PDT) Subject: svn commit: trunk/uClibc Message-ID: <20080601215112.B80553C869@busybox.net> Author: vda Date: 2008-06-01 14:51:12 -0700 (Sun, 01 Jun 2008) New Revision: 22172 Log: build system: stop creating ugly double-slash symlinks like fenv.h -> ../../libc/sysdeps/linux/i386/bits//fenv.h Modified: trunk/uClibc/Makefile.in Changeset: Modified: trunk/uClibc/Makefile.in =================================================================== --- trunk/uClibc/Makefile.in 2008-06-01 21:35:14 UTC (rev 22171) +++ trunk/uClibc/Makefile.in 2008-06-01 21:51:12 UTC (rev 22172) @@ -54,7 +54,10 @@ endif HEADERS_BITS_COMMON := $(notdir $(wildcard $(top_srcdir)libc/sysdeps/linux/common/bits/*.h)) HEADERS_BITS_ARCH := $(notdir $(wildcard $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/bits/*.h)) -HEADERS_BITS_SUBARCH := $(notdir $(wildcard $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/bits/$(TARGET_SUBARCH)/*.h)) +HEADERS_BITS_SUBARCH := +ifneq ($(TARGET_SUBARCH),) +HEADERS_BITS_SUBARCH := $(notdir $(wildcard $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/bits/$(TARGET_SUBARCH)/*.h)) +endif HEADERS_BITS_COMMON := $(filter-out $(HEADERS_BITS_ARCH) $(HEADERS_BITS_SUBARCH),$(HEADERS_BITS_COMMON)) headers: include/bits/uClibc_config.h $(Q)$(MAKE) headers-y From vda at uclibc.org Sun Jun 1 14:52:47 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Sun, 1 Jun 2008 14:52:47 -0700 (PDT) Subject: svn commit: trunk/uClibc: include libc/sysdeps/linux/i386/bits Message-ID: <20080601215247.D3C8B3C869@busybox.net> Author: vda Date: 2008-06-01 14:52:47 -0700 (Sun, 01 Jun 2008) New Revision: 22173 Log: Rework smallint machinery so that it will reliably fail to compile even if arch overrides smallint size. Makes it easier to spot bugs on such arches. Modified: trunk/uClibc/include/unistd.h trunk/uClibc/libc/sysdeps/linux/i386/bits/wordsize.h Changeset: Modified: trunk/uClibc/include/unistd.h =================================================================== --- trunk/uClibc/include/unistd.h 2008-06-01 21:51:12 UTC (rev 22172) +++ trunk/uClibc/include/unistd.h 2008-06-01 21:52:47 UTC (rev 22173) @@ -1109,11 +1109,11 @@ #ifdef UCLIBC_INTERNAL -#ifndef smallint /* if arch didn't override it in bits/wordsize.h */ -typedef int smallint; -typedef unsigned smalluint; -#define smallint smallint +#ifndef smallint_type /* if arch didn't override it in bits/wordsize.h */ +#define smallint_type int #endif +typedef signed smallint_type smallint; +typedef unsigned smallint_type smalluint; #endif Modified: trunk/uClibc/libc/sysdeps/linux/i386/bits/wordsize.h =================================================================== --- trunk/uClibc/libc/sysdeps/linux/i386/bits/wordsize.h 2008-06-01 21:51:12 UTC (rev 22172) +++ trunk/uClibc/libc/sysdeps/linux/i386/bits/wordsize.h 2008-06-01 21:52:47 UTC (rev 22173) @@ -19,9 +19,7 @@ #define __WORDSIZE 32 #ifdef UCLIBC_INTERNAL -#ifndef smallint -typedef signed char smallint; -typedef unsigned char smalluint; -#define smallint smallint +#ifndef smallint_type +#define smallint_type char #endif #endif From vda at uclibc.org Sun Jun 1 15:11:08 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Sun, 1 Jun 2008 15:11:08 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc: inet misc/time stdio Message-ID: <20080601221108.81C223C88A@busybox.net> Author: vda Date: 2008-06-01 15:11:07 -0700 (Sun, 01 Jun 2008) New Revision: 22174 Log: suppress a few "might be used uninitialized" warnings. No code growth. Modified: trunk/uClibc/libc/inet/ntop.c trunk/uClibc/libc/misc/time/time.c trunk/uClibc/libc/stdio/old_vfprintf.c Changeset: Modified: trunk/uClibc/libc/inet/ntop.c =================================================================== --- trunk/uClibc/libc/inet/ntop.c 2008-06-01 21:52:47 UTC (rev 22173) +++ trunk/uClibc/libc/inet/ntop.c 2008-06-01 22:11:07 UTC (rev 22174) @@ -126,6 +126,8 @@ words[i / 2] = (src[i] << 8) | src[i + 1]; best.base = -1; cur.base = -1; + best.len = best.len; /* shutting up compiler warning */ + cur.len = cur.len; /* shutting up compiler warning */ for (i = 0; i < 8; i++) { if (words[i] == 0) { if (cur.base == -1) Modified: trunk/uClibc/libc/misc/time/time.c =================================================================== --- trunk/uClibc/libc/misc/time/time.c 2008-06-01 21:52:47 UTC (rev 22173) +++ trunk/uClibc/libc/misc/time/time.c 2008-06-01 22:11:07 UTC (rev 22174) @@ -673,7 +673,7 @@ { long sec; int i, isdst, isleap, day, day0, monlen, mday; - int oday; /* Note: oday can be uninitialized. */ + int oday = oday; /* ok to be uninitialized, shutting up compiler warning */ isdst = 0; if (r[1].tzname[0] != 0) { @@ -2133,7 +2133,7 @@ { register int *p; time_t t1, t, v; - int wday; /* Note: wday can be uninitialized. */ + int wday = wday; /* ok to be uninitialized, shutting up warning */ { register const uint16_t *vp; Modified: trunk/uClibc/libc/stdio/old_vfprintf.c =================================================================== --- trunk/uClibc/libc/stdio/old_vfprintf.c 2008-06-01 21:52:47 UTC (rev 22173) +++ trunk/uClibc/libc/stdio/old_vfprintf.c 2008-06-01 22:11:07 UTC (rev 22174) @@ -359,13 +359,13 @@ int i; } intarg; int i, cnt, dataargtype, len; - const void *argptr; /* This does not need to be initialized. */ + const void *argptr = argptr; /* ok to be initialized. */ register char *p; const char *fmt0; int preci, width; #define upcase i int radix, dpoint /*, upcase*/; - char tmp[65]; /* TODO - determing needed size from headers */ + char tmp[65]; /* TODO - determine needed size from headers */ char flag[sizeof(spec)]; __STDIO_AUTO_THREADLOCK_VAR; From vda at uclibc.org Sun Jun 1 22:49:59 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Sun, 1 Jun 2008 22:49:59 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc/string Message-ID: <20080602054959.3DAEA3C831@busybox.net> Author: vda Date: 2008-06-01 22:49:58 -0700 (Sun, 01 Jun 2008) New Revision: 22177 Log: fix fallout from libc_hidden_proto removal Modified: trunk/uClibc/libc/string/strcasecmp.c trunk/uClibc/libc/string/strncasecmp.c Changeset: Modified: trunk/uClibc/libc/string/strcasecmp.c =================================================================== --- trunk/uClibc/libc/string/strcasecmp.c 2008-06-02 04:51:29 UTC (rev 22176) +++ trunk/uClibc/libc/string/strcasecmp.c 2008-06-02 05:49:58 UTC (rev 22177) @@ -11,11 +11,12 @@ #include #ifdef WANT_WIDE -# include # define strcasecmp wcscasecmp # define strcasecmp_l wcscasecmp_l libc_hidden_proto(wcscasecmp) +# if defined(__USE_GNU) && defined(__UCLIBC_HAS_XLOCALE__) libc_hidden_proto(wcscasecmp_l) +# endif # ifdef __UCLIBC_DO_XLOCALE libc_hidden_proto(towlower_l) # define TOLOWER(C) towlower_l((C), locale_arg) Modified: trunk/uClibc/libc/string/strncasecmp.c =================================================================== --- trunk/uClibc/libc/string/strncasecmp.c 2008-06-02 04:51:29 UTC (rev 22176) +++ trunk/uClibc/libc/string/strncasecmp.c 2008-06-02 05:49:58 UTC (rev 22177) @@ -14,7 +14,9 @@ # define strncasecmp wcsncasecmp # define strncasecmp_l wcsncasecmp_l libc_hidden_proto(wcsncasecmp) +# if defined(__USE_GNU) && defined(__UCLIBC_HAS_XLOCALE__) libc_hidden_proto(wcsncasecmp_l) +# endif # ifdef __UCLIBC_DO_XLOCALE libc_hidden_proto(towlower_l) # define TOLOWER(C) towlower_l((C), locale_arg) From vda at uclibc.org Mon Jun 2 13:46:06 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Mon, 2 Jun 2008 13:46:06 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc/inet Message-ID: <20080602204606.9FA9C3C8F1@busybox.net> Author: vda Date: 2008-06-02 13:46:06 -0700 (Mon, 02 Jun 2008) New Revision: 22188 Log: libc/inet/addr.c: fix broked indentation and bad style. No code changes. Modified: trunk/uClibc/libc/inet/addr.c Changeset: Modified: trunk/uClibc/libc/inet/addr.c =================================================================== --- trunk/uClibc/libc/inet/addr.c 2008-06-02 20:37:45 UTC (rev 22187) +++ trunk/uClibc/libc/inet/addr.c 2008-06-02 20:46:06 UTC (rev 22188) @@ -55,8 +55,8 @@ int value; int part; - if (cp == NULL) { /* check for NULL arg */ - return 0; + if (cp == NULL) { + return 0; } addr = 0; @@ -79,7 +79,7 @@ } else { char c = *cp++; if (c != '\0' && !isspace(c)) - return 0; + return 0; } addr <<= 8; @@ -131,7 +131,7 @@ q = 0; p = buf + INET_NTOA_MAX_LEN - 1; /* cannot use sizeof(buf) here */ - for (i=0 ; i < 4 ; i++ ) { + for (i = 0; i < 4; i++ ) { p = _int10tostr(p, addr & 0xff) - 1; addr >>= 8; if (q) { @@ -148,7 +148,7 @@ char *inet_ntoa(struct in_addr in) { static char buf[INET_NTOA_MAX_LEN]; - return(inet_ntoa_r(in, buf)); + return inet_ntoa_r(in, buf); } libc_hidden_def(inet_ntoa) #endif @@ -176,7 +176,7 @@ else addr = net | host; addr = htonl(addr); - return (*(struct in_addr *)&addr); + return *(struct in_addr *)&addr; } libc_hidden_def(inet_makeaddr) #endif @@ -192,11 +192,11 @@ in_addr_t i = ntohl(in.s_addr); if (IN_CLASSA(i)) - return ((i)&IN_CLASSA_HOST); + return (i & IN_CLASSA_HOST); else if (IN_CLASSB(i)) - return ((i)&IN_CLASSB_HOST); + return (i & IN_CLASSB_HOST); else - return ((i)&IN_CLASSC_HOST); + return (i & IN_CLASSC_HOST); } #endif @@ -213,11 +213,11 @@ in_addr_t i = ntohl(in.s_addr); if (IN_CLASSA(i)) - return (((i)&IN_CLASSA_NET) >> IN_CLASSA_NSHIFT); + return ((i & IN_CLASSA_NET) >> IN_CLASSA_NSHIFT); else if (IN_CLASSB(i)) - return (((i)&IN_CLASSB_NET) >> IN_CLASSB_NSHIFT); + return ((i & IN_CLASSB_NET) >> IN_CLASSB_NSHIFT); else - return (((i)&IN_CLASSC_NET) >> IN_CLASSC_NSHIFT); + return ((i & IN_CLASSC_NET) >> IN_CLASSC_NSHIFT); } libc_hidden_def(inet_netof) #endif From vda at uclibc.org Mon Jun 2 15:06:59 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Mon, 2 Jun 2008 15:06:59 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc/inet Message-ID: <20080602220659.D8C393C910@busybox.net> Author: vda Date: 2008-06-02 15:06:58 -0700 (Mon, 02 Jun 2008) New Revision: 22189 Log: libc/inet/resolv.c: use ip6.arpa instead of ip6.int for reverse IPv6 DNS resolv. rfc4159 mandated this 3 years ago. Closes bug 1020. Also cleans up some stype inconsistensied and saves 2 bytes of rw data. Modified: trunk/uClibc/libc/inet/resolv.c Changeset: Modified: trunk/uClibc/libc/inet/resolv.c =================================================================== --- trunk/uClibc/libc/inet/resolv.c 2008-06-02 20:46:06 UTC (rev 22188) +++ trunk/uClibc/libc/inet/resolv.c 2008-06-02 22:06:58 UTC (rev 22189) @@ -262,8 +262,6 @@ - - /* Structs */ struct resolv_header { int id; @@ -439,7 +437,7 @@ while ((l = data[offset++])) { if (measure) - total++; + total++; if ((l & 0xc0) == (0xc0)) { if (measure) total++; @@ -466,7 +464,7 @@ /* The null byte must be counted too */ if (measure) - total++; + total++; DPRINTF("Total decode len = %d\n", total); @@ -535,7 +533,7 @@ offset += i; - q->dotted = strdup(temp); + q->dotted = strdup(temp); /* TODO: what if this fails? */ q->qtype = (message[offset + 0] << 8) | message[offset + 1]; q->qclass = (message[offset + 2] << 8) | message[offset + 3]; @@ -568,7 +566,7 @@ dest += i; maxlen -= i; - if (maxlen < (RRFIXEDSZ+a->rdlength)) + if (maxlen < (RRFIXEDSZ + a->rdlength)) return -1; *dest++ = (a->atype & 0xff00) >> 8; @@ -600,7 +598,7 @@ message += offset + i; - a->dotted = strdup(temp); + a->dotted = strdup(temp); /* TODO: what if this fails? */ a->atype = (message[0] << 8) | message[1]; message += 2; a->aclass = (message[0] << 8) | message[1]; @@ -726,7 +724,10 @@ * is pretty lame. I think these two variables can probably be de-global-ized, * which should eliminate the need for doing locking here... Needs a closer * look anyways. */ -static int ns = 0, id = 1; +static int static_ns = 0; +/* uint16: minimizing rw data size, even if code grows a tiny bit. + * rw data costs more. */ +static uint16_t static_id = 1; int attribute_hidden __dns_lookup(const char *name, int type, int nscount, char **nsip, unsigned char **outpacket, struct resolv_answer *a) @@ -762,8 +763,8 @@ /* Mess with globals while under lock */ __UCLIBC_MUTEX_LOCK(mylock); - local_ns = ns % nscount; - local_id = id; + local_ns = static_ns % nscount; + local_id = static_id; __UCLIBC_MUTEX_UNLOCK(mylock); while (retries < MAX_RETRIES) { @@ -792,12 +793,12 @@ if (i < 0) goto fail; - strncpy(lookup,name,MAXDNAME); + strncpy(lookup, name, MAXDNAME); if (variant >= 0) { __UCLIBC_MUTEX_LOCK(__resolv_lock); if (variant < __searchdomains) { - strncat(lookup,".", MAXDNAME); - strncat(lookup,__searchdomain[variant], MAXDNAME); + strncat(lookup, ".", MAXDNAME); + strncat(lookup, __searchdomain[variant], MAXDNAME); } __UCLIBC_MUTEX_UNLOCK(__resolv_lock); } @@ -854,10 +855,9 @@ if (errno == ENETUNREACH) { /* routing error, presume not transient */ goto tryall; - } else { - /* retry */ - retries++; } + /* retry */ + retries++; continue; } @@ -890,7 +890,7 @@ } #endif - len = recv(fd, packet, 512, 0); + len = recv(fd, packet, PACKETSZ, 0); if (len < HFIXEDSZ) { /* too short ! */ goto again; @@ -981,11 +981,11 @@ /* Mess with globals while under lock */ __UCLIBC_MUTEX_LOCK(mylock); - ns = local_ns; - id = local_id; + static_ns = local_ns; + static_id = local_id; __UCLIBC_MUTEX_UNLOCK(mylock); - return (len); /* success! */ + return len; /* success! */ tryall: /* if there are other nameservers, give them a go, @@ -1030,8 +1030,8 @@ /* Mess with globals while under lock */ if (local_ns != -1) { __UCLIBC_MUTEX_LOCK(mylock); - ns = local_ns; - id = local_id; + static_ns = local_ns; + static_id = local_id; __UCLIBC_MUTEX_UNLOCK(mylock); } return -1; @@ -1087,7 +1087,7 @@ if (strcmp(argv[0], "nameserver") == 0) { for (i = 1; i < argc && __nameservers < MAX_SERVERS; i++) { - __nameserver[__nameservers++] = strdup(argv[i]); + __nameserver[__nameservers++] = strdup(argv[i]); /* TODO: what if this fails? */ DPRINTF("adding nameserver %s\n", argv[i]); } } @@ -1099,7 +1099,7 @@ __searchdomain[__searchdomains] = NULL; } for (i = 1; i < argc && __searchdomains < MAX_SEARCH; i++) { - __searchdomain[__searchdomains++] = strdup(argv[i]); + __searchdomain[__searchdomains++] = strdup(argv[i]); /* TODO: what if this fails? */ DPRINTF("adding search %s\n", argv[i]); } } @@ -1235,7 +1235,7 @@ libc_hidden_def(res_init) #ifdef __UCLIBC_HAS_BSD_RES_CLOSE__ -void res_close( void ) +void res_close(void) { __close_nameservers(); memset(&_res, 0, sizeof(_res)); @@ -1319,7 +1319,7 @@ __UCLIBC_MUTEX_UNLOCK(__resolv_lock); if ((!name || !answer) || ((_res_options & RES_INIT) == 0 && res_init() == -1)) { h_errno = NETDB_INTERNAL; - return (-1); + return -1; } errno = 0; @@ -1342,7 +1342,7 @@ if (dots >= _res_ndots) { ret = res_querydomain(name, NULL, class, type, answer, anslen); if (ret > 0) - return (ret); + return ret; saved_herrno = h_errno; _state |= __TRIED_AS_IS; } @@ -1368,7 +1368,7 @@ ret = res_querydomain(name, *domain, class, type, answer, anslen); if (ret > 0) - return (ret); + return ret; /* * If no server present, give up. @@ -1385,7 +1385,7 @@ */ if (errno == ECONNREFUSED) { h_errno = TRY_AGAIN; - return (-1); + return -1; } switch (h_errno) { @@ -1426,7 +1426,7 @@ if (!(_state & __TRIED_AS_IS)) { ret = res_querydomain(name, NULL, class, type, answer, anslen); if (ret > 0) - return (ret); + return ret; } /* @@ -1443,7 +1443,7 @@ h_errno = NO_DATA; else if (_state & __GOT_SERVFAIL) h_errno = TRY_AGAIN; - return (-1); + return -1; } #undef __TRAILING_DOT #undef __GOT_NODATA @@ -1466,7 +1466,7 @@ __UCLIBC_MUTEX_UNLOCK(__resolv_lock); if ((!name || !answer) || ((_res_options & RES_INIT) == 0 && res_init() == -1)) { h_errno = NETDB_INTERNAL; - return (-1); + return -1; } #ifdef DEBUG @@ -1485,7 +1485,7 @@ n = strlen(name); if (n + 1 > sizeof(nbuf)) { h_errno = NO_RECOVERY; - return (-1); + return -1; } if (n > 0 && name[--n] == '.') { strncpy(nbuf, name, n); @@ -1497,11 +1497,11 @@ d = strlen(domain); if (n + 1 + d + 1 > sizeof(nbuf)) { h_errno = NO_RECOVERY; - return (-1); + return -1; } snprintf(nbuf, sizeof(nbuf), "%s.%s", name, domain); } - return (res_query(longname, class, type, answer, anslen)); + return res_query(longname, class, type, answer, anslen); } libc_hidden_def(res_querydomain) @@ -1518,11 +1518,11 @@ struct hostent h; char buf[ #ifndef __UCLIBC_HAS_IPV6__ - sizeof(struct in_addr) + sizeof(struct in_addr *)*2 + + sizeof(struct in_addr) + sizeof(struct in_addr *)*2 + #else - sizeof(struct in6_addr) + sizeof(struct in6_addr *)*2 + + sizeof(struct in6_addr) + sizeof(struct in6_addr *)*2 + #endif /* __UCLIBC_HAS_IPV6__ */ - sizeof(char *)*(ALIAS_DIM) + 384/*namebuffer*/ + 32/* margin */]; + sizeof(char *)*(ALIAS_DIM) + 384 /*namebuffer*/ + 32 /* margin */]; } *sp; struct hostent *hp; @@ -1715,7 +1715,7 @@ static int __stay_open; static FILE * __gethostent_fp; -void endhostent (void) +void endhostent(void) { __UCLIBC_MUTEX_LOCK(mylock); __stay_open = 0; @@ -1724,7 +1724,7 @@ __UCLIBC_MUTEX_UNLOCK(mylock); } -void sethostent (int stay_open) +void sethostent(int stay_open) { __UCLIBC_MUTEX_LOCK(mylock); __stay_open = stay_open; @@ -1756,18 +1756,18 @@ } libc_hidden_def(gethostent_r) -struct hostent *gethostent (void) +struct hostent *gethostent(void) { static struct { struct hostent h; char buf[ #ifndef __UCLIBC_HAS_IPV6__ - sizeof(struct in_addr) + sizeof(struct in_addr *)*2 + + sizeof(struct in_addr) + sizeof(struct in_addr *)*2 + #else - sizeof(struct in6_addr) + sizeof(struct in6_addr *)*2 + + sizeof(struct in6_addr) + sizeof(struct in6_addr *)*2 + #endif /* __UCLIBC_HAS_IPV6__ */ - sizeof(char *)*(ALIAS_DIM) + - 80/*namebuffer*/ + 2/* margin */]; + sizeof(char *)*(ALIAS_DIM) + + 80 /*namebuffer*/ + 2 /* margin */]; } *sp; struct hostent *host; @@ -1824,8 +1824,8 @@ inet_ntop(type, addr, ipaddr, sizeof(ipaddr)); - return(__read_etc_hosts_r(NULL, ipaddr, type, GET_HOSTS_BYADDR, - result_buf, buf, buflen, result, h_errnop)); + return __read_etc_hosts_r(NULL, ipaddr, type, GET_HOSTS_BYADDR, + result_buf, buf, buflen, result, h_errnop); } #endif @@ -1836,7 +1836,7 @@ #endif /* min */ libc_hidden_proto(getnameinfo) -int getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, +int getnameinfo(const struct sockaddr *sa, socklen_t addrlen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, unsigned int flags) { @@ -2188,8 +2188,9 @@ int * h_errnop) { #ifndef __UCLIBC_HAS_IPV6__ - return family == (AF_INET)? gethostbyname_r(name, result_buf, - buf, buflen, result, h_errnop) : HOST_NOT_FOUND; + return family == (AF_INET) + ? gethostbyname_r(name, result_buf, buf, buflen, result, h_errnop) + : HOST_NOT_FOUND; #else /* __UCLIBC_HAS_IPV6__ */ struct in6_addr *in; struct in6_addr **addr_list; @@ -2323,7 +2324,7 @@ #endif #ifdef L_gethostbyaddr_r -int gethostbyaddr_r (const void *addr, socklen_t len, int type, +int gethostbyaddr_r(const void *addr, socklen_t len, int type, struct hostent * result_buf, char * buf, size_t buflen, struct hostent ** result, @@ -2447,7 +2448,7 @@ qp += sprintf(qp, "%x.%x.", in6->s6_addr[i] & 0xf, (in6->s6_addr[i] >> 4) & 0xf); } - strcpy(qp, "ip6.int"); + strcpy(qp, "ip6.arpa"); #endif /* __UCLIBC_HAS_IPV6__ */ } @@ -2533,7 +2534,7 @@ if (n > 0 && dst[0] == '.') dst[0] = '\0'; - return (n); + return n; } #endif /* L_res_comp */ @@ -2567,9 +2568,9 @@ /* Special modifiers in zone files. */ case 0x40: /* '@' */ case 0x24: /* '$' */ - return (1); + return 1; default: - return (0); + return 0; } } @@ -2588,10 +2589,10 @@ int n; if ((n = ns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1) - return (-1); + return -1; if (ns_name_ntop(tmp, dst, dstsiz) == -1) - return (-1); - return (n); + return -1; + return n; } libc_hidden_def(ns_name_uncompress) @@ -2619,33 +2620,33 @@ while ((n = *cp++) != 0) { if ((n & NS_CMPRSFLGS) != 0) { /* Some kind of compression pointer. */ - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } if (dn != dst) { if (dn >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } *dn++ = '.'; } if (dn + n >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } for ((void)NULL; n > 0; n--) { c = *cp++; if (special(c)) { if (dn + 1 >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } *dn++ = '\\'; *dn++ = (char)c; } else if (!printable(c)) { if (dn + 3 >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } *dn++ = '\\'; *dn++ = digits[c / 100]; @@ -2653,8 +2654,8 @@ *dn++ = digits[c % 10]; } else { if (dn >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } *dn++ = (char)c; } @@ -2662,14 +2663,14 @@ } if (dn == dst) { if (dn >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } *dn++ = '.'; } if (dn >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } *dn++ = '\0'; return (dn - dst); @@ -2695,8 +2696,8 @@ srcp = src; dstlim = dst + dstsiz; if (srcp < msg || srcp >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } /* Fetch next label in domain name. */ while ((n = *srcp++) != 0) { @@ -2705,8 +2706,8 @@ case 0: /* Limit checks. */ if (dstp + n + 1 >= dstlim || srcp + n >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } checked += n + 1; *dstp++ = n; @@ -2717,15 +2718,15 @@ case NS_CMPRSFLGS: if (srcp >= eom) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } if (len < 0) len = srcp - src + 1; srcp = msg + (((n & 0x3f) << 8) | (*srcp & 0xff)); if (srcp < msg || srcp >= eom) { /* Out of range. */ - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } checked += 2; /* @@ -2734,20 +2735,20 @@ * there must be a loop. */ if (checked >= eom - msg) { - __set_errno (EMSGSIZE); - return (-1); + __set_errno(EMSGSIZE); + return -1; } break; default: - __set_errno (EMSGSIZE); - return (-1); /* flag error */ + __set_errno(EMSGSIZE); + return -1; /* flag error */ } } *dstp = '\0'; if (len < 0) len = srcp - src; - return (len); + return len; } libc_hidden_def(ns_name_unpack) #endif /* L_ns_name */ From bugs at busybox.net Mon Jun 2 15:07:30 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 15:07:30 -0700 Subject: [uClibc 0001020]: IPv6 DNS Reverse Lookup Transition Message-ID: The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=1020 ====================================================================== Reported By: yoshfuji Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 1020 Category: Networking Support Reproducibility: always Severity: major Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 09-05-2006 23:45 PDT Last Modified: 06-02-2008 15:07 PDT ====================================================================== Summary: IPv6 DNS Reverse Lookup Transition Description: IPv6 DNS reverse lookups now migrated from ip6.int to ip6.arpa. ====================================================================== ---------------------------------------------------------------------- vda - 06-02-08 15:07 ---------------------------------------------------------------------- Fixed in rev 22189, thanks. Issue History Date Modified Username Field Change ====================================================================== 09-05-06 23:45 yoshfuji New Issue 09-05-06 23:45 yoshfuji Status new => assigned 09-05-06 23:45 yoshfuji Assigned To => uClibc 09-05-06 23:45 yoshfuji File Added: uclibc-fix.diff 06-02-08 15:07 vda Status assigned => closed 06-02-08 15:07 vda Note Added: 0007944 ====================================================================== From vda at uclibc.org Mon Jun 2 16:21:41 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Mon, 2 Jun 2008 16:21:41 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc/stdlib Message-ID: <20080602232141.5D7BA3C910@busybox.net> Author: vda Date: 2008-06-02 16:21:40 -0700 (Mon, 02 Jun 2008) New Revision: 22191 Log: fix bug 1577: '`' is not an acceptable digit for strto[u]l(). Code size is not changed on i386. Modified: trunk/uClibc/libc/stdlib/stdlib.c Changeset: Modified: trunk/uClibc/libc/stdlib/stdlib.c =================================================================== --- trunk/uClibc/libc/stdlib/stdlib.c 2008-06-02 22:24:34 UTC (rev 22190) +++ trunk/uClibc/libc/stdlib/stdlib.c 2008-06-02 23:21:40 UTC (rev 22191) @@ -509,7 +509,7 @@ unsigned long attribute_hidden __XL_NPP(_stdlib_strto_l)(register const Wchar * __restrict str, Wchar ** __restrict endptr, int base, - int sflag __LOCALE_PARAM ) + int sflag __LOCALE_PARAM) { unsigned long number, cutoff; #if _STRTO_ENDPTR @@ -530,7 +530,7 @@ /* Handle optional sign. */ negative = 0; - switch(*str) { + switch (*str) { case '-': negative = 1; /* Fall through to increment str. */ case '+': ++str; } @@ -557,11 +557,11 @@ cutoff_digit = ULONG_MAX % base; cutoff = ULONG_MAX / base; do { - digit = (((Wuchar)(*str - '0')) <= 9) - ? (*str - '0') - : ((*str >= 'A') - ? (((0x20|(*str)) - 'a' + 10)) /* WARNING: assumes ascii. */ - : 40); + digit = ((Wuchar)(*str - '0') <= 9) + ? /* 0..9 */ (*str - '0') + : /* else */ (((Wuchar)(0x20 | *str) >= 'a') /* WARNING: assumes ascii. */ + ? /* >= A/a */ ((Wuchar)(0x20 | *str) - ('a' - 10)) + : /* else */ 40 /* bad value */); if (digit >= base) { break; @@ -683,7 +683,7 @@ /* Handle optional sign. */ negative = 0; - switch(*str) { + switch (*str) { case '-': negative = 1; /* Fall through to increment str. */ case '+': ++str; } @@ -708,11 +708,11 @@ if (((unsigned)(base - 2)) < 35) { /* Legal base. */ do { - digit = (((Wuchar)(*str - '0')) <= 9) - ? (*str - '0') - : ((*str >= 'A') - ? (((0x20|(*str)) - 'a' + 10)) /* WARNING: assumes ascii. */ - : 40); + digit = ((Wuchar)(*str - '0') <= 9) + ? /* 0..9 */ (*str - '0') + : /* else */ (((Wuchar)(0x20 | *str) >= 'a') /* WARNING: assumes ascii. */ + ? /* >= A/a */ ((Wuchar)(0x20 | *str) - ('a' - 10)) + : /* else */ 40 /* bad value */); if (digit >= base) { break; From bugs at busybox.net Mon Jun 2 16:22:00 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 16:22:00 -0700 Subject: [uClibc 0001577]: strtol accepts backtick as valid digit Message-ID: <0abe94b9e77cecfe2b5cf468065a11de@bugs.uclibc.org> The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=1577 ====================================================================== Reported By: patchman Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 1577 Category: Other Reproducibility: always Severity: trivial Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 11-07-2007 02:44 PST Last Modified: 06-02-2008 16:21 PDT ====================================================================== Summary: strtol accepts backtick as valid digit Description: strtol will not report an error if a backtick is part of the number-string to convert. E.g. "5000`" will be converted to 50009. Looking at the code I see that this is a corner case that is not checked: ... digit = (((Wuchar)(*str - '0')) <= 9) ? (*str - '0') : ((*str >= 'A') ? (((0x20|(*str)) - 'a' + 10)) /* WARNING: assumes ascii. */ : 40); if (digit >= base) { break; } ... A backtick is 0x60. So it is greater than 'A'. 0x20|0x60 is 0x80. 0x80-'a'+10 evaluates to '9' which is accepted as a valid digit. This piece of code occurs more than once in the code. The trunk seems to contain the bug, too. The solution would be to explicitly check for this case. ====================================================================== ---------------------------------------------------------------------- patchman - 11-07-07 03:12 ---------------------------------------------------------------------- Similar code seems to exist in the floating point versions of this routines. At least when hexadecimal floats are enabled. ---------------------------------------------------------------------- patchman - 11-07-07 04:36 ---------------------------------------------------------------------- Small correction: 0x20|0x60 is 0x60. 0x60-'a'+10 evaluates to 9. I append a patch that will fix this - maybe there is a more elegant way ... ---------------------------------------------------------------------- vda - 06-02-08 16:21 ---------------------------------------------------------------------- Fixed in rev 22191, thanks. Issue History Date Modified Username Field Change ====================================================================== 11-07-07 02:44 patchman New Issue 11-07-07 02:44 patchman Status new => assigned 11-07-07 02:44 patchman Assigned To => uClibc 11-07-07 03:12 patchman Note Added: 0002894 11-07-07 04:36 patchman Note Added: 0002895 11-07-07 04:36 patchman File Added: strtol.patch 06-02-08 16:21 vda Status assigned => closed 06-02-08 16:21 vda Note Added: 0007954 ====================================================================== From vda at uclibc.org Mon Jun 2 16:22:44 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Mon, 2 Jun 2008 16:22:44 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc/stdlib Message-ID: <20080602232244.AEBC43C911@busybox.net> Author: vda Date: 2008-06-02 16:22:43 -0700 (Mon, 02 Jun 2008) New Revision: 22192 Log: libc/stdlib/stdlib.c: fix whitespace damage. No code changes (verified with objdump) Modified: trunk/uClibc/libc/stdlib/stdlib.c Changeset: Modified: trunk/uClibc/libc/stdlib/stdlib.c =================================================================== --- trunk/uClibc/libc/stdlib/stdlib.c 2008-06-02 23:21:40 UTC (rev 22191) +++ trunk/uClibc/libc/stdlib/stdlib.c 2008-06-02 23:22:43 UTC (rev 22192) @@ -328,9 +328,9 @@ libc_hidden_proto(__XL_NPP(strtol)) long __XL_NPP(strtol)(const char * __restrict str, char ** __restrict endptr, - int base __LOCALE_PARAM ) + int base __LOCALE_PARAM) { - return __XL_NPP(_stdlib_strto_l)(str, endptr, base, 1 __LOCALE_ARG ); + return __XL_NPP(_stdlib_strto_l)(str, endptr, base, 1 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(strtol)) @@ -359,10 +359,9 @@ libc_hidden_proto(__XL_NPP(strtoll)) long long __XL_NPP(strtoll)(const char * __restrict str, char ** __restrict endptr, int base - __LOCALE_PARAM ) + __LOCALE_PARAM) { - return (long long) __XL_NPP(_stdlib_strto_ll)(str, endptr, base, 1 - __LOCALE_ARG ); + return (long long) __XL_NPP(_stdlib_strto_ll)(str, endptr, base, 1 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(strtoll)) @@ -382,9 +381,9 @@ libc_hidden_proto(__XL_NPP(strtoul)) unsigned long __XL_NPP(strtoul)(const char * __restrict str, char ** __restrict endptr, int base - __LOCALE_PARAM ) + __LOCALE_PARAM) { - return __XL_NPP(_stdlib_strto_l)(str, endptr, base, 0 __LOCALE_ARG ); + return __XL_NPP(_stdlib_strto_l)(str, endptr, base, 0 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(strtoul)) @@ -414,9 +413,9 @@ libc_hidden_proto(__XL_NPP(strtoull)) unsigned long long __XL_NPP(strtoull)(const char * __restrict str, char ** __restrict endptr, int base - __LOCALE_PARAM ) + __LOCALE_PARAM) { - return __XL_NPP(_stdlib_strto_ll)(str, endptr, base, 0 __LOCALE_ARG ); + return __XL_NPP(_stdlib_strto_ll)(str, endptr, base, 0 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(strtoull)) @@ -511,31 +510,31 @@ Wchar ** __restrict endptr, int base, int sflag __LOCALE_PARAM) { - unsigned long number, cutoff; + unsigned long number, cutoff; #if _STRTO_ENDPTR - const Wchar *fail_char; -#define SET_FAIL(X) fail_char = (X) + const Wchar *fail_char; +#define SET_FAIL(X) fail_char = (X) #else -#define SET_FAIL(X) ((void)(X)) /* Keep side effects. */ +#define SET_FAIL(X) ((void)(X)) /* Keep side effects. */ #endif - unsigned char negative, digit, cutoff_digit; + unsigned char negative, digit, cutoff_digit; assert(((unsigned int)sflag) <= 1); SET_FAIL(str); - while (ISSPACE(*str)) { /* Skip leading whitespace. */ + while (ISSPACE(*str)) { /* Skip leading whitespace. */ ++str; - } + } - /* Handle optional sign. */ - negative = 0; - switch (*str) { + /* Handle optional sign. */ + negative = 0; + switch (*str) { case '-': negative = 1; /* Fall through to increment str. */ case '+': ++str; - } + } - if (!(base & ~0x10)) { /* Either dynamic (base = 0) or base 16. */ + if (!(base & ~0x10)) { /* Either dynamic (base = 0) or base 16. */ base += 10; /* Default is 10 (26). */ if (*str == '0') { SET_FAIL(++str); @@ -549,11 +548,11 @@ if (base > 16) { /* Adjust in case base wasn't dynamic. */ base = 16; } - } + } number = 0; - if (((unsigned)(base - 2)) < 35) { /* Legal base. */ + if (((unsigned)(base - 2)) < 35) { /* Legal base. */ cutoff_digit = ULONG_MAX % base; cutoff = ULONG_MAX / base; do { @@ -581,13 +580,13 @@ } #if _STRTO_ENDPTR - if (endptr) { + if (endptr) { *endptr = (Wchar *) fail_char; - } + } #endif { - unsigned long tmp = ((negative) + unsigned long tmp = (negative ? ((unsigned long)(-(1+LONG_MIN)))+1 : LONG_MAX); if (sflag && (number > tmp)) { @@ -661,34 +660,34 @@ unsigned long long attribute_hidden __XL_NPP(_stdlib_strto_ll)(register const Wchar * __restrict str, Wchar ** __restrict endptr, int base, - int sflag __LOCALE_PARAM ) + int sflag __LOCALE_PARAM) { - unsigned long long number; + unsigned long long number; #if _STRTO_ENDPTR - const Wchar *fail_char; -#define SET_FAIL(X) fail_char = (X) + const Wchar *fail_char; +#define SET_FAIL(X) fail_char = (X) #else -#define SET_FAIL(X) ((void)(X)) /* Keep side effects. */ +#define SET_FAIL(X) ((void)(X)) /* Keep side effects. */ #endif unsigned int n1; - unsigned char negative, digit; + unsigned char negative, digit; assert(((unsigned int)sflag) <= 1); SET_FAIL(str); - while (ISSPACE(*str)) { /* Skip leading whitespace. */ + while (ISSPACE(*str)) { /* Skip leading whitespace. */ ++str; - } + } - /* Handle optional sign. */ - negative = 0; - switch (*str) { + /* Handle optional sign. */ + negative = 0; + switch (*str) { case '-': negative = 1; /* Fall through to increment str. */ case '+': ++str; - } + } - if (!(base & ~0x10)) { /* Either dynamic (base = 0) or base 16. */ + if (!(base & ~0x10)) { /* Either dynamic (base = 0) or base 16. */ base += 10; /* Default is 10 (26). */ if (*str == '0') { SET_FAIL(++str); @@ -702,11 +701,11 @@ if (base > 16) { /* Adjust in case base wasn't dynamic. */ base = 16; } - } + } number = 0; - if (((unsigned)(base - 2)) < 35) { /* Legal base. */ + if (((unsigned)(base - 2)) < 35) { /* Legal base. */ do { digit = ((Wuchar)(*str - '0') <= 9) ? /* 0..9 */ (*str - '0') @@ -743,9 +742,9 @@ } #if _STRTO_ENDPTR - if (endptr) { + if (endptr) { *endptr = (Wchar *) fail_char; - } + } #endif { @@ -818,16 +817,16 @@ * bcc and gcc. */ libc_hidden_proto(qsort) -void qsort (void *base, - size_t nel, - size_t width, - int (*comp)(const void *, const void *)) +void qsort(void *base, + size_t nel, + size_t width, + int (*comp)(const void *, const void *)) { size_t wgap, i, j, k; char tmp; if ((nel > 1) && (width > 0)) { - assert( nel <= ((size_t)(-1)) / width ); /* check for overflow */ + assert(nel <= ((size_t)(-1)) / width); /* check for overflow */ wgap = 0; do { wgap = 3 * wgap + 1; @@ -847,7 +846,7 @@ j -= wgap; a = j + ((char *)base); b = a + wgap; - if ( (*comp)(a, b) <= 0 ) { + if ((*comp)(a, b) <= 0) { break; } k = width; @@ -855,7 +854,7 @@ tmp = *a; *a++ = *b; *b++ = tmp; - } while ( --k ); + } while (--k); } while (j >= wgap); i += width; } while (i < nel); @@ -876,40 +875,36 @@ #include -void ssort (void *base, - size_t nel, - size_t width, - int (*comp)(const void *, const void *)) +void ssort(void *base, + size_t nel, + size_t width, + int (*comp)(const void *, const void *)) { - size_t wnel, gap, wgap, i, j, k; - char *a, *b, tmp; + size_t wnel, gap, wgap, i, j, k; + char *a, *b, tmp; - wnel = width * nel; - for (gap = 0; ++gap < nel;) - gap *= 3; - while ( gap /= 3 ) - { - wgap = width * gap; - for (i = wgap; i < wnel; i += width) - { - for (j = i - wgap; ;j -= wgap) - { - a = j + (char *)base; - b = a + wgap; - if ( (*comp)(a, b) <= 0 ) - break; - k = width; - do - { - tmp = *a; - *a++ = *b; - *b++ = tmp; - } while ( --k ); - if (j < wgap) - break; - } - } - } + wnel = width * nel; + for (gap = 0; ++gap < nel;) + gap *= 3; + while ((gap /= 3) != 0) { + wgap = width * gap; + for (i = wgap; i < wnel; i += width) { + for (j = i - wgap; ;j -= wgap) { + a = j + (char *)base; + b = a + wgap; + if ((*comp)(a, b) <= 0) + break; + k = width; + do { + tmp = *a; + *a++ = *b; + *b++ = tmp; + } while (--k); + if (j < wgap) + break; + } + } + } } #endif @@ -1045,9 +1040,9 @@ libc_hidden_proto(__XL_NPP(wcstol)) long __XL_NPP(wcstol)(const wchar_t * __restrict str, - wchar_t ** __restrict endptr, int base __LOCALE_PARAM ) + wchar_t ** __restrict endptr, int base __LOCALE_PARAM) { - return __XL_NPP(_stdlib_wcsto_l)(str, endptr, base, 1 __LOCALE_ARG ); + return __XL_NPP(_stdlib_wcsto_l)(str, endptr, base, 1 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(wcstol)) @@ -1076,10 +1071,9 @@ libc_hidden_proto(__XL_NPP(wcstoll)) long long __XL_NPP(wcstoll)(const wchar_t * __restrict str, wchar_t ** __restrict endptr, int base - __LOCALE_PARAM ) + __LOCALE_PARAM) { - return (long long) __XL_NPP(_stdlib_wcsto_ll)(str, endptr, base, 1 - __LOCALE_ARG ); + return (long long) __XL_NPP(_stdlib_wcsto_ll)(str, endptr, base, 1 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(wcstoll)) @@ -1099,9 +1093,9 @@ libc_hidden_proto(__XL_NPP(wcstoul)) unsigned long __XL_NPP(wcstoul)(const wchar_t * __restrict str, wchar_t ** __restrict endptr, int base - __LOCALE_PARAM ) + __LOCALE_PARAM) { - return __XL_NPP(_stdlib_wcsto_l)(str, endptr, base, 0 __LOCALE_ARG ); + return __XL_NPP(_stdlib_wcsto_l)(str, endptr, base, 0 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(wcstoul)) @@ -1130,9 +1124,9 @@ libc_hidden_proto(__XL_NPP(wcstoull)) unsigned long long __XL_NPP(wcstoull)(const wchar_t * __restrict str, wchar_t ** __restrict endptr, int base - __LOCALE_PARAM ) + __LOCALE_PARAM) { - return __XL_NPP(_stdlib_wcsto_ll)(str, endptr, base, 0 __LOCALE_ARG ); + return __XL_NPP(_stdlib_wcsto_ll)(str, endptr, base, 0 __LOCALE_ARG); } libc_hidden_def(__XL_NPP(wcstoull)) From vda at uclibc.org Mon Jun 2 16:45:23 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Mon, 2 Jun 2008 16:45:23 -0700 (PDT) Subject: svn commit: trunk/uClibc/include Message-ID: <20080602234524.3172B3C910@busybox.net> Author: vda Date: 2008-06-02 16:45:23 -0700 (Mon, 02 Jun 2008) New Revision: 22193 Log: dlfcn.h exists only if __HAVE_SHARED__ ("we are built with shared lib support"), not when !__HAVE_NO_SHARED__ ("arch can theoretically support shred libs") Modified: trunk/uClibc/include/link.h Changeset: Modified: trunk/uClibc/include/link.h =================================================================== --- trunk/uClibc/include/link.h 2008-06-02 23:22:43 UTC (rev 22192) +++ trunk/uClibc/include/link.h 2008-06-02 23:45:23 UTC (rev 22193) @@ -23,7 +23,7 @@ #include #include -#ifndef __HAVE_NO_SHARED__ +#ifdef __HAVE_SHARED__ #include #endif #include From vda at uclibc.org Mon Jun 2 16:46:17 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Mon, 2 Jun 2008 16:46:17 -0700 (PDT) Subject: svn commit: trunk/uClibc: docs extra/Configs Message-ID: <20080602234617.A10973C912@busybox.net> Author: vda Date: 2008-06-02 16:46:16 -0700 (Mon, 02 Jun 2008) New Revision: 22194 Log: Rename HAVE_NO_SHARED to ARCH_HAS_NO_SHARED, otherwise it's too confusing with HAVE_SHARED Modified: trunk/uClibc/docs/PORTING trunk/uClibc/extra/Configs/Config.e1 trunk/uClibc/extra/Configs/Config.in trunk/uClibc/extra/Configs/Config.sparc Changeset: Modified: trunk/uClibc/docs/PORTING =================================================================== --- trunk/uClibc/docs/PORTING 2008-06-02 23:45:23 UTC (rev 22193) +++ trunk/uClibc/docs/PORTING 2008-06-02 23:46:16 UTC (rev 22194) @@ -10,8 +10,8 @@ - add ARCH to the 'Target Architecture' list in extra/Configs/Config.in - Initially you will want to disable shared libraries, since making the shared library loader work requires you first have basic architecture - support working. Thus you should add HAVE_NO_SHARED and ARCH_HAS_NO_LDSO - to Config.ARCH's TARGET_ARCH + support working. Thus you should add ARCH_HAS_NO_SHARED and + ARCH_HAS_NO_LDSO to Config.ARCH's TARGET_ARCH ==================== === libc sysdeps === Modified: trunk/uClibc/extra/Configs/Config.e1 =================================================================== --- trunk/uClibc/extra/Configs/Config.e1 2008-06-02 23:45:23 UTC (rev 22193) +++ trunk/uClibc/extra/Configs/Config.e1 2008-06-02 23:46:16 UTC (rev 22194) @@ -12,7 +12,7 @@ default y select ARCH_BIG_ENDIAN select ARCH_HAS_NO_MMU - select HAVE_NO_SHARED + select ARCH_HAS_NO_SHARED config ARCH_E1 bool Modified: trunk/uClibc/extra/Configs/Config.in =================================================================== --- trunk/uClibc/extra/Configs/Config.in 2008-06-02 23:45:23 UTC (rev 22193) +++ trunk/uClibc/extra/Configs/Config.in 2008-06-02 23:46:16 UTC (rev 22194) @@ -215,18 +215,18 @@ If you wish to build all of uClibc as PIC objects, then answer Y here. If you are unsure, then you should answer N. -config HAVE_NO_SHARED +config ARCH_HAS_NO_SHARED bool default n config ARCH_HAS_NO_LDSO bool - select HAVE_NO_SHARED + select ARCH_HAS_NO_SHARED default n config HAVE_SHARED bool "Enable support for shared libraries" - depends on !HAVE_NO_SHARED + depends on !ARCH_HAS_NO_SHARED default y help If you wish to build uClibc with support for shared libraries then Modified: trunk/uClibc/extra/Configs/Config.sparc =================================================================== --- trunk/uClibc/extra/Configs/Config.sparc 2008-06-02 23:45:23 UTC (rev 22193) +++ trunk/uClibc/extra/Configs/Config.sparc 2008-06-02 23:46:16 UTC (rev 22194) @@ -26,7 +26,7 @@ SPARC v7 will give you only static support. config CONFIG_SPARC_V7 - select HAVE_NO_SHARED + select ARCH_HAS_NO_SHARED bool "SPARC v7" config CONFIG_SPARC_V8 From bugs at busybox.net Mon Jun 2 16:47:23 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 16:47:23 -0700 Subject: [uClibc 0003254]: Build: dlfcn.h removed when it shouldn't be Message-ID: The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=3254 ====================================================================== Reported By: frabar666 Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 3254 Category: Shared Library Support Reproducibility: always Severity: major Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 05-06-2008 12:29 PDT Last Modified: 06-02-2008 16:47 PDT ====================================================================== Summary: Build: dlfcn.h removed when it shouldn't be Description: Product version: svn-HEAD svn-r20475 added logic to rm during build (in "Makefile.in") and remove its inclusion (in "include/link.h") when "not supporting" shared libraries. However the two conditionals are not the same: the first one tests "!HAVE_SHARED", while the second one tests "HAVE_NO_SHARED". The problem is that "HAVE_NO_SHARED" is not always "!HAVE_SHARED" (AFAIK first one is auto-detected from ARCH, whereas second one is a user config choice if "!HAVE_NO_SHARED"). In this case: - HAVE_NO_SHARED is not defined (ARCH supports shared libs), - HAVE_SHARED is not defined (user doesn't want shared lib support), is rm'd by "Makefile.in", yet is still included by "include/link.h", which obviously doesn't compile. (problem seen when using buildroot with uClibc-snapshot, during compilation of gcc's crtbegin*.o and crtend*.o -- I can provide more info (arch, versions, config, ...) if needed) I'm not sure which one of the two conditions is the right one, but I'd go with "HAVE_NO_SHARED"? That's what the attached patch does, it fixed the problem in my case. ====================================================================== ---------------------------------------------------------------------- vda - 06-02-08 16:47 ---------------------------------------------------------------------- Fixed in rev 22193, thanks. Issue History Date Modified Username Field Change ====================================================================== 05-06-08 12:29 frabar666 New Issue 05-06-08 12:29 frabar666 Status new => assigned 05-06-08 12:29 frabar666 Assigned To => uClibc 05-06-08 12:29 frabar666 File Added: uClibc-dlfcn.patch 06-02-08 16:47 vda Status assigned => closed 06-02-08 16:47 vda Note Added: 0007964 ====================================================================== From vda at uclibc.org Mon Jun 2 17:00:33 2008 From: vda at uclibc.org (vda at uclibc.org) Date: Mon, 2 Jun 2008 17:00:33 -0700 (PDT) Subject: svn commit: trunk/uClibc/libc/misc/regex Message-ID: <20080603000033.954573C910@busybox.net> Author: vda Date: 2008-06-02 17:00:32 -0700 (Mon, 02 Jun 2008) New Revision: 22195 Log: fix trivial mismatch in return type of build_wcs_upper_buffer() (int/enum). clases bug 3234. Modified: trunk/uClibc/libc/misc/regex/regex_internal.h Changeset: Modified: trunk/uClibc/libc/misc/regex/regex_internal.h =================================================================== --- trunk/uClibc/libc/misc/regex/regex_internal.h 2008-06-02 23:46:16 UTC (rev 22194) +++ trunk/uClibc/libc/misc/regex/regex_internal.h 2008-06-03 00:00:32 UTC (rev 22195) @@ -386,7 +386,7 @@ internal_function; #ifdef RE_ENABLE_I18N static void build_wcs_buffer (re_string_t *pstr) internal_function; -static int build_wcs_upper_buffer (re_string_t *pstr) internal_function; +static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) internal_function; #endif /* RE_ENABLE_I18N */ static void build_upper_buffer (re_string_t *pstr) internal_function; static void re_string_translate_buffer (re_string_t *pstr) internal_function; From bugs at busybox.net Mon Jun 2 17:00:48 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 17:00:48 -0700 Subject: [uClibc 0003234]: wrong Function signature for build_wcs_upper_buffer in regex_internal.h Message-ID: The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=3234 ====================================================================== Reported By: woglinde Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 3234 Category: Other Reproducibility: always Severity: major Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 05-04-2008 01:45 PDT Last Modified: 06-02-2008 17:00 PDT ====================================================================== Summary: wrong Function signature for build_wcs_upper_buffer in regex_internal.h Description: Hi, I think this is a bug, which was not noticed or fixed since 2 years. SVN says at this time was a sync with glibc. In the file libc/misc/regex/regex_internal.c the type for the function build_wcs_upper_buffer was changed, but in the header file it was not. So there are compile errors, when the some regexp-options are enabled. Attached is a patch, which I believe fixes this issuse. Bye, Henning ====================================================================== ---------------------------------------------------------------------- vda - 06-02-08 17:00 ---------------------------------------------------------------------- Fixed in rev 22195, thanks. Issue History Date Modified Username Field Change ====================================================================== 05-04-08 01:45 woglinde New Issue 05-04-08 01:45 woglinde Status new => assigned 05-04-08 01:45 woglinde Assigned To => uClibc 05-04-08 01:45 woglinde File Added: build_wcs_upper_buffer.patch 06-02-08 17:00 vda Status assigned => closed 06-02-08 17:00 vda Note Added: 0007974 ====================================================================== From bugs at busybox.net Mon Jun 2 17:02:08 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 17:02:08 -0700 Subject: [uClibc 0002544]: Can't make a target system for X86_64 Message-ID: <29411a341f51825a54f0c365a1cd563b@bugs.uclibc.org> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=2544 ====================================================================== Reported By: kickinz1 Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 2544 Category: Architecture Specific Reproducibility: always Severity: major Priority: normal Status: assigned ====================================================================== Date Submitted: 03-12-2008 10:21 PDT Last Modified: 06-02-2008 17:02 PDT ====================================================================== Summary: Can't make a target system for X86_64 Description: If I choose to make a x86_64 target, I can't achieve to have a working system. It can't compile uclibc 0.9.29. throwing the following error message: CC libc/stdlib/strtol_l.os In file included from ../../libc/stdlib/strtol_l.c:8: ../../libc/stdlib/stdlib.c:346: error: conflicting types for 'strtoll_l' ../../include/stdlib.h:266: error: previous declaration of 'strtoll_l' was here ../../libc/stdlib/stdlib.c:347: error: conflicting types for 'strtoll_l' ../../include/stdlib.h:266: error: previous declaration of 'strtoll_l' was here ../../libc/stdlib/stdlib.c:348: error: conflicting types for 'strtoll_l' ../../include/stdlib.h:266: error: previous declaration of 'strtoll_l' was here make: *** [../../libc/stdlib/strtol_l.os ====================================================================== ---------------------------------------------------------------------- khem - 04-08-08 23:22 ---------------------------------------------------------------------- Can you disable locale and try? (UCLIBC_HAS_LOCALE and UCLIBC_HAS_XLOCALE) ---------------------------------------------------------------------- otherwiseguy - 04-15-08 22:14 ---------------------------------------------------------------------- I get the same issue--with or without locale set. ---------------------------------------------------------------------- vda - 06-02-08 17:02 ---------------------------------------------------------------------- Please attach your .config to this bug. Issue History Date Modified Username Field Change ====================================================================== 03-12-08 10:21 kickinz1 New Issue 03-12-08 10:21 kickinz1 Status new => assigned 03-12-08 10:21 kickinz1 Assigned To => uClibc 03-27-08 08:35 Graol Note Added: 0006114 03-27-08 08:40 Graol Note Edited: 0006114 03-27-08 08:57 Graol Note Deleted: 0006114 04-08-08 23:22 khem Note Added: 0006464 04-15-08 22:14 otherwiseguy Note Added: 0006654 06-02-08 17:02 vda Note Added: 0007984 ====================================================================== From bugs at busybox.net Mon Jun 2 17:03:40 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 17:03:40 -0700 Subject: [uClibc 0003434]: strace compilation Message-ID: <201786d39d2f497f7b2aa56971020a8e@bugs.uclibc.org> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=3434 ====================================================================== Reported By: rk_appan Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 3434 Category: Architecture Specific Reproducibility: always Severity: block Priority: normal Status: assigned ====================================================================== Date Submitted: 05-26-2008 02:10 PDT Last Modified: 06-02-2008 17:03 PDT ====================================================================== Summary: strace compilation Description: I am building uClibc(0.9.29), when i enable the strace for the target, i am getting the following errors. target is arm926t with EABI support. please provide me inputs as how to get out of this problem.. syscall.c: In function 'get_scno': syscall.c:1051: warning: passing argument 4 of 'ptrace' makes integer from pointer without a cast syscall.c:1080: warning: passing argument 4 of 'ptrace' makes integer from pointer without a cast syscall.c: In function 'syscall_fixup': syscall.c:1350: warning: unused variable 'pid' syscall.c: In function 'syscall_enter': syscall.c:1928: warning: unused variable 'pid' syscall.c: In function 'trace_syscall': syscall.c:2408: error: '__NR_socketcall' undeclared (first use in this function) syscall.c:2408: error: (Each undeclared identifier is reported only once syscall.c:2408: error: for each function it appears in.) syscall.c:2412: error: '__NR_ipc' undeclared (first use in this function) make[2]: *** [syscall.o] Error 1 make[2]: Leaving directory `/home/kans/buildroot/build_arm/strace-4.5.15' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/kans/buildroot/build_arm/strace-4.5.15' make: *** [/home/kans/buildroot/build_arm/strace-4.5.15/strace] Error 2 ====================================================================== ---------------------------------------------------------------------- vda - 06-02-08 17:03 ---------------------------------------------------------------------- I don't understand what do you mean by "I am building uClibc(0.9.29), when i enable the strace for the target" Specifically, how do you "enable the strace for the target"? uclibc is just a libc, it does not include strace. Issue History Date Modified Username Field Change ====================================================================== 05-26-08 02:10 rk_appan New Issue 05-26-08 02:10 rk_appan Status new => assigned 05-26-08 02:10 rk_appan Assigned To => uClibc 06-02-08 17:03 vda Note Added: 0007994 ====================================================================== From bugs at busybox.net Mon Jun 2 17:07:18 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 17:07:18 -0700 Subject: [uClibc 0000061]: rpm options are not interpreted correctly Message-ID: <54a20e49a26f8a550cbf5202f4f99ff0@bugs.uclibc.org> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=61 ====================================================================== Reported By: psm Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 61 Category: Architecture Specific Reproducibility: always Severity: minor Priority: normal Status: assigned ====================================================================== Date Submitted: 01-24-2005 20:11 PST Last Modified: 06-02-2008 17:07 PDT ====================================================================== Summary: rpm options are not interpreted correctly Description: rpm -bb --nodeps --target i586 specfile; works rpm -bb --target i586 --nodeps specfile; does not work (it behaves as if i586 would be the specfile) ====================================================================== ---------------------------------------------------------------------- psm - 01-24-05 20:17 ---------------------------------------------------------------------- the correct strace is somewhat longer because it procedes further, I have stopped it manually ---------------------------------------------------------------------- vda - 06-02-08 17:07 ---------------------------------------------------------------------- I don't understand. Is this bug wrongly categorised? It doesn't seem to have anything to do with uclibc. Issue History Date Modified Username Field Change ====================================================================== 01-24-05 20:11 psm New Issue 01-24-05 20:15 psm File Added: correct.strace.bz2 01-24-05 20:15 psm File Added: faulty.strace.bz2 01-24-05 20:17 psm Note Added: 0000024 01-24-05 20:23 psm File Added: faulty.ltrace 03-16-05 11:54 andersen Assigned To andersen => uClibc 06-02-08 17:07 vda Note Added: 0008004 ====================================================================== From bugs at busybox.net Mon Jun 2 20:03:58 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 20:03:58 -0700 Subject: [uClibc 0000669]: gethostbyaddr null pointer in he->h_aliases Message-ID: <94cd798f8299b19ca9c4734911cf0f3d@bugs.uclibc.org> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=669 ====================================================================== Reported By: rfelker Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 669 Category: Networking Support Reproducibility: always Severity: minor Priority: normal Status: assigned ====================================================================== Date Submitted: 01-30-2006 19:04 PST Last Modified: 06-02-2008 20:03 PDT ====================================================================== Summary: gethostbyaddr null pointer in he->h_aliases Description: uClibc puts a null pointer in he->h_aliases on gethostbyaddr. POSIX is unclear on what should be done, but since the he->h_aliases list is supposed to be null-terminated it seems that he->h_aliases itself should not be a null pointer. Other implementations seem to put a zero-length list of pointers. ====================================================================== ---------------------------------------------------------------------- rfelker - 01-30-06 19:15 ---------------------------------------------------------------------- Category should be Standards Compliance. ---------------------------------------------------------------------- vda - 06-02-08 20:03 ---------------------------------------------------------------------- Test prog: #include #include int main() { in_addr_t addr = inet_addr("127.0.0.1"); struct hostent *r = gethostbyaddr(&addr, sizeof(addr), AF_INET); printf("r = %p\n", r); printf("r->h_name = '%s'\n", r->h_name); printf("r->h_addrtype = %d\n", r->h_addrtype); printf("r->h_length = %d\n", r->h_length); //printf("r->h_addr_list = '%s'\n", r->h_addr_list); printf("r->h_aliases = %p\n", r->h_aliases); if (r->h_aliases) { printf("r->h_aliases[0] = '%s'\n", r->h_aliases[0]); printf("r->h_aliases[1] = '%s'\n", r->h_aliases[1]); } return 0; } Output: r->h_name = 'localhost' r->h_addrtype = 2 r->h_length = 4 r->h_aliases = 0x8050024 r->h_aliases[0] = '(null)' r->h_aliases[1] = '(null)' Issue History Date Modified Username Field Change ====================================================================== 01-30-06 19:04 rfelker New Issue 01-30-06 19:04 rfelker Status new => assigned 01-30-06 19:04 rfelker Assigned To => uClibc 01-30-06 19:15 rfelker Note Added: 0001022 02-18-06 11:49 vapier Category Math Library => Networking Support 06-02-08 20:03 vda Note Added: 0008014 ====================================================================== From bugs at busybox.net Mon Jun 2 20:04:52 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 20:04:52 -0700 Subject: [uClibc 0000669]: gethostbyaddr null pointer in he->h_aliases Message-ID: The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=669 ====================================================================== Reported By: rfelker Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 669 Category: Networking Support Reproducibility: always Severity: minor Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 01-30-2006 19:04 PST Last Modified: 06-02-2008 20:04 PDT ====================================================================== Summary: gethostbyaddr null pointer in he->h_aliases Description: uClibc puts a null pointer in he->h_aliases on gethostbyaddr. POSIX is unclear on what should be done, but since the he->h_aliases list is supposed to be null-terminated it seems that he->h_aliases itself should not be a null pointer. Other implementations seem to put a zero-length list of pointers. ====================================================================== ---------------------------------------------------------------------- rfelker - 01-30-06 19:15 ---------------------------------------------------------------------- Category should be Standards Compliance. ---------------------------------------------------------------------- vda - 06-02-08 20:04 ---------------------------------------------------------------------- Test prog: #include #include int main() { in_addr_t addr = inet_addr("127.0.0.1"); struct hostent *r = gethostbyaddr(&addr, sizeof(addr), AF_INET); printf("r = %p\n", r); printf("r->h_name = '%s'\n", r->h_name); printf("r->h_addrtype = %d\n", r->h_addrtype); printf("r->h_length = %d\n", r->h_length); //printf("r->h_addr_list = '%s'\n", r->h_addr_list); printf("r->h_aliases = %p\n", r->h_aliases); if (r->h_aliases) { printf("r->h_aliases[0] = '%s'\n", r->h_aliases[0]); printf("r->h_aliases[1] = '%s'\n", r->h_aliases[1]); } return 0; } Output: r = 0x8050008 r->h_name = 'localhost' r->h_addrtype = 2 r->h_length = 4 r->h_aliases = 0x8050024 r->h_aliases[0] = '(null)' r->h_aliases[1] = '(null)' ---------------------------------------------------------------------- vda - 06-02-08 20:04 ---------------------------------------------------------------------- Seems to be already fixed. Issue History Date Modified Username Field Change ====================================================================== 01-30-06 19:04 rfelker New Issue 01-30-06 19:04 rfelker Status new => assigned 01-30-06 19:04 rfelker Assigned To => uClibc 01-30-06 19:15 rfelker Note Added: 0001022 02-18-06 11:49 vapier Category Math Library => Networking Support 06-02-08 20:03 vda Note Added: 0008014 06-02-08 20:04 vda Note Edited: 0008014 06-02-08 20:04 vda Status assigned => closed 06-02-08 20:04 vda Note Added: 0008024 ====================================================================== From bugs at busybox.net Mon Jun 2 20:10:54 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 20:10:54 -0700 Subject: [uClibc 0000618]: uclinux with nios2 hang in busybox init Message-ID: <798fae544c586b50f9964eec46582975@bugs.uclibc.org> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=618 ====================================================================== Reported By: thomas_chou Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 618 Category: Architecture Specific Reproducibility: always Severity: block Priority: normal Status: assigned ====================================================================== Date Submitted: 01-01-2006 18:16 PST Last Modified: 06-02-2008 20:10 PDT ====================================================================== Summary: uclinux with nios2 hang in busybox init Description: With nios2, The uClibc-20051001 works. But uClibc-20051002 hangs. As I am new to svn, I dont know how to find the diff. Please help find out the problem. ====================================================================== ---------------------------------------------------------------------- thomas_chou - 01-01-06 20:01 ---------------------------------------------------------------------- Another issue in svn, libpthread/Makefile.in:9: libpthread/linuxthreads/Makefile.in: make: *** No rule to make target `libpthread/linuxthreads/Makefile.in'. Stop. the dir libpthread/linuxthreads is missing. ---------------------------------------------------------------------- thomas_chou - 01-01-06 20:28 ---------------------------------------------------------------------- resolved, the __uClibc_init() is missing for arch without mmu in __uClibc_main.c, since svn 11721 moved it. But the nios2 still crash after /bin/sh... ---------------------------------------------------------------------- thomas_chou - 01-02-06 01:45 ---------------------------------------------------------------------- it is svn 11983, which caused the crashs now. ---------------------------------------------------------------------- vapier - 01-02-06 17:00 ---------------------------------------------------------------------- ive fixed __uClibc_main.c so it runs __uClibc_init() for non-mmu cases again ---------------------------------------------------------------------- vapier - 01-02-06 17:02 ---------------------------------------------------------------------- so svn 11982 works but svn 11983 does not ? that change is when we switched over to the new build system, there was no source code changes ... ---------------------------------------------------------------------- thomas_chou - 01-02-06 17:39 ---------------------------------------------------------------------- yes, 11982 is OK. but almost everything crash with the make system updated in 11983/11984. ---------------------------------------------------------------------- vapier - 01-02-06 17:46 ---------------------------------------------------------------------- well that version will prob have a few bugs in the build system ... so using that as a check point wont be too helpful ... you should compare the libraries generated before and after that change to see what symbols are screwed up ... ---------------------------------------------------------------------- thomas_chou - 01-03-06 20:23 ---------------------------------------------------------------------- The crt1.S is updated for stack allocation. I checked the nm output of busybox elf with the latest svn uClibc and busybox. The atexit is "undefined"!! what wrong? libc/stdlib/atexit.c ? 000376f4 T __ashldi3 00037744 T __pack_f U atexit U _edata U _etext U _gp U __isinf U __isnan U _stext w _fini w __h_errno_location w _init w __pthread_initialize_minimal ---------------------------------------------------------------------- thomas_chou - 01-03-06 21:46 ---------------------------------------------------------------------- Got it. In general lib setting, enable old_atexit support will work. [ ] Dynamic atexit() Support [*] Old (visible) atexit Support The nios2 is no longer "broken" on uClibc. But where is the 0.9.29's new atexit()? ---------------------------------------------------------------------- thomas_chou - 01-03-06 22:51 ---------------------------------------------------------------------- The crt0.S of nios is updated as for uClibc 0.9.28. The arch cflags "-m32" should be removed from extra/Configs/Config.nios, it causes complain in CC. Add "-m32" to top Rules.mak nios cpu cflags and ldflags. The "-msoft-float" is not need as for nios/nios2. I did not run all the compile/tests through, because I did not have the kernel source. Just the crt0.S can be compiled. ---------------------------------------------------------------------- vapier - 01-03-06 23:08 ---------------------------------------------------------------------- thanks, ive updated the build flags as you said to, and updated the crt1.S file as well as the nios/Makefile's ---------------------------------------------------------------------- psm - 01-04-06 01:10 ---------------------------------------------------------------------- the atexit handling changed between .28 and .29, the old atexit option is there until .29 is released to allow updating from .28 to .29 (you have to rebuild apps needed atexit, then you can rebuild uclibc without old atexit). search the ml archives for more info ---------------------------------------------------------------------- thomas_chou - 01-04-06 23:30 ---------------------------------------------------------------------- I have checked the new buildroot with a "fresh and clean" linux. The exec prefix in building uClibc is wrong nios2-elf-, instead of the buildroot's defualt nios2-linux-uclibc-. + top_builddir=. + CC=nios2-elf-gcc + /bin/sh extra/scripts/gen_bits_syscall_h.sh extra/scripts/gen_bits_syscall_h.sh: line 21: nios2-elf-gcc: command not found extra/scripts/gen_bits_syscall_h.sh: line 24: nios2-elf-gcc: command not found + cmp include/bits/sysnum.h include/bits/sysnum.h.new + rm -f include/bits/sysnum.h AR cr lib/uclibc_nonshared.a STRIP -x -R .note -R .comment libc/libc_so.a /bin/sh: nios2-elf-strip: command not found make[3]: *** [libc/libc_so.a] Error 127 + mv -f include/bits/sysnum.h.new include/bits/sysnum.h make[1]: Leaving directory `/usr/local/src/nios2/buildroot/toolchain_build_nios2/uClibc' ---------------------------------------------------------------------- thomas_chou - 01-05-06 19:33 ---------------------------------------------------------------------- I checked the nm output of busybox, there are some undefined symbols, U __isinf U __isnan U __vfork 1. libc/stdlib/system.c want __vfork for vfork should a global of it add to libc/sysdeps/linux/nios2/vfork.S ? 2. include/math.h want __isinf,__isnan from bits/ , but no found for nios2? Please help. Thanks a lot. ---------------------------------------------------------------------- psm - 01-06-06 00:04 ---------------------------------------------------------------------- you should try to sync up all the nios* .S files comparing to the other archs (arm/i386/mips/powerpc) compare the current files w/ glibc-cvs (ports probably) you should include features.h as first create __vfork hidden use strong_alias/weak_alias(__vfork,vfork) (for clone as well) ---------------------------------------------------------------------- thomas_chou - 01-06-06 07:45 ---------------------------------------------------------------------- Please find nios2-uClibc-02.diff.bz2 and nios-uClibc-02.diff.bz2 as pointed by psm. Compare and sync up the *.S with arm. The undefined symbols are resolved. Thank you. ---------------------------------------------------------------------- thomas_chou - 01-08-06 04:39 ---------------------------------------------------------------------- nios2-uClibc-03.diff uClibc/extra/Configs/ remove CROSS which prevent buildroot to make uClibc. ---------------------------------------------------------------------- thomas_chou - 01-08-06 18:31 ---------------------------------------------------------------------- 1. buildroot + uClibc-0.9.28 can build with the removal of CROSS. 2. buildroot + uClibc-snapshot will failed on ldso, but there is no shared lib, why it needs ldso? CC ldso/ldso/ldso.oS In file included from ./ldso/include/ldso.h:34, from ldso/ldso/ldso.c:33: ./ldso/include/dl-syscall.h:12:25: dl-syscalls.h: No such file or directory In file included from ./ldso/include/ldso.h:34, from ldso/ldso/ldso.c:33: . ---------------------------------------------------------------------- thomas_chou - 01-09-06 00:15 ---------------------------------------------------------------------- sync up nios2 kernel headers to 2.6.11 for buildroot nios2-buildroot-01.diff buildroot/toolchain/kernel-headers/linux-libc-headers-2.6.11-nios2nommu.patch.conditional ---------------------------------------------------------------------- vapier - 01-09-06 18:16 ---------------------------------------------------------------------- thanks, ive committed the pending patches: nios2-uClibc-02.diff.bz2 nios-uCLibc-02.diff.bz2 nios2-uClibc-03.diff linux-libc-headers-2.6.11-nios2nommu.patch.conditional.bz2 nios2-buildroot-01.diff ---------------------------------------------------------------------- thomas_chou - 01-09-06 20:19 ---------------------------------------------------------------------- Thank you. Would you please sync up the elf2flt patch from marc's http://busybox.net/bugs/view.php?id=273 ? Many people need them to run busybox/apps on uClinux. ---------------------------------------------------------------------- vapier - 01-09-06 21:57 ---------------------------------------------------------------------- ok, initial elf2flt is in buildroot, but doesnt appear to work quite right ... i had to update a bunch of things against latest versions of elf2flt ---------------------------------------------------------------------- thomas_chou - 01-10-06 17:57 ---------------------------------------------------------------------- please find nios2-uClibc-04.diff for the missing "__vfork:". Thank you. I am still checking elf2flt update, it got "segment fault". ---------------------------------------------------------------------- vapier - 01-10-06 17:53 ---------------------------------------------------------------------- added nios2-uClibc-04.diff ---------------------------------------------------------------------- thomas_chou - 01-10-06 18:05 ---------------------------------------------------------------------- Thank you. I found the rootfs.nios2.ext2 has the correct dev nodes. So it is OK. ---------------------------------------------------------------------- thomas_chou - 01-10-06 19:45 ---------------------------------------------------------------------- update nios2-busybox-01.diff for elf2flt obj. Or is there a better place to add this LDFLAGS for busybox/apps? eg, in config file with "extra ldflags"? ---------------------------------------------------------------------- thomas_chou - 01-11-06 16:13 ---------------------------------------------------------------------- for your ref, configs.zip, are what I used to build and test on nios2 board. make defconfig, unzip into buildroot/dl, copy dl/buildroot.config to buildroot/.config. Then make. ---------------------------------------------------------------------- thomas_chou - 01-12-06 00:02 ---------------------------------------------------------------------- please find nios2-elf2flt-01.diff.bz2 to fix "segment fault", nios2-uClibc-05.diff to keep old atexit() until we are ready, and nios2-busybox-02.diff to ignore strip fail on flt obj. please create crt0.o compat link for nios2, as svn 13235 for nios only. please add dir /sys to rootfs for kernel 2.6 sysfs. Thanks a lot. :-) ---------------------------------------------------------------------- vapier - 01-11-06 19:01 ---------------------------------------------------------------------- nios2-busybox-02.diff: rather than doing it like this, we should make a buildroot option for stripping of the target files and when elf2flt is selected, automatically select 'no stripping' ... then we'd pass STRIPCMD="$(STRIP)" in packages/busybox/busybox.mk nios2-elf2flt-01.diff.bz2: the stuff in cygwin-elf.h is not needed as those defines are already in ... as for the elf2flt.c changes, you just moved the code down a few hunderd lines right ? you didnt change anything other than moving it ? ---------------------------------------------------------------------- thomas_chou - 01-12-06 01:08 ---------------------------------------------------------------------- Yes, it patched to the wrong place. And you are right about the cygwin-elf.h ---------------------------------------------------------------------- thomas_chou - 01-12-06 01:01 ---------------------------------------------------------------------- I checked the uClinux CVS, and found the nios/nios2 was included now. Things can run more smoothly. :) Thank you. I still look forward to the update in buildroot. ---------------------------------------------------------------------- vapier - 01-12-06 03:12 ---------------------------------------------------------------------- yes, i've been e-mailing the elf2flt updates to the uClinux guys rather than just including them in buildroot ---------------------------------------------------------------------- vapier - 01-13-06 04:18 ---------------------------------------------------------------------- ok, upstream uClinux has committed the nios2 fix and ive pulled it into buildroot ---------------------------------------------------------------------- thomas_chou - 01-14-06 03:56 ---------------------------------------------------------------------- please find nios2-buildroot-02.diff, which fix elf2flt reloc error. The elf2flt.c has terrible ident, that makes it difficult to read. :( ---------------------------------------------------------------------- thomas_chou - 01-14-06 14:37 ---------------------------------------------------------------------- nios2-gcc-01.diff , use crt1.o for start file. ---------------------------------------------------------------------- thomas_chou - 01-14-06 15:05 ---------------------------------------------------------------------- nios2-buildroot-03.diff, update to elf2flt.ld, so that elf2flt.nios2.conditional patch can be removed from elf2flt.mk. ---------------------------------------------------------------------- vapier - 01-14-06 18:54 ---------------------------------------------------------------------- nios2-buildroot-02.diff: applied nios2-gcc-01.diff: applied so you're saying with nios2-buildroot-03.diff, all the stuff in elf2flt.nios2.conditional that applies to elf2flt.c is no longer needed ? just need to tweak the elf2flt.ld and that's it ? ---------------------------------------------------------------------- thomas_chou - 01-14-06 20:03 ---------------------------------------------------------------------- Yes, I have built and tested on nios2 board. ---------------------------------------------------------------------- vapier - 01-14-06 20:13 ---------------------------------------------------------------------- ok, ive added the updated nios2 patch to svn then ---------------------------------------------------------------------- thomas_chou - 01-15-06 07:10 ---------------------------------------------------------------------- nios2-uClibc-06.diff, misplaced comment / ---------------------------------------------------------------------- vapier - 01-15-06 10:51 ---------------------------------------------------------------------- nios2-uClibc-06.diff committed ---------------------------------------------------------------------- thomas_chou - 01-15-06 16:40 ---------------------------------------------------------------------- Thank you. svn 13346 broken, should not build shared when we want static objs ---------------------------------------------------------------------- thomas_chou - 01-15-06 16:53 ---------------------------------------------------------------------- nios2-buildroot-04.diff, update buildroot to use busybox 1.1.0 release. ---------------------------------------------------------------------- thomas_chou - 01-15-06 23:43 ---------------------------------------------------------------------- previous note (0000941) about shared busybox lib is not an issue. I found there is a config to turn it off. Just the default is on, and makes me confused. sorry. ---------------------------------------------------------------------- thomas_chou - 01-17-06 04:41 ---------------------------------------------------------------------- nios2-buildroot-05.diff, Ive tested gcc 3.4.4 and 3.4.5, please copy gcc/3.4.3/900-nios2.patch to gcc/3.4.4 and gcc/3.4.5 ---------------------------------------------------------------------- thomas_chou - 01-18-06 18:08 ---------------------------------------------------------------------- nios2-buildroot-06.diff, some users may not have static libc to link with. ---------------------------------------------------------------------- vapier - 01-19-06 01:45 ---------------------------------------------------------------------- nios2-buildroot-04.diff / nios2-buildroot-05.diff: committed ---------------------------------------------------------------------- thomas_chou - 01-24-06 19:28 ---------------------------------------------------------------------- nios2-buildroot-07.diff, to compile libstdc++-v3 but failed in the middle, buildroot/toolchain_build_nios2/gcc-3.4.5-final/nios2-linux-uclibc/mno-hw-mul/libstdc++-v3/include/nios2-linux-uclibc/bits/c++locale.h:103: error: `snprintf' is not a member of `std' ---------------------------------------------------------------------- thomas_chou - 02-05-06 20:51 ---------------------------------------------------------------------- The libstdc++-v3 issue resolved. Please apply nios2-buildroot-07.diff . Please apply nios2-buildroot-08.diff to gcc/3.4.2-3.4.5 . With buildroot .config , BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-cxx-flags=-static" The c++ and libstdc++ can be built successfully. Please remove "broken" tag of nios2 on uClibc . Thanks. ---------------------------------------------------------------------- vapier - 02-05-06 21:07 ---------------------------------------------------------------------- nios2-buildroot-06.diff: committed nios2-buildroot-07.diff: does this really matter ? nios2-buildroot-08.diff: seems this should really be solved a diff way ... removed broken tag in uClibc ---------------------------------------------------------------------- thomas_chou - 02-06-06 20:47 ---------------------------------------------------------------------- 1. nios2-buildroot-07.diff, if os is none, the configure will complain "no supported host/target" for libstdc++ 2. nios2-buildroot-08.diff, there is a similar buildin in gcc/config/mips/linux.h line 62 and other archs. it is needed for several include files, such as, stdio.h, stdlib.h, math.h. Without it, the config.h generated by configure will be wrong. And the make will fail. ---------------------------------------------------------------------- vapier - 02-06-06 21:01 ---------------------------------------------------------------------- ok, added 07.diff and 08.diff ---------------------------------------------------------------------- thomas_chou - 02-14-06 07:36 ---------------------------------------------------------------------- update elf2flt.nios2.conditional, in buildroot/toolchain/elf2flt for svn13961, need these def from normal ld script. maybe needed for other arch. error message, LINK busybox busybox.elf2flt(.text+0x60714): In function `__uClibc_fini': : undefined reference to `__fini_array_start' busybox.elf2flt(.text+0x60718): In function `__uClibc_fini': : undefined reference to `__fini_array_start' busybox.elf2flt(.text+0x6071c): In function `__uClibc_fini': : undefined reference to `__fini_array_end' busybox.elf2flt(.text+0x60720): In function `__uClibc_fini': : undefined reference to `__fini_array_end' ..... ---------------------------------------------------------------------- thomas_chou - 02-14-06 17:11 ---------------------------------------------------------------------- another thought, for the elf2flt.ld issue of svn 13961, may be it is better to sync up the elf2flt.ld to the ld script from binutils. A lot of stuff are missing in the current elf2flt.ld. ---------------------------------------------------------------------- vda - 06-02-08 20:10 ---------------------------------------------------------------------- I guess this can be closed? Future exchanges like this are better directed to mailing list(s). Issue History Date Modified Username Field Change ====================================================================== 01-01-06 18:16 thomas_chou New Issue 01-01-06 18:16 thomas_chou Status new => assigned 01-01-06 18:16 thomas_chou Assigned To => uClibc 01-01-06 19:23 thomas_chou Note Added: 0000832 01-01-06 19:45 thomas_chou Note Added: 0000833 01-01-06 19:53 thomas_chou Note Added: 0000834 01-01-06 19:53 thomas_chou Note Edited: 0000834 01-01-06 20:01 thomas_chou Note Edited: 0000833 01-01-06 20:01 thomas_chou Note Edited: 0000834 01-01-06 20:02 thomas_chou Note Deleted: 0000832 01-01-06 20:28 thomas_chou Note Edited: 0000834 01-02-06 01:45 thomas_chou Note Added: 0000837 01-02-06 17:00 vapier Note Added: 0000840 01-02-06 17:02 vapier Note Added: 0000841 01-02-06 17:39 thomas_chou Note Added: 0000842 01-02-06 17:46 vapier Note Added: 0000843 01-03-06 20:10 thomas_chou Note Added: 0000846 01-03-06 20:14 thomas_chou File Added: nios2-uClibc.diff.bz2 01-03-06 20:15 thomas_chou Note Edited: 0000846 01-03-06 20:21 thomas_chou Note Edited: 0000846 01-03-06 20:23 thomas_chou Note Edited: 0000846 01-03-06 21:26 thomas_chou Note Added: 0000848 01-03-06 21:42 thomas_chou Note Edited: 0000848 01-03-06 21:46 thomas_chou Note Edited: 0000848 01-03-06 22:23 thomas_chou File Added: nios-uClibc.diff.bz2 01-03-06 22:51 thomas_chou Note Added: 0000849 01-03-06 23:08 vapier Note Added: 0000850 01-04-06 01:10 psm Note Added: 0000851 01-04-06 23:22 thomas_chou Note Added: 0000852 01-04-06 23:30 thomas_chou Note Edited: 0000852 01-05-06 18:27 thomas_chou File Added: elf2flt.diff.bz2 01-05-06 18:30 thomas_chou Note Added: 0000857 01-05-06 18:56 thomas_chou Note Deleted: 0000857 01-05-06 19:33 thomas_chou Note Added: 0000861 01-06-06 00:04 psm Note Added: 0000863 01-06-06 07:03 thomas_chou File Added: nios2-uClibc-02.diff.bz2 01-06-06 07:03 thomas_chou File Added: nios-uCLibc-02.diff.bz2 01-06-06 07:06 thomas_chou Note Added: 0000866 01-06-06 07:45 thomas_chou Note Edited: 0000866 01-06-06 07:45 thomas_chou Note Edited: 0000866 01-08-06 04:36 thomas_chou File Added: nios2-uClibc-03.diff 01-08-06 04:38 thomas_chou Note Added: 0000871 01-08-06 04:39 thomas_chou Note Edited: 0000871 01-08-06 18:31 thomas_chou Note Added: 0000874 01-09-06 00:10 thomas_chou File Added: linux-libc-headers-2.6.11-nios2nommu.patch.conditional.bz2 01-09-06 00:11 thomas_chou File Added: nios2-buildroot-01.diff 01-09-06 00:15 thomas_chou Note Added: 0000884 01-09-06 18:16 vapier Note Added: 0000893 01-09-06 20:19 thomas_chou Note Added: 0000897 01-09-06 21:57 vapier Note Added: 0000902 01-10-06 17:44 thomas_chou File Added: nios2-uClibc-04.diff 01-10-06 17:49 thomas_chou Note Added: 0000915 01-10-06 17:53 thomas_chou Note Edited: 0000915 01-10-06 17:53 thomas_chou Note Edited: 0000915 01-10-06 17:53 vapier Note Added: 0000916 01-10-06 17:57 thomas_chou Note Edited: 0000915 01-10-06 18:05 thomas_chou Note Added: 0000917 01-10-06 19:24 thomas_chou File Added: nios2-busybox-01.diff 01-10-06 19:26 thomas_chou Note Added: 0000920 01-10-06 19:44 thomas_chou Note Edited: 0000920 01-10-06 19:45 thomas_chou Note Edited: 0000920 01-10-06 22:42 thomas_chou File Added: configs.zip 01-10-06 22:45 thomas_chou Note Added: 0000923 01-10-06 23:23 thomas_chou Note Edited: 0000923 01-11-06 01:37 thomas_chou File Added: nios2-elf2flt-01.diff.bz2 01-11-06 01:37 thomas_chou File Added: nios2-busybox-02.diff 01-11-06 01:40 thomas_chou Note Added: 0000924 01-11-06 03:18 thomas_chou File Added: nios2-uClibc-05.diff 01-11-06 03:19 thomas_chou Note Edited: 0000924 01-11-06 06:43 thomas_chou Note Edited: 0000924 01-11-06 16:13 thomas_chou Note Edited: 0000923 01-11-06 19:01 vapier Note Added: 0000926 01-12-06 00:02 thomas_chou Note Edited: 0000924 01-12-06 00:10 thomas_chou Note Added: 0000927 01-12-06 01:01 thomas_chou Note Added: 0000928 01-12-06 01:08 thomas_chou Note Edited: 0000927 01-12-06 03:12 vapier Note Added: 0000929 01-13-06 04:18 vapier Note Added: 0000930 01-14-06 03:53 thomas_chou File Added: nios2-buildroot-02.diff 01-14-06 03:56 thomas_chou Note Added: 0000932 01-14-06 14:37 thomas_chou File Added: nios2-gcc-01.diff 01-14-06 14:37 thomas_chou Note Added: 0000933 01-14-06 15:02 thomas_chou File Added: nios2-buildroot-03.diff 01-14-06 15:05 thomas_chou Note Added: 0000934 01-14-06 18:54 vapier Note Added: 0000935 01-14-06 20:03 thomas_chou Note Added: 0000936 01-14-06 20:13 vapier Note Added: 0000937 01-15-06 07:08 thomas_chou File Added: nios2-uClibc-06.diff 01-15-06 07:10 thomas_chou Note Added: 0000939 01-15-06 10:51 vapier Note Added: 0000940 01-15-06 16:40 thomas_chou Note Added: 0000941 01-15-06 16:52 thomas_chou File Added: nios2-buildroot-04.diff 01-15-06 16:53 thomas_chou Note Added: 0000942 01-15-06 23:43 thomas_chou Note Added: 0000943 01-17-06 04:36 thomas_chou File Added: nios2-buildroot-05.diff 01-17-06 04:41 thomas_chou Note Added: 0000944 01-18-06 18:07 thomas_chou File Added: nios2-buildroot-06.diff 01-18-06 18:08 thomas_chou Note Added: 0000947 01-19-06 01:45 vapier Note Added: 0000950 01-24-06 19:24 thomas_chou File Added: nios2-buildroot-07.diff 01-24-06 19:28 thomas_chou Note Added: 0000993 02-05-06 20:44 thomas_chou File Added: nios2-buildroot-08.diff 02-05-06 20:51 thomas_chou Note Added: 0001045 02-05-06 21:07 vapier Note Added: 0001046 02-06-06 20:47 thomas_chou Note Added: 0001054 02-06-06 21:01 vapier Note Added: 0001056 02-14-06 07:30 thomas_chou File Added: elf2flt.nios2.conditional 02-14-06 07:36 thomas_chou Note Added: 0001096 02-14-06 17:11 thomas_chou Note Added: 0001101 06-02-08 20:10 vda Note Added: 0008034 ====================================================================== From bugs at busybox.net Mon Jun 2 20:27:14 2008 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 2 Jun 2008 20:27:14 -0700 Subject: [uClibc 0000618]: uclinux with nios2 hang in busybox init Message-ID: A NOTE has been added to this issue. ===============