Update of /cvsroot/blob/blob/src/blob
In directory usw-pr-cvs1:/tmp/cvs-serv13792
Modified Files:
Makefile.am
Added Files:
rest-ld-script.in
Log Message:
Generate rest-ld-script from rest-ld-script.in with the help of the C
preprocessor. The load address BLOB_ABS_BASE_ADDR comes from the architecture
specific include files and gets automatically expanded by the preprocessor.
--- NEW FILE: rest-ld-script.in ---
/*
* rest-ld-script.in: ld (linker) script for blob.
* Heavily inspired by the Linux kernel linker scripts.
*
* Copyright (C) 1999 2000 2001 Erik Mouw (J.A...@it...) and
*
* $Id: rest-ld-script.in,v 1.1 2001/11/04 23:09:17 erikm Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <blob/config.h>
#include <blob/arch.h>
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
/*OUTPUT_ARCH(arm)*/
ENTRY(_trampoline)
SECTIONS
{
. = BLOB_ABS_BASE_ADDR;
. = ALIGN(4);
.text : {
__text_start = .;
*(.text)
__text_end = .;
}
. = ALIGN(4);
.rodata : {
__rodata_start = .;
*(.rodata)
__rodata_end = .;
}
. = ALIGN(4);
.data : {
__data_start = .;
*(.data)
__data_end = .;
}
. = ALIGN(4);
.got : {
__got_start = .;
*(.got)
__got_end = .;
}
. = ALIGN(4);
.commandlist : {
__commandlist_start = .;
*(.commandlist)
__commandlist_end = .;
}
. = ALIGN(4);
.initlist : {
__initlist_start = .;
*(.initlist)
__initlist_end = .;
}
. = ALIGN(4);
.exitlist : {
__exitlist_start = .;
*(.exitlist)
__exitlist_end = .;
}
. = ALIGN(4);
.ptaglist : {
__ptagtable_begin = .;
*(.ptaglist)
__ptagtable_end = .;
}
/* the BSS section should *always* be the last section */
. = ALIGN(4);
.bss : {
__bss_start = .;
/* first the real BSS data */
*(.bss)
/* and next the stack */
. = ALIGN(4);
__stack_start = .;
*(.stack)
__stack_end = .;
__bss_end = .;
}
}
Index: Makefile.am
===================================================================
RCS file: /cvsroot/blob/blob/src/blob/Makefile.am,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- Makefile.am 2001/10/28 20:39:37 1.9
+++ Makefile.am 2001/11/04 23:09:17 1.10
@@ -38,6 +38,18 @@
-I${top_srcdir}/include
+# ---- Built sources -------------------------------------------------
+
+BUILT_SOURCES = \
+ rest-ld-script
+
+
+rest-ld-script: rest-ld-script.in
+ $(CC) -x c-header ${INCLUDES} -E $< | sed 's/^#.*//' > $@
+
+
+
+
# ---- Blob first stage loader ---------------------------------------
# WARNING: start.S *must* be the first file, otherwise the target will
@@ -145,11 +157,12 @@
@CHKMEM@ \
@DEBUG@ \
@CLOCK@ \
+ ${top_builddir}/src/lib/libblob.a \
rest-ld-script
blob_rest_elf32_LDFLAGS += \
- -Wl,-T,${srcdir}/rest-ld-script
+ -Wl,-T,rest-ld-script
blob_rest_elf32_LDADD += \
@@ -202,10 +215,10 @@
EXTRA_DIST = \
start-ld-script \
- rest-ld-script
+ rest-ld-script.in
-CLEANFILES = ${srcdir}/*~
+CLEANFILES = ${srcdir}/*~ rest-ld-script
DISTCLEANFILES = ${builddir}/.deps/*.P
|