summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2014-02-26 17:37:35 +0100
committerThomas Schwinge <thomas@codesourcery.com>2014-02-26 17:37:35 +0100
commitc73e48c85d76a6b61a9fe7ddb7a98038a342a1c8 (patch)
tree37585740b355563f7fdfbd51ee45a915e4e68a25
parent2823921d4eaf9a6ab2448bf4cbf4571e08077050 (diff)
parent9985efe1e82157e09035f44ab1db0a88c9d7d63a (diff)
Merge commit '9985efe1e82157e09035f44ab1db0a88c9d7d63a'
Conflicts: open_issues/glibc.mdwn
-rw-r--r--contributing.mdwn3
-rw-r--r--open_issues/glibc.mdwn114
-rw-r--r--user/tlecarrour/porting_guide_for_dummies.mdwn6
3 files changed, 63 insertions, 60 deletions
diff --git a/contributing.mdwn b/contributing.mdwn
index c81766c3..95bf2441 100644
--- a/contributing.mdwn
+++ b/contributing.mdwn
@@ -112,7 +112,8 @@ basic port could be small.
* Use libz and libbz2 in libstore. See `hurd/libstore/unzip.c` etc., they should be replaced by mere calls to libraries, [[!GNU_Savannah_task 6990]]
See also the discussions on [[open_issues/exec]].
* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. [[!GNU_Savannah_bug 32770]]
-
+* Move the mount/umount logic from utils/{,u}mount.c into libshouldbeinlibc.
+* Fix /proc/self. Look at the file hurd/lookup-retry.c in the glibc source code for how FS_RETRY_MAGICAL lookups work.
<a name="porting"></a>
## Porting Packages
diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn
index e72b59d3..4dad229f 100644
--- a/open_issues/glibc.mdwn
+++ b/open_issues/glibc.mdwn
@@ -24,7 +24,7 @@ Here's what's to be done for maintaining glibc.
# [[Sources|source_repositories/glibc]]
-# [[Debian]] Cheat Sheet
+# [[Debian Cheat Sheet|debian]]
# Configuration
@@ -41,24 +41,24 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -b -p -C
Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
(2013-12-19) sources|source_repositories/glibc]].
- * `t/hurdsig-fixes`
+ * <a id=t_hurdsig-fixes>`t/hurdsig-fixes`</a>
hurdsig.c: In function '_hurd_internal_post_signal':
hurdsig.c:1188:26: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized]
hurdsig.c:1168:12: note: 'pending' was declared here
- * `t/host-independency`
+ * <a id=t_host-independency>`t/host-independency`</a>
[[!message-id "87bougerfb.fsf@kepler.schwinge.homeip.net"]], [[!message-id
"20120525202732.GA31088@intel.com"]], commit
918b56067a444572f1c71b02f18255ae4540b043. [[!GCC_PR 53183]], GCC commit
c05436a7e361b8040ee899266e15bea817212c37.
- * `t/pie-sbrk`
+ * <a id=t_pie-sbrk>`t/pie-sbrk`</a>
[[gcc/PIE]].
- * `t/sysvshm`
+ * <a id=t_sysvshm>`t/sysvshm`</a>
../sysdeps/mach/hurd/shmat.c: In function '__shmat':
../sysdeps/mach/hurd/shmat.c:57:7: warning: implicit declaration of function '__close' [-Wimplicit-function-declaration]
@@ -67,11 +67,11 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
../sysdeps/mach/hurd/shmget.c:102:8: warning: 'dir' may be used uninitialized in this function [-Wmaybe-uninitialized]
../sysdeps/mach/hurd/shmget.c:102:8: warning: 'file' may be used uninitialized in this function [-Wmaybe-uninitialized]
- * [[`t/tls`|t/tls]]
+ * <a id=t_tls>[[`t/tls`|t/tls]]</a>
- * [[`t/tls-threadvar`|t/tls-threadvar]]
+ * <a id=t_tls-threadvar>[[`t/tls-threadvar`|t/tls-threadvar]]</a>
- * t/verify.h
+ * <a id=t_verify.h>`t/verify.h`</a>
People didn't like this too much.
@@ -79,7 +79,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
* 11988f8f9656042c3dfd9002ac85dff33173b9bd -- `static_assert`
- * [[toolchain/cross-gnu]], without `--disable-multi-arch`
+ * <a id=toolchain_cross-gnu>[[toolchain/cross-gnu]], without `--disable-multi-arch`</a>
i686-pc-gnu-gcc ../sysdeps/i386/i686/multiarch/strcmp.S -c [...]
../sysdeps/i386/i686/multiarch/../strcmp.S: Assembler messages:
@@ -89,7 +89,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
Might simply be a missing patch(es) from master.
- * `--disable-multi-arch`
+ * <a id=disable-multi-arch>`--disable-multi-arch`</a>
IRC, freenode, #hurd, 2012-11-22
@@ -118,12 +118,12 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<tschwinge> Ah, I probably have been thinking about open_issues/ifunc
and open_issues/libc_variant_selection.
- * --build=X
+ * <a id=buildX>--build=X</a>
`long double` test: due to `cross_compiling = maybe` wants to execute a
file, which fails. Thus `--build=X` has to be set.
- * Check what all these are:
+ * <a id=check>Check what all these are:</a>
running configure fragment for sysdeps/mach/hurd
checking Hurd header version... ok
@@ -159,19 +159,19 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
checking for i386_set_gdt in mach_i386.defs... yes
checking whether i586-pc-gnu-mig supports the retcode keyword... yes
- * `sysdeps/i386/stackguard-macros.h`
+ * <a id=stackguard>`sysdeps/i386/stackguard-macros.h`</a>
See [[t/tls|t/tls]].
- * Verify 77c84aeb81808c3109665949448dba59965c391e against
- `~/shared/glibc/make_TAGS.patch`.
+ * <a id=77c84aeb81808c3109665949448dba59965c391e>Verify 77c84aeb81808c3109665949448dba59965c391e against
+ `~/shared/glibc/make_TAGS.patch`.</a>
- * `HP_SMALL_TIMING_AVAIL` not defined anywhere.
+ * <a id=HP_SMALL_TIMING_AVAIL>`HP_SMALL_TIMING_AVAIL` not defined anywhere.</a>
- * Unify `CPUCLOCK_WHICH` stuff in `clock_*` files.
+ * <a id=CPUCLOCK_WHICH>Unify `CPUCLOCK_WHICH` stuff in `clock_*` files.</a>
- * Not all tests are re-run in a `make -k tests; make tests-clean; make -k
- tests` cycle. For example, after `make tests-clean`:
+ * <a id=tests-clean>Not all tests are re-run in a `make -k tests; make tests-clean; make -k
+ tests` cycle. For example, after `make tests-clean`:</a>
$ find ./ -name \*.out
./localedata/tst-locale.out
@@ -198,7 +198,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
./check-local-headers.out
./begin-end-check.out
- * `CPUCLOCK_WHICH`, `t/cpuclock`
+ * <a id=t_cpuclock>`CPUCLOCK_WHICH`, `t/cpuclock`</a>
/media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/rt/librt_pic.a(clock_settime.os): In function `clock_settime':
/media/boole-data/thomas/tmp/gnu-0/src/glibc/rt/../sysdeps/unix/clock_settime.c:113: undefined reference to `CPUCLOCK_WHICH'
@@ -210,7 +210,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc'
make: *** [all] Error 2
- * Missing interfaces, amongst many more.
+ * <a id=missing>Missing interfaces, amongst many more.</a>
IRC, freenode, #hurd, 2014-02-25:
@@ -243,7 +243,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
Check also the content of `gnu/stubs.h`, which lists all the functions
marked as stub which only return `ENOSYS`.
- * `chflags`
+ * <a id=chflags>`chflags`</a>
Patch sent, [[!message-id "20120427012130.GZ19431@type.famille.thibault.fr"]].
@@ -274,9 +274,9 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<youpi> so I'd say ignore the error for now, we'll add the
declaration
- * [[t/tls-threadvar]]
+ * <a id=t_tls-threadvar>[[t/tls-threadvar]]</a>
- * `futimesat`
+ * <a id=futimesat>`futimesat`</a>
If we have all of 'em (check Linux kernel), `#define __ASSUME_ATFCTS`.
@@ -294,19 +294,19 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<youpi> but perhaps a bug report would be good for the kfreebsd
case
- * `bits/stat.h [__USE_ATFILE]`: `UTIME_NOW`, `UTIME_OMIT`
+ * <a id=bits_stat.h>`bits/stat.h [__USE_ATFILE]`: `UTIME_NOW`, `UTIME_OMIT`</a>
- * `io/fcntl.h [__USE_ATFILE]`
+ * <a id=__USE_ATFILE>`io/fcntl.h [__USE_ATFILE]`</a>
Do we support `AT_FDCWD` et al.?
(80b4e5f3ef231702b24d44c33e8dceb70abb3a06.)
- * `t/opendirat`: `opendirat` (`scandirat`, `scandirat64`)
+ * <a id=t_opendirat>`t/opendirat`: `opendirat` (`scandirat`, `scandirat64`)</a>
Need changes equivalent to c55fbd1ea768f9fdef34a01377702c0d72cbc213 +
14d96785125abee5e9a49a1c3037f35a581750bd.
- * `madvise`, `MADV_DONTNEED`, `MADV_DONTDUMP`, `MADV_DODUMP`
+ * <a id=madvise>`madvise`, `MADV_DONTNEED`, `MADV_DONTDUMP`, `MADV_DODUMP`</a>
[[glibc_madvise_vs_static_linking]].
@@ -332,11 +332,11 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
[...]
- Disable jemalloc on hurd and kfreebsd-*. No longer disabled upstream.
- * `msync`
+ * <a id=msync>`msync`</a>
Then define `_POSIX_MAPPED_FILES`, `_POSIX_SYNCHRONIZED_IO`.
- * `epoll`, `sys/epoll.h`
+ * <a id=epoll>`epoll`, `sys/epoll.h`</a>
Used by [[wayland]], for example.
@@ -754,18 +754,18 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<braunr> kernels provide a monotonic clock, and realtime is merely
shifted from it
- * `sys/eventfd.h`
+ * <a id=sys_eventfd.h>`sys/eventfd.h`</a>
- * `sys/inotify.h`
+ * <a id=sys_inotify.h>`sys/inotify.h`</a>
- * `sys/signalfd.h`
+ * <a id=sys_signalfd.h>`sys/signalfd.h`</a>
- * `sys/timerfd.h`
+ * <a id=sys_timerfd.h>`sys/timerfd.h`</a>
- * `timespec_get` (74033a2507841cf077e31221de2481ff30b43d51,
- 87f51853ce3671f4ba9a9953de1fff952c5f7e52)
+ * <a id=timespec_get>`timespec_get` (74033a2507841cf077e31221de2481ff30b43d51,
+ 87f51853ce3671f4ba9a9953de1fff952c5f7e52)</a>
- * `waitflags.h` (`WEXITED`, `WNOWAIT`, `WSTOPPED`, `WCONTINUED`)
+ * <a id=waitflags.h>`waitflags.h` (`WEXITED`, `WNOWAIT`, `WSTOPPED`, `WCONTINUED`)</a>
IRC, freenode, #hurd, 2012-04-20:
@@ -792,9 +792,9 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
See `posix/tst-waitid.out` failure below.
- * `getconf` things (see below the results of `tst-getconf.out`)
+ * <a id=getconf>`getconf` things (see below the results of `tst-getconf.out`)</a>
- * `getsockopt`, `setsockopt`
+ * <a id=getsockopt>`getsockopt`, `setsockopt`</a>
IRC, freenode, #hurd, 2013-02-14
@@ -839,7 +839,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<braunr> no, linux is more permissive
<braunr> (at least, on this matter)
- * `getcontext`/`makecontext`/`setcontext`/`swapcontext`
+ * <a id=getcontext>`getcontext`/`makecontext`/`setcontext`/`swapcontext`</a>
Support for these functions within the Hurd threadvar environment has
been added, but for multi-threaded applications ([[libpthread]]), it is
@@ -1646,7 +1646,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<braunr> gnu_srs1: use break on the address
<gnu_srs1> how do i get the address of where the assembly starts?
- * `recvmmsg`/`sendmmsg` (`t/sendmmsg`)
+ * <a id=recvmmsg>`recvmmsg`/`sendmmsg` (`t/sendmmsg`)</a>
From [[!message-id "20120625233206.C000A2C06F@topped-with-meat.com"]],
Roland McGrath: *They are generally useful interfaces and there is
@@ -1657,7 +1657,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
Then perhaps the Linux fallback case should be that instead of stubs,
too.*
- * `SOCK_CLOEXEC`
+ * <a id=SOCK_CLOEXEC>`SOCK_CLOEXEC`</a>
IRC, freenode, #hurd, 2013-09-02:
@@ -1857,19 +1857,19 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
For specific packages:
- * [[octave]]
+ * <a id=octave>[[octave]]</a>
- * Create `t/cleanup_kernel-features.h`.
+ * <a id=t_cleanup_kernel-features.h>Create `t/cleanup_kernel-features.h`.</a>
- * [[Secure_file_descriptor_handling]].
+ * <a id=Secure_file_descriptor_handling>[[Secure_file_descriptor_handling]].</a>
- * In `sysdeps/unix/sysv/linux/Makefile`, there are a bunch of
- `-DHAVE_SENDFILE` -- but we do have `sendfile`, too.
+ * <a id=sendfile>In `sysdeps/unix/sysv/linux/Makefile`, there are a bunch of
+ `-DHAVE_SENDFILE` -- but we do have `sendfile`, too.</a>
Define `__ASSUME_SENDFILE` to 1 in `kernel-features.h`, if `sendfile`
works.
- * `/usr/include/pthread.h` overwrite issue
+ * <a id=pthreadoverwrite>`/usr/include/pthread.h` overwrite issue</a>
`make`, after editing `nss/nss_db/db-initgroups.c`:
@@ -1890,9 +1890,9 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
install`, prepending an additional slash to `install_root` (that is,
`install_root=//[...]`) is enough to obfuscate the Makefile rules.
- * `sysdeps/unix/sysv/linux/syslog.c`
+ * <a id=syslog.c>`sysdeps/unix/sysv/linux/syslog.c`</a>
- * `fsync` on a pipe
+ * <a id=fsync>`fsync` on a pipe</a>
IRC, freenode, #hurd, 2012-08-21:
@@ -2066,7 +2066,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
[[!message-id "1351231423.8019.19.camel@hp.my.own.domain"]].
- * `t/no-hp-timing`
+ * <a id=t_no-hp-timing>`t/no-hp-timing`</a>
IRC, freenode, #hurd, 2012-11-16
@@ -2074,7 +2074,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
couldn't that file be just replaced by #include
<sysdeps/generic/hp-timing.h>?
- * `flockfile`/`ftrylockfile`/`funlockfile`
+ * <a id=flockfile>`flockfile`/`ftrylockfile`/`funlockfile`</a>
IRC, freenode, #hurd, 2012-11-16
@@ -2213,7 +2213,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<pinotree> provides a EXEC_PAGESIZE define in libio, so it makes it use
mmap (like on linux) instead of malloc
- `t/pagesize`.
+ * <a id=t_pagesize>`t/pagesize`.</a>
<braunr> yes, the stub is used instead of the libpthreads code
<braunr> tschwinge: ^
@@ -2331,7 +2331,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<youpi> ok, so all god
<youpi> +o
- * `t/pagesize`
+ * <a id=t_pagesize2>`t/pagesize`</a>
IRC, freenode, #hurd, 2012-11-16
@@ -2372,7 +2372,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
size
<braunr> well they have to
- * `LD_DEBUG`
+ * <a id=LD_DEBUG>`LD_DEBUG`</a>
IRC, freenode, #hurd, 2012-11-22
@@ -2386,7 +2386,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<pinotree> http://paste.debian.net/25934/ ← _hurd_thread_sigstate calls
malloc, boom
- * `conformtest`
+ * <a id=conformtest>`conformtest`</a>
IRC, OFTC, #debian-hurd, 2013-09-22:
@@ -2480,7 +2480,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
support.` may help to find all the places that need to be touched when
adding support.
- * Verify baseline changes, if we need any follow-up changes:
+ * <a id=baselinechanges>Verify baseline changes, if we need any follow-up changes:</a>
* a11ec63713ea3903c482dc907a108be404191a02
* 7e2b0c8562b35155820f87b5ff02a8b6850344cc
diff --git a/user/tlecarrour/porting_guide_for_dummies.mdwn b/user/tlecarrour/porting_guide_for_dummies.mdwn
index 64f0ba0d..f43119bd 100644
--- a/user/tlecarrour/porting_guide_for_dummies.mdwn
+++ b/user/tlecarrour/porting_guide_for_dummies.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -217,8 +217,10 @@ The code comes from [[https://buildsecurityin.us-cert.gov/bsi/articles/knowledge
if (buff == NULL)
return NULL;
int nchars = readlink(filename, buff, size);
- if (nchars < 0)
+ if (nchars < 0) {
+ free(buff);
return NULL;
+ }
if (nchars < size) {
buff[nchars] = '\0';
return buff;