Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/lib/libc



Module Name:    src
Committed By:   christos
Date:           Thu Oct  6 20:31:41 UTC 2011

Modified Files:
        src/lib/libc/gen: getprogname.c
        src/lib/libc/stdlib: _env.c

Log Message:
Provide symbol definitions for environ and __progname. These are duplicate
definitions to the ones provided by csu, but harmless since the linker resolves
them. There are 3 non weak data symbols provided in crt0.o:

    D __progname [initialized data, assigned to ""]
    B __ps_strings [BSS since assigned to 0]
    C environ [common, uninitialized]

__ps_strings had already a second definition in libc (in BSS), now we added
__progname and __ps_strings (in BSS).

To get rid of the duplicate definition, we can remove them from csu, and
move the assignments to libc.

This is done so that libc has no undefined symbols so that linker maps
that want to do:
    ...
        local:
                *;
    ...
don't end up producing link failures for libc.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/lib/libc/gen/getprogname.c
cvs rdiff -u -r1.5 -r1.6 src/lib/libc/stdlib/_env.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index