summaryrefslogtreecommitdiffstats
path: root/lib/csu/ia64
Commit message (Collapse)AuthorAgeFilesLines
* Bring ia64 back from the dead. After a call one needs to restore themarcel2004-08-181-1/+1
| | | | | | | | | GP register, because it's clobbered for calls across load modules. The previous commit inserted the call to _init_tls() between the call to atexit() and the restoration of the GP register clobbered by it. Fix: restore GP before we call _init_tls(). Pointy hat: dfr@
* Add support for TLS in statically linked programs.dfr2004-08-151-0/+5
|
* Fix typo: Passing the first argument to exit() in out2 does not work.marcel2003-07-151-1/+1
| | | | Trust me.
* _start() needed to be written in assembly. See crt1.S.marcel2003-07-141-124/+0
|
* Rewite _start(). We cannot use a C function due to the fact that wemarcel2003-07-132-2/+193
| | | | | | | | | | | | | | | | | don't call it according to the runtime specification and especially WRT to gp this can cause trouble. The gcc 3.3.1 import broke the ia64 runtime because the compiler saved gp prior to us being able to set it properly. Restoring gp after the calls would then invalidate gp and cause segmentation faults later on. By rewriting _start() as an assembly function, we also avoided even more gcc dependences, by trying to use gcc specific features to work around the problem. This version of _start() does not reference _DYNAMIC. We register the cleanup function when it's a non-NULL pointer. The kernel will always pass a NULL pointer and dynamic linkers may pass a non-NULL pointer. The machine independent code to set __progname now unfortunately is written in assembly. So be it.
* make these more useful for lint(1). Minor diff-reductions while I'mmarkm2003-01-261-1/+2
| | | | about it.
* Drop support for COPY, -c has been the default mode of install(1)ru2002-07-291-1/+1
| | | | | | for a long time now. Approved by: bde
* The main reason for this is to reduce diffs between all the crt1.c's.markm2002-07-161-12/+22
| | | | | | | | | | | | | | | | | | | Assembler macros are tidied up and made as similar as sanely possible. The macros are translated into C (__inline static) functions for lint. Declaration orders are made the same. Declarations are all ISOfied and tidied up. Comment contents have gratuitous diffs removed. The net result is a bunch of crt1.c's that are 90% the same. It may be possible to now encapsulate the differences in one MD header, and have only one MI crt1.c file (although the macros to do this may be ugly). Helpful comments by: obrien, bde Alpha tested by: des i386-elf tested by: markm
* Fixed CLEANFILES after bsd.lib.mk sweep.ru2002-05-131-0/+2
|
* SOBJS are not used here for a long time, and were justru2002-05-131-4/+2
| | | | pessimising the `install'.
* Major cleanup of bsd.lib.mk.ru2002-05-131-4/+0
| | | | | | | Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB. INTERNALLIB now means to build static library only and don't install anything. Added a NOINSTALLLIB knob for libpam/modules. To not build any library at all, just do not set LIB.
* Revert the last change. The corresponding bsd.lib.mk changes wereru2002-05-121-1/+4
| | | | already backed out.
* Use the simpler NOMAN rather than NOMAN, NOPIC, NOPROFILE, INTERNALLIB.obrien2002-05-111-4/+1
|
* Do not use __progname directly (except in [gs]etprogname(3)).markm2002-03-292-3/+5
| | | | | | Also, make an internal _getprogname() that is used only inside libc. For libc, getprogname(3) is a weak symbol in case a function of the same name is defined in userland.
* Style nit.obrien2002-03-231-3/+3
|
* Put in an attempt at stack trace/unwind records.peter2001-11-031-0/+8
|
* Mostly cosmetic. Use indentation that is reasonably close to otherpeter2001-10-292-20/+20
| | | | | | | ia64 *.S files in our tree (eg: locore.s). Put the rest of the args in the .section lines. Reviewed by: dfr
* Update for the new toolchain. ld doesn't provide _GLOBAL_OFFSET_TABLE_peter2001-10-291-1/+8
| | | | | | in 2.11.2, so use a relocatable method of calculating gp. Reviewed by: dfr
* Add missing crti.S and crtn.S files. I have tested these with -staticpeter2001-10-272-0/+92
| | | | linking only. They may require some gp relative tweaks for dynamic use.
* Update for reality and syncing with other FreeBSD platforms.obrien2001-10-271-6/+5
|
* Change to track the new calling convention for execve. This version onlydfr2001-10-111-17/+3
| | | | needs one line of assembler to initialise gp.
* Make sure stack is aligned to 16 bytes.dfr2001-08-211-1/+4
|
* * Bring back the guts of crt{i,n}.S. This allows C++ exceptions to workobrien2000-10-282-0/+2
| | | | | | | | | | | | | | | | | | | when using the egcs and gcc-devel ports, along with GCC built from stock public FSF sources. With out this change, FreeBSD will be removed from the list of systems GCC 3.0 must be evaluated on before release. With the effort some of us put into getting FreeBSD on this list, we should not turn this effort into a waste, else we might not be worth fighting for in the future. (note that Alpha and IA-64 versions of crt{i,n}.S are needed) * Switch from our own crt{begin,in} to those created from GCC's crtstuff.c. This will allow us to switch to DWARF2 exceptions in the future, along with staying in sync with any future GCC requirements. * Break out our ELF branding bits into a seperate file. Currently this is now included by our crt1.c files (since this functionality was part of our native crtbegin.c). Later crtbrand.o will be merged in the creation of crti.o.
* CSU code for ia64.dfr2000-10-141-0/+115
|
* Use the new machine-independent versions of crtbegin and crtendobrien2000-05-241-4/+2
| | | | from the "common" directory.
* CSU source for IA-64. Current we use the ../Alpha sources.obrien2000-04-191-0/+28
OpenPOWER on IntegriCloud