This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

hppa patchset 4 of 4


ld/ minus emultemp/hppaelf.em because again it's quite a large patch.

ld/ChangeLog
	Changes to create multiple linker stubs, positioned immediately
	before the section where they are required.
	* emultempl/hppaelf.em: Include elf32-hppa.h.
	(stub_sec, file_chain): Delete.
	(hppaelf_create_output_section_statements): Don't make a stub
	section here.
	(hook_stub_info): New struct.
	(hook_in_stub): New function.
	(hppaelf_add_stub_section): New function.
	(hppaelf_finish): Do nothing for relocateable links.  Modify the
	call to elf32_hppa_size_stubs.  Move code for updating section
	layout from here...
	(hppaelf_layaout_sections_again): ..to here, a new function.

	* emultempl/hppaelf.em (hppaelf_delete_padding_statements): Fix
	broken list handling.  Pass in a pointer to the list.
	(hppaelf_finish): Update call to hppaelf_delete_padding_statements
	for above changes.
	(hppaelf_before_parse): Prototype.
	(hppaelf_set_output_arch): Prototype.
	(hppaelf_create_output_section_statements): Prototype.
	(hppaelf_delete_padding_statements): Prototype.
	(hppaelf_finish): Prototype.

	Merge from elf32.em
	* emultempl/hppaelf.em: Include ctype.h.
	(struct orphan_save): New.
	(gld${EMULATION_NAME}_place_orphan): New.
	(output_rel_find): New.
	(hppaelf_get_script): Update from elf32.em.
	(ld_hppaelf_emulation): Rename to ld_${EMULATION_NAME}_emulation.
	Change emulation_name field to "${EMULATION_NAME}".  Add
	gld${EMULATION_NAME}_place_orphan. 

	* Makefile.am (ALL_EMULATIONS): Reinstate ehppaelf.o,  add
	ehppalinux.o, sort it.  Regenerate dependencies.
	(ehppalinux.c): Depend on hppaelf.em
	* Makefile.in: Regenerate.

	* configure.tgt: targ_emul=hppalinux for hppa*linux

	* emulparams/hppalinux.sh: New.
	* emulparams/hppaelf.sh (TARGET_PAGE_SIZE): Write in hex.

Index: ld/Makefile.am
===================================================================
RCS file: /cvs/src/src/ld/Makefile.am,v
retrieving revision 1.39
diff -u -p -r1.39 Makefile.am
--- Makefile.am	2000/07/02 01:15:56	1.39
+++ Makefile.am	2000/07/08 13:46:24
@@ -104,53 +104,53 @@ ALL_EMULATIONS = \
 	eaixrs6.o \
 	ealpha.o \
 	earcelf.o \
-	earmelf.o \
-	earmelf_oabi.o \
-	earmelf_linux.o \
-	earmelf_linux26.o \
+	earm_epoc_pe.o \
 	earmaoutb.o \
 	earmaoutl.o \
 	earmcoff.o \
+	earmelf.o \
+	earmelf_linux.o \
+	earmelf_linux26.o \
+	earmelf_oabi.o \
 	earmnbsd.o \
 	earmpe.o \
-	earm_epoc_pe.o \
 	eavr1200.o \
 	eavr23xx.o \
-	eavr44x4.o \
 	eavr4433.o \
+	eavr44x4.o \
 	eavr85xx.o \
-	eavrmega603.o \
 	eavrmega103.o \
 	eavrmega161.o \
+	eavrmega603.o \
 	ecoff_sparc.o \
 	ed10velf.o \
-	ed30velf.o \
 	ed30v_e.o \
 	ed30v_o.o \
+	ed30velf.o \
 	edelta68.o \
 	eebmon29k.o \
-	eelf32_sparc.o \
 	eelf32_i960.o \
+	eelf32_sparc.o \
 	eelf32b4300.o \
 	eelf32bmip.o \
-	eelf32ebmip.o \
-	eelf32elmip.o \
 	eelf32bmipn32.o \
 	eelf32btsmip.o \
+	eelf32ebmip.o \
+	eelf32elmip.o \
+	eelf32fr30.o \
 	eelf32i370.o \
 	eelf32l4300.o \
 	eelf32lmip.o \
 	eelf32lppc.o \
 	eelf32lppcsim.o \
+	eelf32mcore.o \
 	eelf32ppc.o \
-	eelf32ppcsim.o \
 	eelf32ppclinux.o \
+	eelf32ppcsim.o \
 	eelf_i386.o \
 	eelf_i386_be.o \
 	egld960.o \
 	egld960coff.o \
-	eelf32fr30.o \
-	eelf32mcore.o \
 	eh8300.o \
 	eh8300h.o \
 	eh8300s.o \
@@ -161,6 +161,8 @@ ALL_EMULATIONS = \
 	eh8500s.o \
 	ehp300bsd.o \
 	ehp3hpux.o \
+	ehppaelf.o \
+	ehppalinux.o \
 	ei386aout.o \
 	ei386beos.o \
 	ei386bsd.o \
@@ -199,10 +201,10 @@ ALL_EMULATIONS = \
 	emipslnews.o \
 	emipspe.o \
 	enews.o \
-	epjelf.o \
-	epjlelf.o \
 	ens32knbsd.o \
 	epc532macha.o \
+	epjelf.o \
+	epjlelf.o \
 	eppcmacos.o \
 	eppcnw.o \
 	eppcpe.o \
@@ -210,8 +212,8 @@ ALL_EMULATIONS = \
 	esa29200.o \
 	esh.o \
 	eshelf.o \
-	eshlelf.o \
 	eshl.o \
+	eshlelf.o \
 	eshpe.o \
 	esparcaout.o \
 	esparclinux.o \
@@ -231,20 +233,16 @@ ALL_EMULATIONS = \
 	ez8001.o \
 	ez8002.o
 
-# The following object file has been removed from ALL_EMULATIONS
-# because the BFD support is currently broken.
-#	ehppaelf.o 
-
 ALL_64_EMULATIONS = \
 	eelf64_ia64.o \
 	eelf64_sparc.o \
 	eelf64alpha.o \
-	eelf64hppa.o \
-	eelf64bmip.o
+	eelf64bmip.o \
+	eelf64hppa.o
 
 ALL_EMUL_EXTRA_OFILES = \
-	pe-dll.o \
-	deffilep.o
+	deffilep.o \
+	pe-dll.o
 
 CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
 	ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
@@ -521,6 +519,9 @@ ehp3hpux.c: $(srcdir)/emulparams/hp3hpux
 ehppaelf.c: $(srcdir)/emulparams/hppaelf.sh \
   $(srcdir)/emultempl/hppaelf.em $(srcdir)/scripttempl/hppaelf.sc ${GEN_DEPENDS}
 	${GENSCRIPTS} hppaelf "$(tdir_hppaelf)"
+ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \
+  $(srcdir)/emultempl/hppaelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+	${GENSCRIPTS} hppalinux "$(tdir_hppalinux)"
 ei386aout.c: $(srcdir)/emulparams/i386aout.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
 	${GENSCRIPTS} i386aout "$(tdir_i386aout)"
Index: ld/configure.tgt
===================================================================
RCS file: /cvs/src/src/ld/configure.tgt,v
retrieving revision 1.32
diff -u -p -r1.32 configure.tgt
--- configure.tgt	2000/07/02 01:15:56	1.32
+++ configure.tgt	2000/07/08 13:46:29
@@ -208,6 +208,7 @@ m68*-*-netbsd*)		targ_emul=m68knbsd ;;
 m68*-*-psos*)		targ_emul=m68kpsos ;;
 m68*-*-rtems*)		targ_emul=m68kcoff ;;
 hppa*64*-*)		targ_emul=elf64hppa ;;
+hppa*-*-linux-gnu*)	targ_emul=hppalinux ;;
 hppa*-*-*elf*)		targ_emul=hppaelf ;;
 hppa*-*-linux-gnu*)	targ_emul=hppaelf ;;
 hppa*-*-lites*)		targ_emul=hppaelf ;;
Index: ld/emulparams/hppaelf.sh
===================================================================
RCS file: /cvs/src/src/ld/emulparams/hppaelf.sh,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 hppaelf.sh
--- hppaelf.sh	1999/05/03 07:29:07	1.1.1.1
+++ hppaelf.sh	2000/07/08 13:46:30
@@ -1,7 +1,7 @@
 SCRIPT_NAME=hppaelf
 OUTPUT_FORMAT="elf32-hppa"
 TEXT_START_ADDR=0x1000
-TARGET_PAGE_SIZE=4096
+TARGET_PAGE_SIZE=0x1000
 ARCH=hppa
 START="$START$"
 TEMPLATE_NAME=hppaelf
Index: ld/emulparams/hppalinux.sh
===================================================================
RCS file: hppalinux.sh
diff -N hppalinux.sh
--- /dev/null	Tue May  5 13:32:27 1998
+++ hppalinux.sh	Sat Jul  8 06:46:30 2000
@@ -0,0 +1,10 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-hppa"
+TEXT_START_ADDR=0x1000
+TARGET_PAGE_SIZE=0x1000
+MAXPAGESIZE=0x1000
+ARCH=hppa
+NOP=0x08000240
+START="_start"
+TEMPLATE_NAME=hppaelf
+DATA_START_SYMBOLS='$global$ = .;'


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]