Re: static pie: confusion between _DYNAMIC, crt1.o, Scrt1.o

2022-10-24 Thread Mike Frysinger
On 24 Oct 2022 13:12, Florian Weimer via Libc-alpha wrote:
> * Samuel Thibault:
> > Florian Weimer, le lun. 24 oct. 2022 12:11:03 +0200, a ecrit:
> >> * Samuel Thibault:
> >> 
> >> > Is it not possible to make -static -pie get the same behavior? That'd be
> >> > way more orthogonal for people to understand.
> >> 
> >> I think you want -static to mean -static-pie if GCC defaults to PIE,
> >> right?
> >
> > That would actually provide the pie benefit automatically for all
> > static executable, yes. Otherwise static pie will be a nice thing, but
> > not actually largely used in practice. And most people won't actually
> > realize it.
> 
> That's true.
> 
> Fedora uses a specs file fragment that turns -static into -static-pie
> under certain conditions.
> 
> >> That will break a few things that use gcc -static to build binaries for
> >> quasi-bare-metal targets using the GNU ELF toolchain (where glibc's
> >> startup code is not use).
> >
> > But then the piece which is saying that glibc's startup code is not in
> > use can be fixed into not using static-pie, can't it?
> 
> In theory, yes.  How hard it will be depends on the specs file change
> for --enable-default-pie.

i don't see a problem with -static DTRT.  people abusing a compiler for a
target it wasn't designed for means they get the pieces.  it's not like
they're using -static in the first place to pull in the C library & gcc
internal libs (which also depend/assume the corresponding OS & C lib).

plus, -static -no-pie would get you back to a non-PIE static binary.
-mike


signature.asc
Description: PGP signature


Bug#783210: [PATCH] nscd_stat.c: make the build reproducible

2016-07-31 Thread Mike Frysinger
On 28 Jul 2016 15:15, Florian Weimer wrote:
> On 03/09/2016 05:30 PM, Mike Frysinger wrote:
> > would it be so terrible to properly marshall this data ?
> 
> Ximin Luo and I discussed this and I wonder if it is possible to read 
> out the libc.so.6 build ID if it is present.  It should indirectly call 
> all the layout dependencies and be reasonably easy to access because it 
> is in an allocated section (and we might want to print it from an 
> libc.so.6 invocation, too).
> 
> We still need the time-based approach if the build ID is not available, 
> but I expect most distributions will have something like it.
> 
> The Debian bug is:
> 
>https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783210
> 
> (Also Cc:ed)

agreed that build-id should be an acceptable replacement for what the
code is doing today, but in order to pull that off, i guess you'd have
to have to do a configure test to see if build-id is active ?  if you
leave the logic to runtime, you'd still need to include the datetime
stamp in the object which would still make the build unreproducible.

this also doesn't really cover the quoted idea of marshalling the data
between client & server :).
-mike


signature.asc
Description: Digital signature


Re: glibc testsuite improvement

2012-08-27 Thread Mike Frysinger
On Monday 27 August 2012 08:28:50 Tomas Dohnalek wrote:
> I guess, that you are having the same difficulties so I want to ask, how
> do you deal with current state? Have you made any internal tool for
> comparing results or are you doing it manually?

i run `make -k >& log` then grep it for the Error string from make, then look 
at each test individually.  it's a pita.
-mike


signature.asc
Description: This is a digitally signed message part.


Re: hppa nptl switch

2009-09-01 Thread Mike Frysinger
On Tuesday 01 September 2009 11:50:27 Aurelien Jarno wrote:
> Carlos O'Donell a écrit :
> > On Tue, Sep 1, 2009 at 2:08 AM, Aurelien Jarno 
wrote:
> >> Frans Pop a écrit :
> >>> Carlos O'Donell wrote:
> > In practice it shouldn't be problem at all.
> > Debian should make sure that binary/library compiled
> > against NPTL-hppa-glibc will require NPTL-hppa-glibc
> > by proper Depends: line like "libc6 (>= 2.10)".
> 
>  Does every package have to do this? I'm not very familiar with all the
>  packaging requirements.
> >>>
> >>> It is something that should automatically get done correctly as long as
> >>> the libc-dev package defines the minimum version that way.
> >>>
> >>> The mechanism that determines this is in
> >>> /var/lib/dpkg/info/libc6.shlibs. Currently this has lines like:
> >>>libc 6 libc6 (>= 2.9)
> >>
> >> No, as glibc uses symbols files, this file is actually not used.
> >> Nevertheless it is still possible to resolve all symbols to libc6 (>=
> >> 2.10).
> >
> > Once an application is rebuilt against a new libc, what prevents the
> > user from downgrading libc and breaking the application?
>
> If we make sure that the new programs are using symbols from version
> GLIBC_2.10, the program should refuse to start with a lower version of
> the glibc.

i think the question was one about packaging rather than general use ?  if you 
build a package against a newer glibc version but it only uses older symbols, 
then in theory it should work fine with older glibc versions.  if the symbol 
changes between versions, then it should have corresponding symbol version 
changes as well (which will automatically be recorded in the binary).
-mike


signature.asc
Description: This is a digitally signed message part.


Re: glibc release branch procedures

2009-05-26 Thread Mike Frysinger
On Sunday 24 May 2009 07:44:40 Petr Baudis wrote:
>   I'm full-quoting the mail.  Summary of previous discussion: Me and
> Roland agree that (up to exceptions) only cherry-picked commits from
> master will appear on the branch, they will be only bugfixes and API/ABI
> will never be changed.  What we agree about less is the degree of
> strictness on what patches to include.

i think a pretty good rule is that if most distros are going to be including 
this anyways, it should be in the branch.  not sure if that helps guide the 
strictness aspect at all.
-mike


signature.asc
Description: This is a digitally signed message part.


Re: Kernel Version

2009-03-20 Thread Mike Frysinger
On Friday 20 March 2009 15:58:15 Shameem Ahamed wrote:
> Is there any glibc supported system call or library function which returns
> the kernel  details ( specifically the architecture, whether it is a 32 bit
> or 64 bit).  I was thinking that sysconf system call supports it. But i
> checked the man pages, and couldn't find a match.

if (sizeof(void*) == 4)
/* 32 bit */
else if (sizeof(void*) == 8)
/* 64 bit */
else
/* magic */

or maybe `man 2 personality`

in the future, you might want to:
 - fix your mailer.  long lines unwrapped lines are not welcome in the open 
source world.
 - not cross post to as many lists as you can find.  cross-posting is frowned 
upon when you dont have a good reason to do it.  asking for help is not a good 
reason.
-mike


signature.asc
Description: This is a digitally signed message part.


Re: xattr family of system calls‏

2009-03-16 Thread Mike Frysinger
On Tuesday 17 March 2009 01:18:15 Shameem Ahamed wrote:
> I am not able to compile my program, as i can't find
> the getxattr, setxattr family of system calls.  I checked the header
> files folder and couldn't find the attr folder also.

they arent provided by glibc.  install the attr/acl packages.
-mike


signature.asc
Description: This is a digitally signed message part.


Bug#506850: mcount crash moved upstream

2008-12-27 Thread Mike Frysinger
ive moved this report upstream as it happens on Gentoo as well:
http://sources.redhat.com/bugzilla/show_bug.cgi?id=9689
-mike



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: NPTL for hppa-linux is not backwards compatible with Linuxthreads.

2007-02-23 Thread Mike Frysinger
On Thursday 22 February 2007, Roland McGrath wrote:
> > All statically initialized locks are broken. We made locks smaller,
> > and changed the value of the static initialization.
>
> Smaller?  Smaller is easy.  And you didn't actually reduce
> __SIZEOF_PTHREAD_MUTEX_T, did you?  This seems like it would not be at all
> hard to accommodate just with symbol versioning and not break any
> compatibility.  Off hand, it seems like it would be some simple code in one
> new file in your sysdeps/ tree and a smattering of sysdeps Versions files.

how can you do symbol versioning on static initializers ?  the initialized 
value is compiled into the .data sections of the actual binary ...

hmm ... do you mean we retain the pthread code that uses the old locking 
methods and create all the new code with glibc-2.6 symbol versions ?
-mike


pgplTY6HiugLf.pgp
Description: PGP signature


Re: NPTL for hppa-linux is not backwards compatible with Linuxthreads.

2007-02-18 Thread Mike Frysinger
On Sunday 18 February 2007, Carlos O'Donell wrote:
> NPTL for hppa-linux is not backwards compatible with Linuxthreads, we
> have broken the pthread ABI.
> 
> It has been recommended that we bump to libc6.1 for NPTL. Is that a
> good idea? Are there any comments about how to make such a transition
> smooth for debian, gentoo, and ubuntu?

if the breakage is just in pthreads, i dont think the libc ABI needs to be 
bumped, just the pthread one ?  libc provides look ahead stub functions for 
pthreads, so it shouldnt be affected by the breakage you've mentioned with 
static lock initializers ...

libpthread.so.0 -> libpthread.so.1
-mike


pgpDwA51zYre6.pgp
Description: PGP signature