Fix lots of bitrot for stub configurations.
[glibc.git] / ports / ChangeLog.tile
blob9ef3f99ec342faed9bb9658f713d728c9747f749
1 2012-07-26  Andreas Jaeger  <aj@suse.de>
3         * sysdeps/unix/sysv/linux/tile/sys/ptrace.h (__ptrace_eventcodes):
4         Add new value PTRACE_EVENT_SECCOMP from Linux 3.5.
5         (__ptrace_setoptions): Add new value PTRACE_O_TRACESECCOMP, adjust
6         PTRACE_O_MASK.
8         * sysdeps/unix/sysv/linux/tile/bits/siginfo.h (siginfo_t): Add
9         _sigsys.
10         (si_call_addr, si_syscall, si_arch): Define new macro.
12 2012-07-25  Florian Weimer  <fweimer@redhat.com>
14         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist:
15         Add secure_getenv.
16         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist:
17         Likewise.
19 2012-07-17  Chris Metcalf  <cmetcalf@tilera.com>
21         * sysdeps/unix/sysv/linux/tile/setcontext.S: Ensure exit status is
22         zero if uc_link is NULL.
24         * sysdeps/tile/libm-test-ulps: Account for new tests.
26         * data/c++-types-tilepro-linux-gnu.data: Move to ...
27         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/c++-types.data: ... here.
28         * data/c++-types-tilegx-linux-gnu.data: Move to ...
29         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/c++-types.data:
30         ... here.
31         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/c++-types.data:
32         New file.
34 2012-07-10  Chris Metcalf  <cmetcalf@tilera.com>
36         * sysdeps/unix/sysv/linux/tile/makecontext.c (__makecontext):
37         Correct typo in comment.
39         * sysdeps/tile/sysdep.h (ENTRY): Use .globl, not
40         ASM_GLOBAL_DIRECTIVE.
42 2012-05-30  Chris Metcalf  <cmetcalf@tilera.com>
44         * sysdeps/unix/sysv/linux/tile/tilegx/Makefile: Remove test
45         that $(subdir) is "misc" when setting abi- variables.
47         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Makefile: New file.
48         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Makefile: New file.
50         * sysdeps/tile/libm-test-ulps: Account for new tests.
52         * sysdeps/unix/sysv/linux/tile/tilegx/Makefile: New file.
54         * sysdeps/unix/sysv/linux/tile/nptl/pthread_once.c: Replace
55         _internal alias by hidden_def.
57         * sysdeps/unix/sysv/linux/tile/kernel-features.h
58         (__ASSUME_NEW_GETRLIMIT_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL): Remove.
60 2012-05-23  Chris Metcalf  <cmetcalf@tilera.com>
62         * sysdeps/unix/sysv/linux/tile/bits/mman.h (MADV_DONTDUMP): Define.
63         (MADV_DODUMP): Likewise.
65 2012-05-22  Chris Metcalf  <cmetcalf@tilera.com>
67         * sysdeps/tile/bits/libm-test-ulps: Update.
69         * sysdeps/tile/bits/wordsize.h (__WORDSIZE_COMPAT32): Rename to
70         __WORDSIZE_TIME64_COMPAT32.
72         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist: Update.
73         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist:
74         Update.
75         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist:
76         Update.
78 2012-05-17  Chris Metcalf  <cmetcalf@tilera.com>
80         * sysdeps/tile/fegetenv.c: Version fegetenv() like fesetenv().
81         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist:
82         Add fegetenv.
83         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist:
84         Likewise.
85         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist: Likewise.
87         * sysdeps/tile/stackguard-macros.h: Support tilegx32.
89         * data/c++-types-tilepro-linux-gnu.data: Renamed from
90         data/c++-types-tile-linux-gnu.data.
91         * data/c++-types-tilegx-linux-gnu.data: New file.
93         * sysdeps/tile/libm-test-ulps: Improved fma() and exp10().
95         * sysdeps/tile/s_fma.c: Use ieee754/dbl-64 without rounding or
96         exception support; it's still much better than the generic version.
98 2012-05-16  Chris Metcalf  <cmetcalf@tilera.com>
100         * sysdeps/unix/sysv/linux/tile/ucontext_i: Fix tilegx32 offset bug.
101         * sysdeps/unix/sysv/linux/tile/getcontext.S: Fix tilegx32 bug
102         where we accessed "uc_flags" as an 8-byte field.
103         * sysdeps/unix/sysv/linux/tile/setcontext.S: Likewise,
104         and also fix frame code not to access stack below "sp".
105         * sysdeps/unix/sysv/linux/tile/swapcontext.S: Fix frame code not
106         to access stack below "sp", and add frame unwind to error path.
108 2012-05-15  Chris Metcalf  <cmetcalf@tilera.com>
110         * sysdeps/tile/sotruss-lib.c: New file.
112         * sysdeps/tile/math_private.h (feraiseexcept): Use statement
113         expression syntax to avoid compiler warning.
115         * sysdeps/tile/libm-test-ulps: New file.
117         * sysdeps/tile/bits/fenv.h (__FE_UNDEFINED): New symbol.
119         * sysdeps/tile/ldsodefs.h (ARCH_PLTEXIT_MEMBERS): Add proper
120         const qualifier to "inregs" argument.
122         * sysdeps/tile/elf/stackguard-macros.h: Delete unused file.
124 2012-05-14  Chris Metcalf  <cmetcalf@tilera.com>
126         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/ld.abilist:
127         New file.
128         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libBrokenLocale.abilist:
129         Likewise.
130         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libanl.abilist:
131         Likewise.
132         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist:
133         Likewise.
134         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist:
135         Likewise.
136         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libdl.abilist:
137         Likewise.
138         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist:
139         Likewise.
140         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libnsl.abilist:
141         Likewise.
142         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist:
143         Likewise.
144         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libresolv.abilist:
145         Likewise.
146         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/librt.abilist:
147         Likewise.
148         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libthread_db.abilist:
149         Likewise.
150         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libutil.abilist:
151         Likewise.
152         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/ld.abilist:
153         Likewise.
154         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libBrokenLocale.abilist:
155         Likewise.
156         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libanl.abilist:
157         Likewise.
158         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist:
159         Likewise.
160         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist:
161         Likewise.
162         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libdl.abilist:
163         Likewise.
164         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist:
165         Likewise.
166         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libnsl.abilist:
167         Likewise.
168         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist:
169         Likewise.
170         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libresolv.abilist:
171         Likewise.
172         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/librt.abilist:
173         Likewise.
174         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libthread_db.abilist:
175         Likewise.
176         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libutil.abilist:
177         Likewise.
178         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/ld.abilist: Likewise.
179         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libBrokenLocale.abilist:
180         Likewise.
181         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libanl.abilist: Likewise.
182         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist: Likewise.
183         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist: Likewise.
184         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libdl.abilist: Likewise.
185         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist: Likewise.
186         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libnsl.abilist: Likewise.
187         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist:
188         Likewise.
189         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libresolv.abilist:
190         Likewise.
191         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/librt.abilist: Likewise.
192         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libthread_db.abilist:
193         Likewise.
194         * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libutil.abilist: Likewise.
196         * sysdeps/tile/dl-start.S: Align stack for tilegx32.
198 2012-05-12  Chris Metcalf  <cmetcalf@tilera.com>
200         * sysdeps/unix/sysv/linux/tile/sys/dataplane.h: Add <features.h>.
202         * sysdeps/unix/sysv/linux/tile/nptl/clone.S: Add missing CFI.
204         * sysdeps/tile/tls-macros.h: Fix buggy TLS_GD, etc., macros.
206         * sysdeps/tile/tilegx/memchr.c: Use new copy_byte() function
207         to efficiently generate a large constant for masking.
208         * sysdeps/tile/tilegx/memset.c: Likewise.
209         * sysdeps/tile/tilegx/rawmemchr.c: Likewise.
210         * sysdeps/tile/tilegx/strchr.c: Likewise.
211         * sysdeps/tile/tilegx/strchrnul.c: Likewise.
212         * sysdeps/tile/tilegx/strrchr.c: Likewise.
213         * sysdeps/tile/tilegx/string-endian.h (copy_byte): New function.
215         * sysdeps/tile/tilegx/memcpy.c: Allow memcpy(p, p, n)
216         without corrupting memory at "p".
218         * sysdeps/tile/__tls_get_addr.S: Use __WORDSIZE, not _LP64.
220         * sysdeps/tile/stackguard-macros.h: New file.
221         * sysdeps/tile/elf/stackguard-macros.h: New stub include file.
223         * sysdeps/tile/Makefile (ELF_MACHINE_PLTREL_OVERLAP):
224         Remove variable no longer used by core.
226         * sysdeps/unix/sysv/linux/tile/bits/siginfo.h: Don't name
227         siginfo_t struct.  Add forward declaration of pthread_attr_t and
228         use it in sigevent.
229         * sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h: Name
230         pthread_attr_t union.
232         * sysdeps/tile/crti.S: New file, based on compiler output
233         for sysdeps/generic/initfini.c.
234         * sysdeps/tile/crtn.S: Likewise.
235         * sysdeps/tile/Makefile (CFLAGS-initfini.s): Remove variable.
236         * sysdeps/unix/sysv/linux/tile/nptl/Makefile
237         (CFLAGS-pt-initfini.s): Likewise.
238         * sysdeps/tile/elf/start.S: Moved to ...
239         * sysdeps/tile/start.S: ...here.
241 2012-04-15  Mike Frysinger  <vapier@gentoo.org>
243         * sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h: Include
244         <_itoa.h> instead of <stdio-common/_itoa.h>.
245         * sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h: Likewise.
247 2012-03-09  Richard Henderson  <rth@twiddle.net>
249         * sysdeps/tile/math_private.h: Use include_next to
250         chain math_private.h.
252 2012-03-09  Paul Eggert  <eggert@cs.ucla.edu>
254         [BZ #13673]
255         Replace FSF snail mail address with URLs, as per GNU coding standards.
257 2012-01-31  Chris Metcalf  <cmetcalf@tilera.com>
259         * sysdeps/tile/bits/fenv.h: Use const instead of __const.
260         * sysdeps/unix/sysv/linux/tile/sys/cachectl.h: Likewise.
262 2012-01-31  Chris Metcalf  <cmetcalf@tilera.com>
264         * sysdeps/tile/sysdep.h: Use <feedback.h> not <feedback-asm.h>
265         to reflect change from gcc community giveback.
267 2012-01-31  Chris Metcalf  <cmetcalf@tilera.com>
269         * sysdeps/tile/math_private.h: Ignore feraiseexcept() internally.
271 2012-01-30  Chris Metcalf  <cmetcalf@tilera.com>
273         * sysdeps/tile/sysdep.h: Don't check HAVE_ELF or NO_UNDERSCORES.
275 2012-01-07  Joseph Myers  <joseph@codesourcery.com>
277         * sysdeps/tile/backtrace.c: Use x86_64 version of backtrace.c.
279 2011-12-03  Chris Metcalf  <cmetcalf@tilera.com>
281         * data/c++-types-tile-linux-gnu.data: New file.
282         * sysdeps/tile/Implies: New file.
283         * sysdeps/tile/Makefile: New file.
284         * sysdeps/tile/Versions: New file.
285         * sysdeps/tile/__longjmp.S: New file.
286         * sysdeps/tile/__tls_get_addr.S: New file.
287         * sysdeps/tile/_mcount.S: New file.
288         * sysdeps/tile/abort-instr.h: New file.
289         * sysdeps/tile/backtrace.c: New file.
290         * sysdeps/tile/bits/atomic.h: New file.
291         * sysdeps/tile/bits/byteswap.h: New file.
292         * sysdeps/tile/bits/endian.h: New file.
293         * sysdeps/tile/bits/fenv.h: New file.
294         * sysdeps/tile/bits/link.h: New file.
295         * sysdeps/tile/bits/mathdef.h: New file.
296         * sysdeps/tile/bits/mathinline.h: New file.
297         * sysdeps/tile/bits/setjmp.h: New file.
298         * sysdeps/tile/bsd-_setjmp.S: New file.
299         * sysdeps/tile/bsd-setjmp.S: New file.
300         * sysdeps/tile/bzero.S: New file.
301         * sysdeps/tile/dl-lookupcfg.h: New file.
302         * sysdeps/tile/dl-machine.h: New file.
303         * sysdeps/tile/dl-runtime.c: New file.
304         * sysdeps/tile/dl-start.S: New file.
305         * sysdeps/tile/dl-tls.c: New file.
306         * sysdeps/tile/dl-tls.h: New file.
307         * sysdeps/tile/dl-trampoline.S: New file.
308         * sysdeps/tile/elf/start.S: New file.
309         * sysdeps/tile/fegetenv.c: New file.
310         * sysdeps/tile/fegetround.c: New file.
311         * sysdeps/tile/feholdexcpt.c: New file.
312         * sysdeps/tile/fesetenv.c: New file.
313         * sysdeps/tile/fesetround.c: New file.
314         * sysdeps/tile/feupdateenv.c: New file.
315         * sysdeps/tile/ffs.c: New file.
316         * sysdeps/tile/ffsll.c: New file.
317         * sysdeps/tile/gccframe.h: New file.
318         * sysdeps/tile/jmpbuf-offsets.h: New file.
319         * sysdeps/tile/jmpbuf-unwind.h: New file.
320         * sysdeps/tile/ldsodefs.h: New file.
321         * sysdeps/tile/machine-gmon.h: New file.
322         * sysdeps/tile/nptl/Makefile: New file.
323         * sysdeps/tile/nptl/pthread_spin_lock.c: New file.
324         * sysdeps/tile/nptl/pthread_spin_trylock.c: New file.
325         * sysdeps/tile/nptl/pthreaddef.h: New file.
326         * sysdeps/tile/nptl/tcb-offsets.sym: New file.
327         * sysdeps/tile/nptl/tls.h: New file.
328         * sysdeps/tile/preconfigure: New file.
329         * sysdeps/tile/s_fma.c: New file.
330         * sysdeps/tile/s_fmaf.c: New file.
331         * sysdeps/tile/setjmp.S: New file.
332         * sysdeps/tile/shlib-versions: New file.
333         * sysdeps/tile/stackinfo.h: New file.
334         * sysdeps/tile/sysdep.h: New file.
335         * sysdeps/tile/tilegx/bits/atomic.h: New file.
336         * sysdeps/tile/tilegx/bits/wordsize.h: New file.
337         * sysdeps/tile/tilegx/memchr.c: New file.
338         * sysdeps/tile/tilegx/memcpy.c: New file.
339         * sysdeps/tile/tilegx/memset.c: New file.
340         * sysdeps/tile/tilegx/memusage.h: New file.
341         * sysdeps/tile/tilegx/rawmemchr.c: New file.
342         * sysdeps/tile/tilegx/strchr.c: New file.
343         * sysdeps/tile/tilegx/strchrnul.c: New file.
344         * sysdeps/tile/tilegx/string-endian.h: New file.
345         * sysdeps/tile/tilegx/strlen.c: New file.
346         * sysdeps/tile/tilegx/strrchr.c: New file.
347         * sysdeps/tile/tilegx/tilegx32/Implies: New file.
348         * sysdeps/tile/tilegx/tilegx64/Implies: New file.
349         * sysdeps/tile/tilepro/Implies: New file.
350         * sysdeps/tile/tilepro/bits/atomic.h: New file.
351         * sysdeps/tile/tilepro/bits/wordsize.h: New file.
352         * sysdeps/tile/tilepro/memchr.c: New file.
353         * sysdeps/tile/tilepro/memcpy.S: New file.
354         * sysdeps/tile/tilepro/memset.c: New file.
355         * sysdeps/tile/tilepro/memusage.h: New file.
356         * sysdeps/tile/tilepro/rawmemchr.c: New file.
357         * sysdeps/tile/tilepro/strchr.c: New file.
358         * sysdeps/tile/tilepro/strchrnul.c: New file.
359         * sysdeps/tile/tilepro/strlen.c: New file.
360         * sysdeps/tile/tilepro/strrchr.c: New file.
361         * sysdeps/tile/tls-macros.h: New file.
362         * sysdeps/tile/tst-audit.h: New file.
363         * sysdeps/unix/sysv/linux/tile/Makefile: New file.
364         * sysdeps/unix/sysv/linux/tile/Versions: New file.
365         * sysdeps/unix/sysv/linux/tile/bits/environments.h: New file.
366         * sysdeps/unix/sysv/linux/tile/bits/local_lim.h: New file.
367         * sysdeps/unix/sysv/linux/tile/bits/mman.h: New file.
368         * sysdeps/unix/sysv/linux/tile/bits/mman.h~: New file.
369         * sysdeps/unix/sysv/linux/tile/bits/sigaction.h: New file.
370         * sysdeps/unix/sysv/linux/tile/bits/siginfo.h: New file.
371         * sysdeps/unix/sysv/linux/tile/cacheflush.c: New file.
372         * sysdeps/unix/sysv/linux/tile/configure: New file.
373         * sysdeps/unix/sysv/linux/tile/configure.in: New file.
374         * sysdeps/unix/sysv/linux/tile/getcontext.S: New file.
375         * sysdeps/unix/sysv/linux/tile/kernel-features.h: New file.
376         * sysdeps/unix/sysv/linux/tile/makecontext.c: New file.
377         * sysdeps/unix/sysv/linux/tile/nptl/Makefile: New file.
378         * sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h: New file.
379         * sysdeps/unix/sysv/linux/tile/nptl/bits/semaphore.h: New file.
380         * sysdeps/unix/sysv/linux/tile/nptl/clone.S: New file.
381         * sysdeps/unix/sysv/linux/tile/nptl/createthread.c: New file.
382         * sysdeps/unix/sysv/linux/tile/nptl/fork.c: New file.
383         * sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h: New file.
384         * sysdeps/unix/sysv/linux/tile/nptl/pt-vfork.S: New file.
385         * sysdeps/unix/sysv/linux/tile/nptl/pthread_once.c: New file.
386         * sysdeps/unix/sysv/linux/tile/nptl/sysdep-cancel.h: New file.
387         * sysdeps/unix/sysv/linux/tile/nptl/vfork.S: New file.
388         * sysdeps/unix/sysv/linux/tile/nptl/waitpid.S: New file.
389         * sysdeps/unix/sysv/linux/tile/profil-counter.h: New file.
390         * sysdeps/unix/sysv/linux/tile/set_dataplane.c: New file.
391         * sysdeps/unix/sysv/linux/tile/setcontext.S: New file.
392         * sysdeps/unix/sysv/linux/tile/sigcontextinfo.h: New file.
393         * sysdeps/unix/sysv/linux/tile/swapcontext.S: New file.
394         * sysdeps/unix/sysv/linux/tile/sys/cachectl.h: New file.
395         * sysdeps/unix/sysv/linux/tile/sys/dataplane.h: New file.
396         * sysdeps/unix/sysv/linux/tile/sys/procfs.h: New file.
397         * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: New file.
398         * sysdeps/unix/sysv/linux/tile/sys/reg.h: New file.
399         * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: New file.
400         * sysdeps/unix/sysv/linux/tile/sys/user.h: New file.
401         * sysdeps/unix/sysv/linux/tile/syscall.S: New file.
402         * sysdeps/unix/sysv/linux/tile/sysdep.c: New file.
403         * sysdeps/unix/sysv/linux/tile/sysdep.h: New file.
404         * sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S: New file.
405         * sysdeps/unix/sysv/linux/tile/tilegx/ldconfig.h: New file.
406         * sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h: New file.
407         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies: New file.
408         * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies: New file.
409         * sysdeps/unix/sysv/linux/tile/tilepro/Implies: New file.
410         * sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h: New file.
411         * sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h: New file.
412         * sysdeps/unix/sysv/linux/tile/ucontext_i.h: New file.