Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. working on gcc is killing me, haha

working on gcc is killing me, haha

Scheduled Pinned Locked Moved Uncategorized
14 Posts 9 Posters 1 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • thephd@pony.socialT thephd@pony.social

    working on gcc is killing me, haha

    swetland@chaos.socialS This user is from outside of this forum
    swetland@chaos.socialS This user is from outside of this forum
    swetland@chaos.social
    wrote last edited by
    #2

    @thephd Do you also work on llvm? If so, does it usher you toward death at a greater or lesser rate?

    thephd@pony.socialT 1 Reply Last reply
    0
    • thephd@pony.socialT thephd@pony.social

      working on gcc is killing me, haha

      astraleureka@social.treehouse.systemsA This user is from outside of this forum
      astraleureka@social.treehouse.systemsA This user is from outside of this forum
      astraleureka@social.treehouse.systems
      wrote last edited by
      #3

      @thephd i believe you have invented the world's best compression algorithm. "haha" - the amount of pain contained within those 32 bits is astronomical

      1 Reply Last reply
      0
      • swetland@chaos.socialS swetland@chaos.social

        @thephd Do you also work on llvm? If so, does it usher you toward death at a greater or lesser rate?

        thephd@pony.socialT This user is from outside of this forum
        thephd@pony.socialT This user is from outside of this forum
        thephd@pony.social
        wrote last edited by
        #4

        @swetland I finished working on LLVM already. It was monumentally easier, but only because all of my usual type-based refactoring techniques worked. GCC is a lot more type-sloppy (everything is either a tree or an rtx) and so it's impossible to trace the effect of things at compile-time using types or signatures. You just have to stick data in the machine and observe GCC chug away at it in a debugger or with verbose prints to track down what is going on.

        archiloque@felin.socialA david_chisnall@infosec.exchangeD 2 Replies Last reply
        0
        • thephd@pony.socialT thephd@pony.social

          working on gcc is killing me, haha

          thephd@pony.socialT This user is from outside of this forum
          thephd@pony.socialT This user is from outside of this forum
          thephd@pony.social
          wrote last edited by
          #5

          if you EVER hear me say "I think I'll implement this in GCC for fun" ever, I want you to slap the shit out of me. Just let loose. Doesn't matter if I lose a tooth or two, if that thought comes into my head again I deserve it.

          thephd@pony.socialT matus_chochlik@mastodon.onlineM 2 Replies Last reply
          0
          • thephd@pony.socialT thephd@pony.social

            if you EVER hear me say "I think I'll implement this in GCC for fun" ever, I want you to slap the shit out of me. Just let loose. Doesn't matter if I lose a tooth or two, if that thought comes into my head again I deserve it.

            thephd@pony.socialT This user is from outside of this forum
            thephd@pony.socialT This user is from outside of this forum
            thephd@pony.social
            wrote last edited by
            #6

            Do not let me do this again unless I am being paid real money.

            markuswerle@nrw.socialM sol_hsa@mastodon.gamedev.placeS 2 Replies Last reply
            0
            • thephd@pony.socialT thephd@pony.social

              if you EVER hear me say "I think I'll implement this in GCC for fun" ever, I want you to slap the shit out of me. Just let loose. Doesn't matter if I lose a tooth or two, if that thought comes into my head again I deserve it.

              matus_chochlik@mastodon.onlineM This user is from outside of this forum
              matus_chochlik@mastodon.onlineM This user is from outside of this forum
              matus_chochlik@mastodon.online
              wrote last edited by
              #7

              @thephd this sounds somewhat familiar.. 😛

              1 Reply Last reply
              0
              • thephd@pony.socialT thephd@pony.social

                Do not let me do this again unless I am being paid real money.

                markuswerle@nrw.socialM This user is from outside of this forum
                markuswerle@nrw.socialM This user is from outside of this forum
                markuswerle@nrw.social
                wrote last edited by
                #8

                @thephd one or two more ICEs are fine with us.

                1 Reply Last reply
                0
                • thephd@pony.socialT thephd@pony.social

                  Do not let me do this again unless I am being paid real money.

                  sol_hsa@mastodon.gamedev.placeS This user is from outside of this forum
                  sol_hsa@mastodon.gamedev.placeS This user is from outside of this forum
                  sol_hsa@mastodon.gamedev.place
                  wrote last edited by
                  #9

                  @thephd Pieces of eight?

                  1 Reply Last reply
                  0
                  • thephd@pony.socialT thephd@pony.social

                    @swetland I finished working on LLVM already. It was monumentally easier, but only because all of my usual type-based refactoring techniques worked. GCC is a lot more type-sloppy (everything is either a tree or an rtx) and so it's impossible to trace the effect of things at compile-time using types or signatures. You just have to stick data in the machine and observe GCC chug away at it in a debugger or with verbose prints to track down what is going on.

                    archiloque@felin.socialA This user is from outside of this forum
                    archiloque@felin.socialA This user is from outside of this forum
                    archiloque@felin.social
                    wrote last edited by
                    #10

                    @thephd @swetland is it mandatory to provide two implementations by yourself?

                    thephd@pony.socialT 1 Reply Last reply
                    0
                    • archiloque@felin.socialA archiloque@felin.social

                      @thephd @swetland is it mandatory to provide two implementations by yourself?

                      thephd@pony.socialT This user is from outside of this forum
                      thephd@pony.socialT This user is from outside of this forum
                      thephd@pony.social
                      wrote last edited by
                      #11

                      @archiloque No. But the rules for proposals are different for me, unlike all of my colleagues.

                      1 Reply Last reply
                      0
                      • thephd@pony.socialT thephd@pony.social

                        @swetland I finished working on LLVM already. It was monumentally easier, but only because all of my usual type-based refactoring techniques worked. GCC is a lot more type-sloppy (everything is either a tree or an rtx) and so it's impossible to trace the effect of things at compile-time using types or signatures. You just have to stick data in the machine and observe GCC chug away at it in a debugger or with verbose prints to track down what is going on.

                        david_chisnall@infosec.exchangeD This user is from outside of this forum
                        david_chisnall@infosec.exchangeD This user is from outside of this forum
                        david_chisnall@infosec.exchange
                        wrote last edited by
                        #12

                        @thephd @swetland

                        A little over 20 years ago, I wrote a replacement for the GCC Objective-C runtime that supported more modern features. People tried to persuade me to add support for the language features into FSF GCC (they were already in Apple GCC and ‘just’ needed porting). At the time, clang had no support for Objective-C code generation, though it could build a(n almost correct) Objective-C AST.

                        After a week of failing to figure out what the GCC code was doing, I added code generation support for Objective-C to clang. Support for Objective-C on non-Apple platforms has roughly kept parity since then in clang (we actually shipped blocks support six months before their public release) and has gained support for things like SEH-compatible exceptions on Windows. GCC remains stuck on a turn-of-the-millennium dialect of Objective-C.

                        P 1 Reply Last reply
                        0
                        • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                          @thephd @swetland

                          A little over 20 years ago, I wrote a replacement for the GCC Objective-C runtime that supported more modern features. People tried to persuade me to add support for the language features into FSF GCC (they were already in Apple GCC and ‘just’ needed porting). At the time, clang had no support for Objective-C code generation, though it could build a(n almost correct) Objective-C AST.

                          After a week of failing to figure out what the GCC code was doing, I added code generation support for Objective-C to clang. Support for Objective-C on non-Apple platforms has roughly kept parity since then in clang (we actually shipped blocks support six months before their public release) and has gained support for things like SEH-compatible exceptions on Windows. GCC remains stuck on a turn-of-the-millennium dialect of Objective-C.

                          P This user is from outside of this forum
                          P This user is from outside of this forum
                          pinskia@hachyderm.io
                          wrote last edited by
                          #13

                          @david_chisnall @thephd @swetland
                          The objective c frontend in gcc has always been bad. I blame next/apple for that mess.

                          david_chisnall@infosec.exchangeD 1 Reply Last reply
                          0
                          • P pinskia@hachyderm.io

                            @david_chisnall @thephd @swetland
                            The objective c frontend in gcc has always been bad. I blame next/apple for that mess.

                            david_chisnall@infosec.exchangeD This user is from outside of this forum
                            david_chisnall@infosec.exchangeD This user is from outside of this forum
                            david_chisnall@infosec.exchange
                            wrote last edited by
                            #14

                            @pinskia @thephd @swetland

                            I think RMS gets a lot of the blame. If he hadn’t been so keen to get a win for GPL enforcement, the GCC team could have just rejected it as terrible code and never merged it, and maybe added a properly engineered version later.

                            1 Reply Last reply
                            1
                            0
                            • R relay@relay.infosec.exchange shared this topic
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups