summaryrefslogtreecommitdiff
path: root/libc/ChangeLog.eglibc
blob: 73a22ee5694ce22f9d3472c5cacb0e2db64047d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	Backport:
	2006-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
	* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Remove
	recvfrom and sendto.  Mark lseek, msgrcv, and msgsnd as cancellation
	points.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	* math/atest-exp.c (main): Cast hex value to mp_limb_t before
	shifting.
	* math/atest-exp2.c (read_mpn_hex): Likewise.
	* math/atest-sincos.c (main): Likewise.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/generic/e_exp2l.c: Update from mainline glibc.
	* sysdeps/mips/mips64/n32/Implies: Add mips/mips64/soft-fp.
	* sysdeps/mips/mips64/n64/Implies: Likewise.
	* sysdeps/mips/mips64/soft-fp/Makefile: New.
	* sysdeps/mips/mips64/soft-fp/e_sqrtl.c: New.
	* sysdeps/mips/mips64/soft-fp/sfp-machine.h: Include <fenv.h> and
	<fpu_control.h>.  Use hardware exception and rounding mode
	settings.
	* soft-fp/quad.h (_FP_UNION_Q): Use _FP_W_TYPE for frac
	bit-fields.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIM_INFINITY,
	RLIM64_INFINITY): Define appropriately for N64.  Use unsigned
	types.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	Backport:
	2006-05-08  Richard Sandiford  <richard@codesourcery.com>
	            Daniel Jacobowitz  <dan@codesourcery.com>
	* sysdeps/unix/sysv/linux/mips/register-dump.h (register_dump): Don't
	dump sc_cause, sc_status or sc_badvaddr.
	* sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Rewrite.  Update
	structure definitions after DSP kernel changes.
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (mcontext_t): Update
	after the same DSP changes.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	Backport MIPS NPTL support.  By Daniel Jacobowitz
	<dan@codesourcery.com>.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	Backport:
	2006-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
	* sysdeps/unix/sysv/linux/mips/ptrace.c: Delete file.
	* sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Delete file.

2006-08-21  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/eabi/syscalls.list: Remove msgctl,
	shmctl, and semctl.
	* sysdeps/unix/sysv/linux/arm/eabi/semctl.c,
	sysdeps/unix/sysv/linux/arm/eabi/shmctl.c,
	sysdeps/unix/sysv/linux/arm/eabi/msgctl.c: New files.

2006-08-18  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c (_dl_arm_cap_flags):
	Add "java" and "iwmmxt".
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Use <sysdep.h> for
	HWCAP values.
	(_DL_HWCAP_COUNT): Increase to 10.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (HWCAP_ARM_SWP,
	HWCAP_ARM_HALF, HWCAP_ARM_THUMB, HWCAP_ARM_26BIT,
	HWCAP_ARM_FAST_MULT, HWCAP_ARM_FPA, HWCAP_ARM_VFP, HWCAP_ARM_EDSP,
	HWCAP_ARM_JAVA, HWCAP_ARM_IWMMXT): Define.
	* sysdeps/arm/eabi/setjmp.S (__sigsetjmp): Save iWMMXt registers
	if HWCAP_ARM_IWMMXT set.  Don't include <asm/procinfo.h>.  Use
	HWCAP_ARM_VFP instead of HWCAP_VFP.
	* sysdeps/arm/eabi/__longjmp.S (__longjmp): Restore iWMMXt
	registers if HWCAP_ARM_IWMMXT set.  Don't include
	<asm/procinfo.h>.  Use HWCAP_ARM_VFP instead of HWCAP_VFP.

2006-06-01  Mark Shinwell  <shinwell@codesourcery.com>

	* nptl/sysdeps/arm/pthreaddef.h: Add -12 offset to
	CURRENT_STACK_FRAME macro.

2006-05-02  Paul Brook  <paul@codesourcery.com>

	* nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.h (lll_mutex_trylock,
	lll_mutex_cond_trylock): Use atomic_compare_and_exchange_val_acq.
	* nptl/sysdeps/unix/sysv/linux/arm/bits/atomic.h (atomic_exchange_acq):
	Disable on SMP.
	(atomic_full_barrier): Define.

2006-03-24  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/eabi/socket.S: Delete.
	* sysdeps/unix/sysv/linux/arm/eabi/syscalls.list,
	sysdeps/unix/sysv/linux/arm/kernel-features.h,
	sysdeps/unix/sysv/linux/arm/eabi/umount.c: New files.
	* linuxthreads/sysdeps/unix/sysv/linux/arm/eabi/sysdep-cancel.h
	(DOCARGS_6, UNDOCARGS_6, RESTORE_LR_6): Define.
	* nptl/sysdeps/unix/sysv/linux/arm/eabi/sysdep-cancel.h
	(DOCARGS_6, UNDOCARGS_6, RESTORE_LR_6): Define.
	* sysdeps/unix/sysv/linux/arm/eabi/sysdep.h: Undefine
	__NR_stime and __NR_alarm.

2006-01-06  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/dl-machine.h (CLEAR_CACHE): Use INTERNAL_SYSCALL_ARM.
	* sysdeps/unix/sysv/linux/arm/brk.c (__brk): Use INLINE_SYSCALL.
	* sysdeps/unix/sysv/linux/arm/clone.S (__clone): Adjust for EABI
	syscalls.
	* sysdeps/unix/sysv/linux/arm/eabi/configure.in: Bump
	arch_minimum_kernel.
	* sysdeps/unix/sysv/linux/arm/eabi/configure: Regenerated.
	* sysdeps/unix/sysv/linux/arm/eabi/epoll_ctl.c,
	sysdeps/unix/sysv/linux/arm/eabi/epoll_wait.c,
	sysdeps/unix/sysv/linux/arm/eabi/fcntl.c,
	sysdeps/unix/sysv/linux/arm/eabi/fstatfs64.c,
	sysdeps/unix/sysv/linux/arm/eabi/ftruncate64.c,
	sysdeps/unix/sysv/linux/arm/eabi/fxstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/kernel_epoll.h,
	sysdeps/unix/sysv/linux/arm/eabi/kernel_stat.h,
	sysdeps/unix/sysv/linux/arm/eabi/lockf64.c,
	sysdeps/unix/sysv/linux/arm/eabi/lxstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/semop.c,
	sysdeps/unix/sysv/linux/arm/eabi/semtimedop.c,
	sysdeps/unix/sysv/linux/arm/eabi/statfs64.c,
	sysdeps/unix/sysv/linux/arm/eabi/syscalls.list,
	sysdeps/unix/sysv/linux/arm/eabi/uname.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstatconv.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstatconv.h: Removed.
	* sysdeps/unix/sysv/linux/arm/eabi/mmap64.S,
	sysdeps/unix/sysv/linux/arm/eabi/pread.c,
	sysdeps/unix/sysv/linux/arm/eabi/pread64.c,
	sysdeps/unix/sysv/linux/arm/eabi/pwrite.c,
	sysdeps/unix/sysv/linux/arm/eabi/pwrite64.c,
	sysdeps/unix/sysv/linux/arm/eabi/readahead.c,
	sysdeps/unix/sysv/linux/arm/eabi/sigrestorer.S,
	sysdeps/unix/sysv/linux/arm/eabi/socket.S,
	sysdeps/unix/sysv/linux/arm/eabi/syscall.S,
	sysdeps/unix/sysv/linux/arm/eabi/sysdep.h,
	sysdeps/unix/sysv/linux/arm/eabi/truncate64.c: New files.
	* sysdeps/unix/sysv/linux/arm/mmap.S (__mmap): Use DO_CALL.
	* sysdeps/unix/sysv/linux/arm/mmap64.S (__mmap64): Use DO_CALL.
	Don't handle EABI here.
	* sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use
	SINGLE_THREAD_P.
	* sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Use DO_CALL.

	* linuxthreads/sysdeps/unix/sysv/linux/arm/eabi/sysdep-cancel.h: New
	file.
	* linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
	(SINGLE_THREAD_P_INT, SINGLE_THREAD_P_PIC): Removed.
	(SINGLE_THREAD_P): Rewritten to use only ip.
	* linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Use
	DO_CALL.

	* sysdeps/arm/bits/setjmp.h, sysdeps/arm/fpu/bits/setjmp.h,
	sysdeps/unix/arm/sysdep.S: Update
	copyright years.

	* sysdeps/unix/sysv/linux/arm/sigaction.c
	(__libc_sigaction): Remove never-valid handling for SA_ONSTACK.

	* sysdeps/unix/sysv/linux/arm/socket.S: Whitespace cleanup.

	* nptl/sysdeps/unix/sysv/linux/arm/socket.S: Delete.

	* sysdeps/unix/sysv/linux/arm/sysdep.h: Doc fix.

	* nptl/sysdeps/unix/sysv/linux/arm/Versions,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/sysdep-cancel.h: New files.

2005-11-10  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/arm/dl-machine.h (fix_bad_pc24): Change static to auto.

2005-11-08  Joseph Myers  <joseph@codesourcery.com>

	* nptl/sysdeps/arm/tcb-offsets.sym: Fix to work with GCC 4.1.

2005-11-03  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S: Add LGPL exception.

2005-10-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/eabi/aeabi_lcsts.c, sysdeps/arm/eabi/aeabi_math.c,
	sysdeps/arm/eabi/aeabi_sighandlers.S: Add LGPL exception.

2005-10-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/eabi/Makefile (static-only-routines): Remove
	$(aeabi_routines).
	* sysdeps/arm/eabi/Versions (GLIBC_2.4): Add ARM EABI portability
	routines.
	* sysdeps/arm/eabi/aeabi_assert.c, sysdeps/arm/eabi/aeabi_atexit.c,
	sysdeps/arm/eabi/aeabi_errno_addr.c,
	sysdeps/arm/eabi/aeabi_localeconv.c,
	sysdeps/arm/eabi/aeabi_mb_cur_max.c, sysdeps/arm/eabi/aeabi_memclr.c,
	sysdeps/arm/eabi/aeabi_memcpy.c, sysdeps/arm/eabi/aeabi_memmove.c,
	sysdeps/arm/eabi/aeabi_memset.c: Remove attribute_hidden.

2005-10-20  Paul Brook  <paul@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/socket.S: Conditionalize weak alias on
	NO_WEAK_ALIAS.
	* nptl/sysdeps/unix/sysv/linux/arm/socket.S: Conditionalize weak alias
	on NO_WEAK_ALIAS.

2005-10-09  Julian Brown  <julian@codesourcery.com>

	* sysdeps/arm/eabi/setjmp.S (__sigsetjmp): Use caller-saved registers
	in VFP detection code.

2005-10-07  Julian Brown  <julian@codesourcery.com>

	* sysdeps/arm/eabi/setfpucw.c: New file.
	(__setfpucw): New function. Set VFP status word if a VFP unit is
	present.

2005-10-07  Julian Brown  <julian@codesourcery.com>

	* sysdeps/arm/eabi/bits/predefs.h (__STDC_IEC_559__): Don't define when
	run-time VFP detection is being used.
	(__STDC_IEC_559_COMPLEX__): Likewise.
	* sysdeps/arm/eabi/fpu/bits/predefs.h: New file.
	(__STDC_IEC_559__): Define when compiling with VFP enabled.
	(__STDC_IEC_559_COMPLEX__): Likewise.

2005-10-06  Julian Brown  <julian@codesourcery.com>

	* sysdeps/arm/Makefile: New file. Generate rtld-global-offsets.h
	header.
	* sysdeps/arm/eabi/Makefile: Add dependency of libm.so on ld.so for
	rtld_global_ro.
	* sysdeps/arm/eabi/__longjmp.S: Restore VFP registers if a VFP unit is
	present.
	* sysdeps/arm/eabi/fclrexcpt.c: New file.
	(__feclearexcept): New function. Clear exception flags.
	* sysdeps/arm/eabi/fedisblxcpt.c: New file.
	(fedisableexcept): New function. Disable exceptions.
	* sysdeps/arm/eabi/feenablxcpt.c: New file.
	(feenableexcept): New function. Enable exceptions.
	* sysdeps/arm/eabi/fegetenv.c: New file.
	(__fegetenv): New function. Get FP environment.
	* sysdeps/arm/eabi/fegetexcept.c: New file.
	(fegetexcept): New function. Get enabled FP exceptions.
	* sysdeps/arm/eabi/fegetround.c: New file.
	(fegetround): Get current rounding mode.
	* sysdeps/arm/eabi/feholdexcpt.c: New file.
	(feholdexcept): Store floating-point environment and set to continue on
	exceptions.
	* sysdeps/arm/eabi/fesetenv.c: New file.
	(__fesetenv): Restore floating-point environment.
	* sysdeps/arm/eabi/fesetround.c: New file.
	(fesetround): Set floating-point rounding mode.
	* sysdeps/arm/eabi/fpu_control.h: New file. FPU control word
	definitions.
	* sysdeps/arm/eabi/fraiseexcept.c: New file.
	(feraiseexcept): Raise FP exceptions.
	* sysdeps/arm/eabi/fsetexcptflg.c: New file.
	(__fesetexceptflag): New function. Set exception mask.
	* sysdeps/arm/eabi/ftestexcept.c: New file.
	(fetestexcept): New function. Test exception in current environment.
	* sysdeps/arm/eabi/setjmp.S: Preserve VFP registers if a VFP unit is
	present.
	* sysdeps/arm/eabi/bits/fenv.h: New file.
	* sysdeps/arm/eabi/bits/predefs.h: New file.
	* sysdeps/arm/eabi/fpu/__longjmp.S: Remove file.
	* sysdeps/arm/eabi/fpu/fclrexcpt.c: Remove file.
	* sysdeps/arm/eabi/fpu/fegetround.c: Remove file.
	* sysdeps/arm/eabi/fpu/feholdexcpt.c: Remove file.
	* sysdeps/arm/eabi/fpu/fesetenv.c: Remove file.
	* sysdeps/arm/eabi/fpu/fesetround.c: Remove file.
	* sysdeps/arm/eabi/fpu/fpu_control.h: Remove file.
	* sysdeps/arm/eabi/fpu/fraiseexcpt.c: Remove file.
	* sysdeps/arm/eabi/fpu/setjmp.S: Remove file.
	* sysdeps/arm/eabi/fpu/bits/fenv.h: Remove file.
	* sysdeps/arm/eabi/fpu/bits/predefs.h: Remove file.
	* sysdeps/arm/elf/rtld-global-offsets.sym: New file. Find offset of
	hwcap in rtld_global_ro structure.

2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle TLS.

2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/posix_fadvise.c,
	sysdeps/unix/sysv/linux/arm/posix_fadvise64.c: New files.

2005-10-03  Mark Mitchell  <mark@codesourcery.com>

	* stdlib/longlong.h (add_ssaaaa): Clobber condition code register
	in ARM version.
	(sub_ddmmss): Likewise.
	(umul_ppmm): Likewise.

2005-08-04  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/arm/eabi/aeabi_memclr.c,
	sysdeps/arm/eabi/aeabi_memcpy.c, sysdeps/arm/eabi/aeabi_memmove.c,
	sysdeps/arm/eabi/aeabi_memset.c: New files.
	* sysdeps/arm/eabi/Makefile (aeabi_routines): Add these files.

2005-06-06  Paul Brook  <paul@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/sysdep.h: Fix get_tls syscall number.

2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/arm/sysdep.S (syscall_error): Reverse base and
	index register in store.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (__local_syscall_error):
	Likewise.

2005-04-27  Daniel Jacobowitz  <dan@codesourcery.com>

	* nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S (SAVE_PID): Update
	TLS access sequence.
	* nptl/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (SINGLE_THREAD_P):
	Likewise.
	* nptl/sysdeps/unix/sysv/linux/arm/vfork.S (SAVE_PID): Likewise.
	* nptl/sysdeps/unix/sysv/linux/arm/bits/atomic.h: Use kernel cmpxchg
	helper.

	* sysdeps/unix/arm/sysdep.S (syscall_error) [USE___THREAD]: Update
	TLS access sequence.
	* sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S (__aeabi_read_tp):
	Likewise.
	* sysdeps/unix/sysv/linux/arm/clone.S (__clone) [RESET_PID]:
	Likewise.
	* sysdeps/unix/sysv/linux/arm/libc-aeabi_read_tp.S: New file.
	* sysdeps/unix/sysv/linux/arm/Makefile: Include aeabi_read_tp in
	libc_nonshared.a and internally in libc.so and ld.so.

2005-04-27  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf/Makefile, linuxthreads/Makefile, nptl/Makefile,
	dlfcn/Makefile: Add libc_nonshared.a dependency for modules.

2005-04-08  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/eabi/fcntl.c,
	sysdeps/unix/sysv/linux/arm/eabi/lockf64.c: New files.

2005-04-08  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/dl-lookupcfg.h: New file.

2005-04-06  Mark Mitchell  <mark@codesourcery.com>

	* Makefile (headers): Add bits/predefs.h.
	* include/features.h (__STDC_IEC_559__): Do not define.
	(__STDC_IEC_559_COMPLEX__): Likewise.
	(<bits/predefs.h>): Include.
	* sysdeps/arm/bits/predefs.h: New file.
	* sysdeps/arm/eabi/fpu/bits/predefs.h: Likewise.
	* sysdeps/generic/bits/predefs.h: Likewise.
	
2005-03-30  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/arm/tls.h (TLS_INIT_TP): Fix typo.
	
2005-03-29  Paul Brook  <paul@codesourcery.com>

	* nptl/sysdeps/unix/sysv/linux/arm/eabi/configure.in: Override
	libc_cv_gcc_exceptions and exceptions.
	* nptl/sysdeps/unix/sysv/linux/arm/eabi/configure: Regenerate.

2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* ctype/ctype.h (__ctype_b_loc, __ctype_tolower_loc,
	__ctype_toupper_loc): Add __THROW.
	* include/ctype.h (__ctype_b_loc, __ctype_tolower_loc,
	__ctype_toupper_loc): Add __NTH.
	* include/stdlib.h (__strtol_l, __strtoul_l, __strtoll_l,
	__strtoull_l, __strtod_l, __strtof_l, __strtold_l,
	____strtod_l_internal, ____strtof_l_internal,
	____strtold_l_internal, ____strtol_l_internal,
	____strtoul_l_internal, ____strtoll_l_internal,
	____strtoull_l_internal): Add __THROW and __NTH.
	* libio/genops.c (_IO_unbuffer_write): Add __THROW.

	* linuxthreads/internals.h (__pthread_self, __pthread_thread_self,
	__pthread_internal_tsd_set, __pthread_internal_tsd_get,
	__pthread_internal_tsd_address): Add __THROW.
	* linuxthreads/sysdeps/pthread/bits/libc-tsd.h
	(__pthread_internal_tsd_address, __pthread_internal_tsd_get,
	__pthread_internal_tsd_set): Add __THROW.

	* nptl/pthreadP.h (__pthread_mutex_lock, __pthread_mutex_unlock,
	__pthread_mutex_lock_internal, __pthread_mutex_unlock_internal,
	__pthread_mutex_unlock_usercnt): Add __THROW.


	* elf/elf.h: Define ARM TLS relocations.

	* linuxthreads/descr.h (struct _pthread_descr_struct): Check
	INCLUDE_TLS_PADDING.

	* linuxthreads/sysdeps/arm/tls.h: New file.

	* nptl/tst-key1.c (do_test): Check __USING_SJLJ_EXCEPTIONS__.
	* nptl/tst-key4.c (max): Check __USING_SJLJ_EXCEPTIONS__.

	* nptl/unwind.c (unwind_stop): Call ARCH_UNWIND_CLEANUP.

	* nptl/sysdeps/pthread/pthread.h: Disable EH-based cancellation
	for ARM EABI.

	* nptl/sysdeps/arm/Makefile, nptl/sysdeps/arm/jmpbuf-unwind.h,
	nptl/sysdeps/arm/pthread_spin_lock.S,
	nptl/sysdeps/arm/pthread_spin_trylock.S,
	nptl/sysdeps/arm/pthreaddef.h, nptl/sysdeps/arm/tcb-offsets.sym,
	nptl/sysdeps/arm/tls.h, nptl/sysdeps/unix/sysv/linux/arm/clone.S,
	nptl/sysdeps/unix/sysv/linux/arm/createthread.c,
	nptl/sysdeps/unix/sysv/linux/arm/fork.c,
	nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.c,
	nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.h,
	nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S,
	nptl/sysdeps/unix/sysv/linux/arm/pthread_once.c,
	nptl/sysdeps/unix/sysv/linux/arm/socket.S,
	nptl/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h,
	nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c,
	nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c,
	nptl/sysdeps/unix/sysv/linux/arm/unwind.h,
	nptl/sysdeps/unix/sysv/linux/arm/vfork.S,
	nptl/sysdeps/unix/sysv/linux/arm/bits/atomic.h,
	nptl/sysdeps/unix/sysv/linux/arm/bits/pthreadtypes.h,
	nptl/sysdeps/unix/sysv/linux/arm/bits/semaphore.h,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/Makefile,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/configure,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/configure.in,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/nptl-aeabi_unwind_cpp_pr1.c,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/rt-aeabi_unwind_cpp_pr1.c,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/unwind-forcedunwind.c,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/unwind-resume.c,
	nptl/sysdeps/unix/sysv/linux/arm/eabi/unwind.h: New files.

	* sysdeps/arm/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
	(elf_machine_type_class): Handle TLS.
	(elf_machine_rel): Change static inline to auto inline.  Use
	RESOLVE_MAP.  Handle TLS.
	(elf_machine_rela): Change static inline to auto inline.  Use
	RESOLVE_MAP.
	(elf_machine_rel_relative, elf_machine_rela_relative,
	elf_machine_lazy_rel): Change static inline to auto inline.
	* sysdeps/arm/dl-tls.h, sysdeps/arm/libc-tls.c,
	sysdeps/arm/tls-macros.h, sysdeps/arm/elf/configure,
	sysdeps/arm/elf/configure.in: New files.
	* sysdeps/unix/sysv/linux/arm/Makefile: Include aeabi_read_tp.
	* sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S: New file.

	* sysdeps/arm/unwind-dw2-fde-glibc.c, sysdeps/arm/unwind-pe.c: New
	files.

	* sysdeps/arm/bits/atomic.h: New file.

	* sysdeps/arm/bits/setjmp.h: Protect against multiple inclusion.
	* sysdeps/arm/fpu/bits/setjmp.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/Versions: Export
	__default_sa_restorer and __default_rt_sa_restorer.

	* sysdeps/arm/eabi/aeabi_unwind_cpp_pr1.c (__aeabi_unwind_cpp_pr0,
	__aeabi_unwind_cpp_pr2): New functions.
	(__aeabi_unwind_cpp_pr1): Call abort.

	* sysdeps/unix/arm/sysdep.S: Handle TLS and RTLD_PRIVATE_ERRNO.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (SYSCALL_ERROR_HANDLER): Handle
	RTLD_PRIVATE_ERRNO.
	(__NR_set_tid_address, __ARM_NR_set_tls, __ARM_NR_cmpxchg): Define.
	(INTERNAL_SYSCALL_RAW): New macro, based on INTERNAL_SYSCALL.
	(INTERNAL_SYSCALL): Use it.
	(INTERNAL_SYSCALL_ARM): New.
	(INTERNAL_SYSCALL_NCS, INTERNAL_SYSCALL_NCS_0,
	INTERNAL_SYSCALL_NCS_1, INTERNAL_SYSCALL_NCS_2,
	INTERNAL_SYSCALL_NCS_3, INTERNAL_SYSCALL_NCS_4,
	INTERNAL_SYSCALL_NCS_5): New.
	* sysdeps/unix/sysv/linux/arm/clone.S: Handle NPTL.
	* sysdeps/unix/sysv/linux/arm/vfork.S: Handle NPTL.

2005-03-25  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/eabi/semop.c (semop): Correct typo.
	* sysdeps/unix/sysv/linux/arm/eabi/semtimedop.c (semtimedop):
	Likewise.

2005-03-25  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf/tls-macros.h: Fix typo in TLS_GD test.

	Backport:
	2005-03-13  Roland McGrath  <roland@redhat.com>
	* elf/tls-macros.h: #include_next <tls-macros.h> to get a sysdeps
	version if there is one.  Only #error if macros are then undefined.
	* sysdeps/generic/tls-macros.h: New file.

2005-03-22  Daniel Jacobowitz  <dan@codesourcery.com>

	* Versions.def: Update.
	* shlib-versions: Use GLIBC_2.4 for ARM EABI.
	* configure.in: Use %function to test for CFI.
	* configure: Regenerated.
	* sysdeps/arm/eabi/Makefile: Include more portability symbols only
	in static libraries.
	* sysdeps/arm/eabi/Versions: Trim.  Use GLIBC_2.4.
	* sysdeps/arm/eabi/aeabi_assert.c (__aeabi_assert): Mark as hidden.
	* sysdeps/arm/eabi/aeabi_atexit.c (__aeabi_atexit): Likewise.
	* sysdeps/arm/eabi/aeabi_errno_addr.c (__aeabi_errno_addr): Likewise.
	* sysdeps/arm/eabi/aeabi_localeconv.c (__aeabi_localeconv): Likewise.
	* sysdeps/arm/eabi/aeabi_math.c (__aeabi_HUGE_VAL, __aeabi_HUGE_VALL,
	__aeabi_HUGE_VALF, __aeabi_INFINITY, __aeabi_NAN): Likewise.
	* sysdeps/arm/eabi/aeabi_mb_cur_max.c (__aeabi_MB_CUR_MAX): Likewise.
	Use MB_CUR_MAX.
	* sysdeps/arm/eabi/aeabi_lcsts.S: Remove.
	* sysdeps/arm/eabi/aeabi_lcsts.c,
	sysdeps/arm/eabi/aeabi_sighandlers.S: New files.
	* sysdeps/arm/eabi/find_exidx.c: Update.  Add license notice.
	* sysdeps/unix/sysv/linux/arm/eabi/epoll_ctl.c,
	sysdeps/unix/sysv/linux/arm/eabi/epoll_wait.c,
	sysdeps/unix/sysv/linux/arm/eabi/fstatfs64.c,
	sysdeps/unix/sysv/linux/arm/eabi/kernel_epoll.h,
	sysdeps/unix/sysv/linux/arm/eabi/kernel_stat.h,
	sysdeps/unix/sysv/linux/arm/eabi/semop.c,
	sysdeps/unix/sysv/linux/arm/eabi/semtimedop.c,
	sysdeps/unix/sysv/linux/arm/eabi/statfs64.c,
	sysdeps/unix/sysv/linux/arm/eabi/syscalls.list,
	sysdeps/unix/sysv/linux/arm/eabi/uname.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstatconv.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstatconv.h: New files.
	* sysdeps/unix/sysv/linux/arm/eabi/fxstat.c,
	sysdeps/unix/sysv/linux/arm/eabi/lxstat.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstat.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstat64conv.h: Remove.
	* sysdeps/unix/sysv/linux/arm/eabi/fxstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/lxstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstat64.c: Rewrite.

2005-03-22  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/eabi/fpu/feholdexcpt.c,
	sysdeps/arm/eabi/fpu/fraiseexcpt.c: New files.
	* sysdeps/arm/eabi/fpu/fesetenv.c: Rewrite.
	* sysdeps/arm/eabi/fpu/fpu_control.h (_FPU_MASK_DM): Remove.
	(_FPU_GETCW, _FPU_SETCW): Make volatile.
	* sysdeps/arm/eabi/fpu/bits/fenv.h (FE_ALL_EXCEPT): Correct typo.

2005-03-18  Mark Mitchell  <mark@codesourcery.com>

	* elf/elf.h (PT_ARM_GNU_EXIDX): Rename to PT_ARM_EXIDX.
	* sysdeps/arm/eabi/find_exidx.c (find_exidx_callback): Adjust
	accordingly.

2005-03-17  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/eabi/fxstat.c: New file.
	* sysdeps/unix/sysv/linux/arm/eabi/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/eabi/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/eabi/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/eabi/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/eabi/xstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/eabi/xstat64conv.h: Likewise.

2005-03-17  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/gmp-mparam.h: Add support for VFP.
	* sysdeps/arm/ieee754.h: Remove.
	* sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Define correctly
	for VFP.

2005-02-15  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/arm/eabi/Makefile: Add __aeabi_unwind_cpp_pr1 to ld.so
	and libc.so.
	* sysdeps/arm/eabi/aeabi_unwind_cpp_pr1.c: New file.

2005-01-20  Daniel Jacobowitz  <dan@codesourcery.com>
	    Paul Brook  <paul@codesourcery.com>

	* elf/elf.h (PT_GNU_ARM_EXIDX): Define.
	* sysdeps/arm/eabi/find_exidx.c: New file.
	* sysdeps/arm/elf/start.S: Protect against unhandled exceptions.

2005-01-19  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/dl-machine.h (RTLD_START): Define .L_ARGV.

2005-01-19  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Use
	CTL_BUS_ISA in lieu of BUS_ISA.

2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* shlib-versions: Set the default for ARM EABI to GLIBC_2.3.4.
	* nptl/sysdeps/unix/sysv/linux/arm/bits/atomic.h: New file.
	* sysdeps/arm/Versions: Don't export libgcc functions for ARM EABI.
	* sysdeps/arm/atomicity.h: Remove.
	* sysdeps/arm/dl-machine.h (INIT_STACK_REALIGN): Remove.
	(_dl_start_user): Rewrite stack alignment code.
	* sysdeps/arm/dl-sysdep.h: New file.
	* sysdeps/arm/bits/atomic.h: New file.
	* sysdeps/arm/eabi/Versions: Don't export link-time constants.
	* sysdeps/arm/eabi/aeabi_lcsts.S: Add .hidden directives.
	* sysdeps/arm/eabi/bits/huge_val.h: New file.
	* sysdeps/arm/eabi/bits/setjmp.h: New file.
	* sysdeps/arm/eabi/fpu/__longjmp.S: Update copyright date.  Store
	integer registers before floating point registers.
	* sysdeps/arm/eabi/fpu/fclrexcpt.c,
	sysdeps/arm/eabi/fpu/fegetround.c,
	sysdeps/arm/eabi/fpu/fesetenv.c,
	sysdeps/arm/eabi/fpu/fesetround.c: New files.
	* sysdeps/arm/eabi/fpu/fpu_control.h: Update bit masks for VFP.
	* sysdeps/arm/eabi/fpu/setjmp.S: Store integer registers
	before floating point registers.
	* sysdeps/arm/eabi/fpu/bits/fenv.h: New file.
	* sysdeps/arm/eabi/fpu/bits/setjmp.h: Remove.
	* sysdeps/arm/elf/configure.in: Disable PI_STATIC_AND_HIDDEN.
	* sysdeps/arm/elf/configure: Regenerate.
	* sysdeps/unix/sysv/linux/arm/mmap64.S: Update for big endian and
	EABI.
	* sysdeps/unix/sysv/linux/arm/bits/atomic.h: Remove.
	* sysdeps/unix/sysv/linux/arm/eabi/configure: New file.
	* sysdeps/unix/sysv/linux/arm/eabi/configure.in: New file.
	* sysdeps/unix/sysv/linux/arm/eabi/oldgetrlimit.c: New file.
	* sysdeps/unix/sysv/linux/arm/eabi/oldsetrlimit.c: New file.

2004-12-03  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/arm/eabi/Makefile: Add aeabi_localeconv, aeabi_math, and
	aeabi_mb_cur_max. 
	* sysdeps/arm/eabi/Versions: Add __aeabi_localeconv,
	__aeabi_MB_CUR_MAX, __aeabi_HUGE_VAL, __aeabi_HUGE_VALL,
	__aeabi_HUGE_VALF, __aeabi_INFINIT, __aeabi_NAN.
	* sysdeps/arm/eabi/aeabi_localeconv.c: New file.
	* sysdeps/arm/eabi/aeabi_math.c: Likewise.
	* sysdeps/arm/eabi/aeabi_mb_cur_max.c: Likewise.

2004-12-03  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/arm/eabi/Makefile: Add aeabi_assert and aeabi_errno_addr.
	* sysdeps/arm/eabi/Versions: Likewise.
	* sysdeps/arm/eabi/aeabi_assert.c: New file.
	* sysdeps/arm/eabi/aeabi_errno_addr.c: Likewise.

2004-12-03  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/arm/eabi/Makefile: Add aeabi_lcsts.
	* sysdeps/arm/eabi/Versions: Add EABI link-time constants.
	* sysdeps/arm/eabi/aeabi_lcsts.S: New file. 

2004-12-03  Mark Mitchell  <mark@codesourcery.com>

	* sysdeps/arm/Makefile: Remove aeabi_atexit.c.
	* sysdeps/arm/Versions: Remove __aeabi_atexit.
	* sysdeps/arm/aeabi_atexit.c: Remove.
	* sysdeps/arm/eabi/Makfefile: New file.
	* sysdeps/arm/eabi/Versions: Likewise.
	* sysdeps/arm/eabi/aeabi_atexit.c: Likewise.

2004-12-03  Mark Mitchell  <mark@codesourcery.com>

	* configure.in (arm*-*-linux-gnueabi): Add arm/eabi sysdep directory.
	* configure: Regenerated.
	* sysdeps/arm/eabi/fpu/__longjmp.S: New file.
	* sysdeps/arm/eabi/fpu/fpu_control.h: Likewise.
	* sysdeps/arm/eabi/fpu/setjmp.S: Likewise.
	* sysdeps/arm/eabi/fpu/bits/setjmp.h: Likewise.

2004-11-19  Mark Mitchell  <mark@codesourcery.com>

	* shlib-versions (arm.*-.*-linux.*-gnueabi): Set dynamic loader.
	* stdlib/exit.h (__cxa_atexit): Declare.
	* sysdeps/arm/Makefile (stdlib): Add aeabi_exit.
	* sysdeps/arm/Versions (__aeabi_atexit): Add it.

2004-11-19  Mark Mitchell  <mark@codesourcery.com>

	* nss/nss_files/files-netgrp.c (_nss_files_endnetgrent): Correct
	return type.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	Backport:
	2005-03-28  Roland McGrath  <roland@redhat.com>
	* sysdeps/generic/w_exp2.c [NO_LONG_DOUBLE]: Fix typos in alias names.
	Reported by Mark Mitchell <mark@codesourcery.com>.
	* Versions.def (libm): Define GLIBC_2.4 set.
	* math/Versions (libm: GLIBC_2.4): Add this set, with exp2l.
	* sysdeps/i386/Versions (libm: GLIBC_2.1): Add this set, with exp2l.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/m68k/Versions: Likewise.
	* sysdeps/sparc/sparc64/Versions: Likewise.
	* sysdeps/x86_64/Versions: New file.
	* sysdeps/mips/mips64/Versions: New file.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	Backport:
	2005-11-18  Andreas Schwab  <schwab@suse.de>
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Remove useless alias.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: Handle
	NO_WEAK_ALIAS.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Likewise.

2006-08-23  Joseph Myers  <joseph@codesourcery.com>

	Backport:
	2005-11-08  H.J. Lu  <hongjiu.lu@intel.com>
	* sysdeps/wordsize-32/Makefile (CPPFLAGS-divdi3.c): Set to
	-Din_divdi3_c.
	* sysdeps/wordsize-32/symbol-hacks.h: Skip if in_divdi3_c is defined.

2006-05-11  Richard Sandiford  <richard@codesourcery.com>

	* locale/programs/ld-collate.c (obstack_int32_grow): Only use
	obstack_int_grow if the object size is int-aligned.
	(obstack_int32_grow_fast): Likewise obstack_int_grow_fast.
	(new_element): Handle <U0000> as a single character.
	(collate_output): Use uint32_align_mask.  Use obstack_int32_grow_fast
	rather than obstack_int32_grow for an int32 that has already been
	allocated.
	* locale/programs/localedef.c (OPT_UINT32_ALIGN): New macro.
	(options): Add --uint32-align.
	(parse_opt): Handle it.
	* locale/programs/locfile.c (uint32_align_mask): New variable.
	* locale/programs/locfile.h (uint32_align_mask): Declare.

2006-05-11  Richard Sandiford  <richard@codesourcery.com>

	* argp/argp-help.c (__argp_short_program_name): Protect function name
	from macro expansion.
	* argp/argp-namefrob.h: Don't include mempcpy.h, strcase.h,
	strchrnul.h and strndup.h
	* locale/programs/charmap-dir.c: Don't include spawn.h if
	NO_COMPRESS is defined.
	(fopen_uncompressed): Suppress if NO_COMPRESS is defined.
	(charmap_open): Guard callers in the same way.
	* locale/programs/ld-collate.c (new_element): Call wcslen_uint32
	instead of wcslen.
	(collate_finish, collate_output): Likewise wmemcmp_uint32/wmemcmp.
	* locale/programs/ld-ctype.c (find_idx): Fix prototype.
	(ctype_startup): Fix cast.
	(ctype_output, read_translit_entry): Call wcslen_uint32 instead
	of wcslen.
	(ctype_read): Use BITw and BIT instead of _ISwdigit and _ISdigit.
	(allocate_arrays): Call wcslen_uint32 instead of wcslen, wcscmp_uint32
	instead of wcscmp, and wmemcpy_uint32 instead of wmemcpy.
	* locale/programs/ld-time.c (time_finish): Initialize wt_fmt_ampm
	and wdate_fmt with constant uint32_t arrays instead of wide character
	strings.  Call wcschr_uint32 instead of wcschr.
	* locale/programs/linereader.c (get_string): Fix type of wide
	character buffer.
	* locale/programs/localedef.c (main): Don't call sysconf if
	NO_SYSCONF is defined.
	* locale/programs/locfile.c (add_locale_wstring): Call wcslen_uint32
	instead of wcslen.
	* locale/programs/locfile.h (wcslen_uint32, wmemcmp_uint32)
	(wcscmp_uint32, wmemcpy_uint32, wcschr_uint32): New functions.
	* misc/error.c (private_strerror): Fix type of sys_errlist.

2006-05-11  Richard Sandiford  <richard@codesourcery.com>

	* locale/programs/3level.h (TABLE): Remove "result" field.
	(TABLE,_finalize): Replace with...
	(add_locale_,TABLE): ...this new function.  Add data directly to a
	locale_file instead of building up a result block.
	* locale/progrmas/ld-address.c (address_output): Use the new
	locale_file interface.
	* locale/programs/ld-collate.c (obstack_int32_grow)
	(obstack_int32_grow_fast): Pass the value through maybe_swap_uint32.
	(collate_finish): Don't call collseq_table_finalize.
	(output_weightwc): Use maybe_swap_uint32_obstack to reorder the
	weights array.
	(collate_output): Likewise the wide collation string.  Don't call
	collidx_table_finalize.   Use the new locale_file interface.
	* locacle/progrmas/ld-ctype.c (wcwidth_table, wctrans_table)
	(wctrans_table_add): Move definitions.
	(wctype_table): Likewise.  Remove "result" field.
	(locale_ctype_t): Make "class_3level" an array of wctype_tables,
	"map_3level" an array of wctrans_tables and "width" a wcwidth_table.
	(ctype_output): Hoist the setting of default_missing_len and reuse it
	in the DEFAULT_MISSING case.  Use the new locale_file interface.
	(wctype_finalize): Replace with...
	(add_locale_wctype_table): ...this new function.  Alter as for
	add_locale_TABLE above.
	(allocate_arrays): Adjust for new types of locale_ctype_t fields.
	Don't call wctype_table_finalize, wctrans_table_finalize or
	wcwidth_table_finalize.
	* locale/programs/ld-identification.c (identification_output): Use
	the new locale_file interface.
	* locale/programs/ld-measurement.c (measurement_output): Likewise.
	* locale/programs/ld-messages.c (messages_output): Likewise.
	* locale/programs/ld-monetary.c (monetary_output): Likewise.
	* locale/programs/ld-name.c (name_output): Likewise.
	* locale/programs/ld-numeric.c (numeric_output): Likewise.
	* locale/programs/ld-paper.c (paper_output): Likewise.
	* locale/programs/ld-telephone.c (telephone_output): Likewise.
	* locale/programs/ld-time.c (time_output): Likewise.
	* locale/programs/localedef.c (OPT_LITTLE_ENDIAN): Define.
	(OPT_BIG_ENDIAN): Define.
	(options): Add --big-endian and --little-endian.
	(parse_opt): Handle them.
	* locale/programs/locfile.c: Include assert.h, wchar.h and
	localeinfo.h.
	(obstack_chunk_alloc, obstack_chunk_free): Define.
	(swap_endianness_p, record_offset, init_locale_data, align_locale_data)
	(add_locale_empty, add_locale_raw_data, add_locale_raw_obstack)
	(add_locale_string, add_locale_wstring, add_locale_uint32)
	(add_locale_uint32_array, add_locale_char, start_locale_structure)
	(end_locale_structure, start_locale_prelude, end_locale_prelude): New.
	(write_locale_data): Replace iovec arguments with a locale_file.
	Build three iovecs internally, one for the header, one for the offsets
	array and one for the data itself.
	* locale/programs/locfile.h: Include obstack.h.
	(locale_file): Redefine as a file-building structure.
	(swap_endianness_p): Declare.
	(set_big_endian, swap_uint32, maybe_swap_uint32)
	(maybe_swap_uint32_array, maybe_swap_uint32_obstack): New functions.
	(init_locale_data, align_locale_data, add_locale_empty)
	(add_locale_raw_data, add_locale_raw_obstack, add_locale_string)
	(add_locale_wstring, add_locale_uint32, add_locale_uint32_array)
	(add_locale_char, start_locale_structure, end_locale_structure)
	(start_locale_prelude, end_locale_prelude): Declare.
	(write_locale_data): Adjust prototype as for locfile.c change.

2006-05-11  Richard Sandiford  <richard@codesourcery.com>

	* locale/programs/ld-ctype.c (ctype_output): Add an extra element to
	nulbytes[].  Fix setting of iov_len for CTYPE_DEFAULT_MISSING,
	turning it from a wide character count into a byte count.
	(allocate_arrays): Don't pass out-of-range values to _ISbit().
	* locale/programs/ld-time.c (time_output): Align W_DATE_FMT.