pouët.net

Tiny X11 Trans Flag by Suricrasia Online [web]
screenshot added by blackle on 2018-12-20 03:16:10
platform :
type :
release date : december 2018
  • 7
  • 2
  • 0
popularity : 55%
 55%
  • 0.78
alltime top: #17484
added on the 2018-12-20 03:16:10 by blackle blackle

popularity helper

increase the popularity of this prod by spreading this URL:

or via: facebook twitter pinterest tumblr bluesky threads

comments

_b
rulez added on the 2018-12-20 08:27:20 by visy visy
<3
rulez added on the 2018-12-20 10:47:04 by noby noby
A nice flag for a nice OS :)
rulez added on the 2018-12-20 14:05:00 by Queen_Luna Queen_Luna
It looks like there is a bit of a bug with vondehi which will cause it to eat the first four environment variables. this might cause the DISPLAY variable to not be available, which is needed to make a connection to the xserver.

if this is happening to you, change the byte at 0x0000000E from 0x18 to 0x08!
added on the 2018-12-20 18:25:49 by blackle blackle
Ah, oops, I'll fix that (unless you're fast enough to open a merge request).

In other news: when system libs are compiled with SSE4 (or was it AVX2?), the process will segfault in XauReadAuth (libxau.so), line 105 in AuRead.c. (This happens at least on any Arch system.)

Even though the pointers are correct (no malloc messing things up), the assignment is compiled as an SSE4/AVX2 "block transfer", which needs both the source and the destination pointers to be aligned to 16 bytes. ("block transfer" is ARM-speak for stm/ldm, so it probably isn't exactly the same, but I'll just use it here.)

The SUSv4 ELF spec states that, at a process entry on x86_64, rsp mod 16 will be 8 (great idea), while most C compilers (i.e. GCC and Clang) assume proper stack alignment for these block transfers (that is, 16-byte aligned). The 'local' variable in AuRead is on the stack, with borked alignment, and thus the assignment crashes.

Adding this line at the very beginning of _start should fix this:
Code:asm volatile("sub $8, %rsp\n"); // align the stack

Luckily I've already seen this bug once, because otherwise I'd still be pulling out my hair.
rulez added on the 2018-12-20 19:56:08 by porocyon porocyon
Oh rats. I had __attribute__((force_align_arg_pointer)) in "cenotaph for soda" and "step inside and bask in luxury", but I thought since I wasn't calling into opengl I could get away without using it this time...

force_align_pointer adds ~22 bytes to the final exe, but your sub instruction only adds two. however I'm not sure it would fix the stack alignment for all systems... I'll have to look into it

Thanks for the thumb!
added on the 2018-12-20 20:40:20 by blackle blackle
Yup! Cool <3 Thx 4 da flag!
rulez added on the 2018-12-21 13:03:01 by aki aki
Looks nice, what gcc version is used to build this? Version 5.4.0 did not recognize ‘-fno-plt’.
rulez added on the 2018-12-31 12:14:22 by El Topo El Topo
gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
added on the 2019-01-04 01:17:41 by blackle blackle
My distro is way behind it seems :)
added on the 2019-01-04 10:28:10 by El Topo El Topo
When I tried to build without ‘-fno-plt’ I noticed that the Section-Header-Stripper directory was empty. Do I have to do some git magic to pull down the missing modules?
added on the 2019-01-04 10:36:57 by El Topo El Topo
you need to use `git submodule update --init --recursive` to clone the submodules
added on the 2019-01-04 21:44:51 by blackle blackle
Thanks, I do get a segfault with gcc 5.4.0 though so I probably have to replicate your setup.
added on the 2019-01-05 09:47:55 by El Topo El Topo
id like to express my support for the personality disordered
added on the 2019-01-24 09:48:59 by rutra80 rutra80
"thanks"
added on the 2019-01-24 10:21:59 by visy visy
❤️
rulez added on the 2019-01-24 11:23:01 by maeln maeln

lists containing this prod

submit changes

if this prod is a fake, some info is false or the download link is broken,

do not post about it in the comments, it will get lost.

instead, click here !

[previous edits]

add a comment