svn commit: trunk/uClibc: extra/Configs libc/misc/internals libc/ etc...
vapier at uclibc.org
vapier at uclibc.org
Mon Dec 11 00:25:24 UTC 2006
Author: vapier
Date: 2006-12-10 16:25:23 -0800 (Sun, 10 Dec 2006)
New Revision: 16836
Log:
create new menu so people can select what format they wish to build uClibc
Modified:
trunk/uClibc/Makefile.in
trunk/uClibc/Makerules
trunk/uClibc/extra/Configs/Config.in
trunk/uClibc/extra/Configs/Config.in.arch
trunk/uClibc/libc/misc/internals/Makefile.in
trunk/uClibc/libc/misc/internals/__uClibc_main.c
trunk/uClibc/libc/sysdeps/linux/m68k/crt1.S
trunk/uClibc/libc/sysdeps/linux/m68k/m68k_pic.S
Changeset:
Modified: trunk/uClibc/Makefile.in
===================================================================
--- trunk/uClibc/Makefile.in 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/Makefile.in 2006-12-11 00:25:23 UTC (rev 16836)
@@ -246,7 +246,7 @@
fi
endif
endif
-ifeq ($(HAVE_SHARED_FLAT),y)
+ifeq ($(UCLIBC_FORMAT_SHARED_FLAT),y)
for file in lib/lib*.gdb; do \
if test -f $$file; then \
$(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX)lib; \
Modified: trunk/uClibc/Makerules
===================================================================
--- trunk/uClibc/Makerules 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/Makerules 2006-12-11 00:25:23 UTC (rev 16836)
@@ -11,7 +11,7 @@
$(lib-so-y): $(interp)
else
.LIBPATTERNS: "lib%.a"
-ifeq ($(HAVE_SHARED_FLAT),y)
+ifeq ($(UCLIBC_FORMAT_SHARED_FLAT),y)
libs: $(lib-gdb-y)
endif
libs: $(lib-a-y)
@@ -207,7 +207,7 @@
CRT := crt1
-ifeq ($(HAVE_SHARED)$(HAVE_SHARED_FLAT),y)
+ifeq ($(HAVE_SHARED)$(UCLIBC_FORMAT_SHARED_FLAT),y)
CRTS=$(top_builddir)lib/$(CRT).o $(top_builddir)lib/S$(CRT).o
else
CRTS=$(top_builddir)lib/$(CRT).o
Modified: trunk/uClibc/extra/Configs/Config.in
===================================================================
--- trunk/uClibc/extra/Configs/Config.in 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/extra/Configs/Config.in 2006-12-11 00:25:23 UTC (rev 16836)
@@ -196,30 +196,6 @@
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_SHARED_FLAT
- bool "Generate a flat-format shared library"
- default n
- depends on !ARCH_USE_MMU
- help
- Answer Y here if you are using uClinux and wish to build uClibc
- as a flat-format shared library.
-
-config SHARED_FLAT_ID
- int "Shared library id"
- default 1
- depends on HAVE_SHARED_FLAT
- help
- When using flat shared libraries, every library has a unique
- system-wide identifier. Identifier 0 is reserved for
- executables and true shared libraries have identifiers
- starting at 1. The maximum shared library identifier is
- determined by the kernel and is usually 3. Shared library
- N must be available on the target system as "/lib/libN.so".
-
- When a shared C library is used, it usually has identifier 1,
- but you can use this option to select a different identifier
- if you need to.
-
config HAVE_NO_SHARED
bool
default n
Modified: trunk/uClibc/extra/Configs/Config.in.arch
===================================================================
--- trunk/uClibc/extra/Configs/Config.in.arch 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/extra/Configs/Config.in.arch 2006-12-11 00:25:23 UTC (rev 16836)
@@ -3,6 +3,53 @@
# see extra/config/Kconfig-language.txt
#
+
+#
+# Binary format
+#
+choice
+ prompt "Target File Format"
+config UCLIBC_FORMAT_ELF
+ bool "ELF"
+ depends on ARCH_USE_MMU
+config UCLIBC_FORMAT_FDPIC_ELF
+ bool "FDPIC ELF"
+ depends on !ARCH_USE_MMU
+config UCLIBC_FORMAT_FLAT
+ bool "STATIC FLAT"
+ depends on !ARCH_USE_MMU
+config UCLIBC_FORMAT_FLAT_SEP_DATA
+ bool "STATIC FLAT (sep-data)"
+ depends on !ARCH_USE_MMU
+config UCLIBC_FORMAT_SHARED_FLAT
+ bool "SHARED FLAT"
+ depends on !ARCH_USE_MMU
+ help
+ Pick this one if you are using uClinux and wish to build
+ uClibc as a flat-format shared library.
+endchoice
+
+config UCLIBC_SHARED_FLAT_ID
+ int "Shared library ID"
+ default 1
+ depends on UCLIBC_FORMAT_SHARED_FLAT
+ help
+ When using flat shared libraries, every library has a unique
+ system-wide identifier. Identifier 0 is reserved for
+ executables and true shared libraries have identifiers
+ starting at 1. The maximum shared library identifier is
+ determined by the kernel and is usually 3. Shared library
+ N must be available on the target system as "/lib/libN.so".
+
+ When a shared C library is used, it usually has identifier 1,
+ but you can use this option to select a different identifier
+ if you need to.
+
+
+
+#
+# Endian Format
+#
config ARCH_ANY_ENDIAN
bool
config ARCH_BIG_ENDIAN
Modified: trunk/uClibc/libc/misc/internals/Makefile.in
===================================================================
--- trunk/uClibc/libc/misc/internals/Makefile.in 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/libc/misc/internals/Makefile.in 2006-12-11 00:25:23 UTC (rev 16836)
@@ -18,7 +18,7 @@
libc-y += $(MISC_INTERNALS_OBJ)
libc-shared-y += $(MISC_INTERNALS_OUT)/__uClibc_main.oS
libc-static-y += $(MISC_INTERNALS_OUT)/__uClibc_main.o
-libc-static-$(HAVE_SHARED_FLAT) += \
+libc-static-$(UCLIBC_FORMAT_SHARED_FLAT) += \
$(MISC_INTERNALS_OUT)/shared_flat_initfini.o \
$(MISC_INTERNALS_OUT)/shared_flat_add_library.o
libc-nomulti-y += $(MISC_INTERNALS_OUT)/__uClibc_main.o
Modified: trunk/uClibc/libc/misc/internals/__uClibc_main.c
===================================================================
--- trunk/uClibc/libc/misc/internals/__uClibc_main.c 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/libc/misc/internals/__uClibc_main.c 2006-12-11 00:25:23 UTC (rev 16836)
@@ -88,9 +88,9 @@
extern void weak_function __pthread_initialize_minimal(void);
#endif
-/* If __HAVE_SHARED_FLAT__, all array initialisation and finalisation
+/* If __UCLIBC_FORMAT_SHARED_FLAT__, all array initialisation and finalisation
* is handled by the routines passed to __uClibc_main(). */
-#if defined (__UCLIBC_CTOR_DTOR__) && !defined (__HAVE_SHARED_FLAT__)
+#if defined (__UCLIBC_CTOR_DTOR__) && !defined (__UCLIBC_FORMAT_SHARED_FLAT__)
extern void _dl_app_init_array(void);
extern void _dl_app_fini_array(void);
# ifndef SHARED
@@ -249,11 +249,11 @@
void __uClibc_fini(void)
{
#ifdef __UCLIBC_CTOR_DTOR__
- /* If __HAVE_SHARED_FLAT__, all array finalisation is handled
+ /* If __UCLIBC_FORMAT_SHARED_FLAT__, all array finalisation is handled
* by __app_fini. */
# ifdef SHARED
_dl_app_fini_array();
-# elif !defined (__HAVE_SHARED_FLAT__)
+# elif !defined (__UCLIBC_FORMAT_SHARED_FLAT__)
size_t i = __fini_array_end - __fini_array_start;
while (i-- > 0)
(*__fini_array_start [i]) ();
@@ -352,9 +352,9 @@
/* Arrange for the application's dtors to run before we exit. */
__app_fini = app_fini;
- /* If __HAVE_SHARED_FLAT__, all array initialisation is handled
+ /* If __UCLIBC_FORMAT_SHARED_FLAT__, all array initialisation is handled
* by __app_init. */
-# if !defined (SHARED) && !defined (__HAVE_SHARED_FLAT__)
+# if !defined (SHARED) && !defined (__UCLIBC_FORMAT_SHARED_FLAT__)
/* For dynamically linked executables the preinit array is executed by
the dynamic linker (before initializing any shared object).
For static executables, preinit happens rights before init. */
@@ -369,11 +369,11 @@
if (app_init!=NULL) {
app_init();
}
- /* If __HAVE_SHARED_FLAT__, all array initialisation is handled
+ /* If __UCLIBC_FORMAT_SHARED_FLAT__, all array initialisation is handled
* by __app_init. */
# ifdef SHARED
_dl_app_init_array();
-# elif !defined (__HAVE_SHARED_FLAT__)
+# elif !defined (__UCLIBC_FORMAT_SHARED_FLAT__)
{
const size_t size = __init_array_end - __init_array_start;
size_t i;
Modified: trunk/uClibc/libc/sysdeps/linux/m68k/crt1.S
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/m68k/crt1.S 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/libc/sysdeps/linux/m68k/crt1.S 2006-12-11 00:25:23 UTC (rev 16836)
@@ -85,7 +85,7 @@
.equ have_current_got, 1
#endif
-#ifdef __HAVE_SHARED_FLAT__
+#ifdef __UCLIBC_FORMAT_SHARED_FLAT__
CALL __shared_flat_add_library,%a1
#endif
@@ -113,7 +113,7 @@
/* Push the address of our own entry points to `.fini' and
`.init'. */
-#if defined __HAVE_SHARED_FLAT__
+#if defined __UCLIBC_FORMAT_SHARED_FLAT__
PEA_TEXT __shared_flat_fini,%a1
PEA_TEXT __shared_flat_init,%a1
#else
Modified: trunk/uClibc/libc/sysdeps/linux/m68k/m68k_pic.S
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/m68k/m68k_pic.S 2006-12-10 13:53:28 UTC (rev 16835)
+++ trunk/uClibc/libc/sysdeps/linux/m68k/m68k_pic.S 2006-12-11 00:25:23 UTC (rev 16836)
@@ -16,7 +16,7 @@
* a text address. <tmp> is available as a temporary address
* register. */
.macro DO_TEXT op,target,tmp
-#if defined __HAVE_SHARED_FLAT__
+#if defined __UCLIBC_FORMAT_SHARED_FLAT__
.ifne have_current_got
move.l \target at GOT(%a5),\tmp
.else
@@ -50,7 +50,7 @@
/* Initialize the global pointer, if functions need to do that. */
.macro INIT_GP
-#if defined __HAVE_SHARED_FLAT__
+#if defined __UCLIBC_FORMAT_SHARED_FLAT__
move.l %a5,-(%sp)
move.l _current_shared_library_a5_offset_(%a5),%a5
#endif
@@ -58,7 +58,7 @@
/* Undo the effects of INIT_GP. */
.macro FINI_GP
-#if defined __HAVE_SHARED_FLAT__
+#if defined __UCLIBC_FORMAT_SHARED_FLAT__
move.l (%sp)+,%a5
#endif
.endm
More information about the uClibc-cvs
mailing list