<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/csu/ia64, branch release/10.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.4.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.4.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2012-04-20T21:00:39Z</updated>
<entry>
<title>After r217375, some startup objects under lib/csu are built in a special</title>
<updated>2012-04-20T21:00:39Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2012-04-20T21:00:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d2cc835cb5cec80295ee4234f5562e65d48368fd'/>
<id>urn:sha1:d2cc835cb5cec80295ee4234f5562e65d48368fd</id>
<content type='text'>
way: first they are compiled to assembly, then some sed'ing is done on
the assembly, and lastly the assembly is compiled to an object file.

This last step is done using ${CC}, and not ${AS}, because when the
compiler is clang, it outputs directives that are too advanced for our
old gas.  So we use clang's integrated assembler instead.  (When the
compiler is gcc, it just calls gas, and nothing is different, except one
extra fork.)

However, in the .s to .o rules in lib/csu/$ARCH/Makefile, I still passed
CFLAGS to the compiler, instead of ACFLAGS, which are specifically for
compiling .s files.

In case you are using '-g' for debug info anywhere in your CFLAGS, it
causes the .s files to already contain debug information in the assembly
itself.  In the next step, the .s files are also compiled using '-g',
and if the compiler is clang, it complains: "error: input can't have
.file dwarf directives when -g is used to generate dwarf debug info for
assembly code".

Fix this by using ${ACFLAGS} for compiling the .s files instead.

Reported by:	jasone
MFC after:	1 week
</content>
</entry>
<entry>
<title>Apply a workaround for a binutils issue with the .note.ABI-tag section</title>
<updated>2011-01-13T20:44:31Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2011-01-13T20:44:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9ef4e3afcb2e1d7c7a2e3aa77d02e802654d96da'/>
<id>urn:sha1:9ef4e3afcb2e1d7c7a2e3aa77d02e802654d96da</id>
<content type='text'>
generated from lib/csu/common/crtbrand.c (which ultimately ends up in
executables and shared libraries, via crt1.o, gcrt1.o or Scrt1.o).

For all arches except sparc, gcc emits the section directive for the
abitag struct in crtbrand.c with a PROGBITS type.  However, newer
versions of binutils (after 2.16.90) require the section to be of NOTE
type, to guarantee that the .note.ABI-tag section correctly ends up in
the first page of the final executable.

Unfortunately, there is no clean way to tell gcc to use another section
type, so crtbrand.c (or the C files that include it) must be compiled in
multiple steps:

- Compile the .c file to a .s file.
- Edit the .s file to change the 'progbits' type to 'note', for the section
  directive that defines the .note.ABI-tag section.
- Compile the .s file to an object file.

These steps are done in the invididual Makefiles for each applicable arch.

Reviewed by:	kib
</content>
</entry>
<entry>
<title>Add a .note.ABI-tag section to ia64 startup files by linking crtbrand.c</title>
<updated>2010-12-10T08:53:06Z</updated>
<author>
<name>Tijl Coosemans</name>
<email>tijl@FreeBSD.org</email>
</author>
<published>2010-12-10T08:53:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b0032ab5f881cc57ae716d1c1c1eac5c14e64bab'/>
<id>urn:sha1:b0032ab5f881cc57ae716d1c1c1eac5c14e64bab</id>
<content type='text'>
in crt1.o. On other architectures crtbrand.c is included from crt1.c,
but that's not a C source code file on ia64. Instead it is compiled
separately and included in crt1.o using incremental linking.

Tested by:	dim (previous version)
Approved by:	kib (mentor)
</content>
</entry>
<entry>
<title>Let all .c and .S files under lib/csu consistently use the __FBSDID()</title>
<updated>2010-12-09T21:31:21Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2010-12-09T21:31:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cbbcfbf8b769db75e99f7423e6d4ed6f8b7eb5ea'/>
<id>urn:sha1:cbbcfbf8b769db75e99f7423e6d4ed6f8b7eb5ea</id>
<content type='text'>
macro for identification, instead of several different hand-rolled
variants (plain .ident, .ascii, etc).
</content>
</entry>
<entry>
<title>Remove two .endp's without matching .proc in lib/csu/ia64/crtn.S.</title>
<updated>2010-10-15T21:40:20Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2010-10-15T21:40:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=73438aeedcb73ccc06a7ebd04d7709800ca8c447'/>
<id>urn:sha1:73438aeedcb73ccc06a7ebd04d7709800ca8c447</id>
<content type='text'>
This allows it to assemble with newer binutils.

Reviewed by:	marcel
</content>
</entry>
<entry>
<title>Use default WARNS setting (of 6) for lib/csu.</title>
<updated>2010-03-05T13:29:05Z</updated>
<author>
<name>Ulrich Spörlein</name>
<email>uqs@FreeBSD.org</email>
</author>
<published>2010-03-05T13:29:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=03dab16e1d96c59d081bf3af34a0cdcaf0bcc9fc'/>
<id>urn:sha1:03dab16e1d96c59d081bf3af34a0cdcaf0bcc9fc</id>
<content type='text'>
PR:		bin/140089
Reviewed by:	jmallett
Approved by:	ed (co-mentor)
</content>
</entry>
<entry>
<title>Properly support -fPIE by linking PIE binaries with specially-built</title>
<updated>2009-12-02T16:34:20Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-12-02T16:34:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c09ba32715e4d6f9339259b872375bca77f59d37'/>
<id>urn:sha1:c09ba32715e4d6f9339259b872375bca77f59d37</id>
<content type='text'>
Scrt1.o instead of crt1.o, since the later is built as non-PIC.

Separate i386-elf crt1.c into the pure assembler part and C code,
supplying all data extracted by assembler stub as explicit parameters [1].
Hide and localize _start1 symbol used as an interface between asm and
C code.

In collaboration with:	kan
Inspired by:	PR i386/127387 [1]
Prodded and tested by:	rdivacky [1]
MFC after:	3 weeks
</content>
</entry>
<entry>
<title>Bring ia64 back from the dead. After a call one needs to restore the</title>
<updated>2004-08-18T23:06:47Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2004-08-18T23:06:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e8e41d4cf89ccf226820df248b5b77b7554e2866'/>
<id>urn:sha1:e8e41d4cf89ccf226820df248b5b77b7554e2866</id>
<content type='text'>
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@
</content>
</entry>
<entry>
<title>Add support for TLS in statically linked programs.</title>
<updated>2004-08-15T16:18:52Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2004-08-15T16:18:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ccd13c49b55616e3f92a3cf37512dc24aeb41e0a'/>
<id>urn:sha1:ccd13c49b55616e3f92a3cf37512dc24aeb41e0a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typo: Passing the first argument to exit() in out2 does not work.</title>
<updated>2003-07-15T03:50:38Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-07-15T03:50:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=29cc06cf27d0fe8b7c9423bacb05464c2ed964c9'/>
<id>urn:sha1:29cc06cf27d0fe8b7c9423bacb05464c2ed964c9</id>
<content type='text'>
Trust me.
</content>
</entry>
</feed>
