Revision: 78c59c1bfe82
Branch: default
Author: Jorge Cabrera <
jec...@sandia.gov>
Date: Fri Jul 26 14:40:19 2013
Log: Put each rawdata object in a separate ELF section, so that each
can be aligned to a page boundary
Example:
pct_RAWDATA = ../fuse_app/fuse_app
pct_RAWDATA2 = ../libpmi/portals_client
pct_RAWDATA3 = ../libpmi/portals_server
CC_LDFLAGS += -Wl,--section-start -Wl,.rawdata=0x1000000
-Wl,--section-start -Wl,.rawdata2=0x1200000 -Wl,--section-start
-Wl,.rawdata3=0x1400000
http://code.google.com/p/kitten/source/detail?r=78c59c1bfe82
Modified:
/user/Makefile.footer
=======================================
--- /user/Makefile.footer Wed Jun 12 04:27:48 2013
+++ /user/Makefile.footer Fri Jul 26 14:40:19 2013
@@ -58,28 +58,28 @@
ifdef $(1)_RAWDATA
$(1)_OLDADD_EXPLICIT += $$O/$(1)_rawdata.o
$$O/$(1)_rawdata.o: $$($(1)_RAWDATA) $(CONFIG)
- $$(call buildrawobj,$$@,$$<,$(1)_rawdata,$O)
+ $$(call buildrawobj,$$@,$$<,$(1)_rawdata,$O,.rawdata)
CLEAN_FILES += $$O/$(1)_rawdata.o
endif
ifdef $(1)_RAWDATA2
$(1)_OLDADD_EXPLICIT += $$O/$(1)_rawdata2.o
$$O/$(1)_rawdata2.o: $$($(1)_RAWDATA2) $(CONFIG)
- $$(call buildrawobj,$$@,$$<,$(1)_rawdata2,$O)
+ $$(call buildrawobj,$$@,$$<,$(1)_rawdata2,$O,.rawdata2)
CLEAN_FILES += $$O/$(1)_rawdata2.o
endif
ifdef $(1)_RAWDATA3
$(1)_OLDADD_EXPLICIT += $$O/$(1)_rawdata3.o
$$O/$(1)_rawdata3.o: $$($(1)_RAWDATA3) $(CONFIG)
- $$(call buildrawobj,$$@,$$<,$(1)_rawdata3,$O)
+ $$(call buildrawobj,$$@,$$<,$(1)_rawdata3,$O,.rawdata3)
CLEAN_FILES += $$O/$(1)_rawdata3.o
endif
ifdef $(1)_RAWDATA4
$(1)_OLDADD_EXPLICIT += $$O/$(1)_rawdata4.o
$$O/$(1)_rawdata4.o: $$($(1)_RAWDATA4) $(CONFIG)
- $$(call buildrawobj,$$@,$$<,$(1)_rawdata4,$O)
+ $$(call buildrawobj,$$@,$$<,$(1)_rawdata4,$O,.rawdata4)
CLEAN_FILES += $$O/$(1)_rawdata4.o
endif
@@ -167,7 +167,7 @@
objcopy -I binary -O elf64-x86-64 \
--binary-architecture i386 \
$3 $1; \
- objcopy --rename-section .data=.rawdata $1; \
+ objcopy --rename-section .data=$5 $1; \
$(RM) $3; \
)