libabigail aka C++ Instrumentation and Analysis


Background

Libabigail is shorthand for the alternative, which just so happens to be a bit of a mouthful: “GNU Application Binary Interface Generic Analysis and Instrumentation Library.”

This is a current compiler/language research topic to provide a serialized XML form of C++11 sources as compiled by GNU g++, and a way of looking at the data produced. This data can be parsed to more accurately determine ABI compatibility, to better understand code additions and changes and how these change the exported interface, to examine and prototype how C++11 language usage determines linkage, etc.

Discussions about this functionality started at the “C++ ABI BOF” at the GNU Tools Cauldron 2012 Prague. This work was created at Red Hat, by Benjamin Kosnik, Jason Merrill, and Dodji Seketeli. Some updates at 2013 Cauldron. See “Cauldron 2013 GCC ABI BOF.”

Development sources are written in mixed C++2003/C++11, hosted in git, based on GCC trunk, and tracking what will to be gcc-4.9.0. The branch is administered by Dodji Seketeli.

Please feel free to try it out, but know that the state is experimental and quite raw.

Feedback and assistance is welcome.

Starting from a git working tree as described in GitMirror, add the libabigail repository as follows:

git checkout -b libabigail origin/libabigail

To stay up to date, use:

git pull


Overview

How is this expected to be used? First, a libabigail top-level directory is either added to the GCC sources or compiled as a first step and put into some PREFIX directory. The GNU C++ compiler, g++, is configured to use this new library with:

configure .. --with-abigail=$PREFIX

Thus configured, the C++ front end is built, installed, and used as the primary compiler. All sources are compiled with an additional flag, -fdump-abi.

So, this command:

g++ -c -fdump-abi somefile.cc

Creates two files:

  • somefile.o

    The object file

  • somefile.cc.bi

    The XML instrumentation file


API/ABI

basics

Toplevel namespace is abigail.

The interface header files in libabigail:

abg-ir.h
abg-corpus.h

Doxgen is used to document the sources: try make html to generate, and look in libabigail-build-dir/doc/api/html/index.html to read it.

And then the binary interface is in libabigail.so.

notes

Each object file is compiled to a translation_unit. The sum of all translation_units is a corpus.

Compiler-generated files are read as serialized input to a translation_unit and de-serialized. And any modified form is written to an output file in serialized form.

The interface to the C++ intermediate representation is best viewed in the class documentation.

Opinions and Wild Guesses

1. Some formatting tips.

– classes “read” as types, data, members functions. In that order.

– doxygen gives feedback on the state of the doxygen parse in the form of a log, as you run “make html.” Read this log: doxygen is a fuzzy parse. There are formatting things you can do to make it better. Do them. It’s easier to fix up these errors then figure out why the generated HTML is poor.

2. Use of shared_ptr is intriguing.

There are not really a lot of existing usage patterns for std::shared_ptr in libstdc++ (in C++11 , , ). If you look at the page of boost idioms for shared_ptr usage:

http://www.boost.org/doc/libs/1_54_0/libs/smart_ptr/sp_techniques.html

One notices that there’s not a lot of use of shared_ptrs in interfaces. Yet in libabigail, that is very common. I’m curious about this style question.

And most usage is up for debate, see this stack overthow discussion about using shared_ptrs as function arguments. Should the parameters be const reference or just shared_ptr? And another.

Some interesting thinking from microsoft on shared_ptr usage.

3. Use of virtual binary operators is odd.

The old adage is that operators cause havoc in overload resolution. These are binary operators, but the stigma lingers. A vague feeling is not the same as something definite that’s a hard no. It’s more like the pirate code than a strict coding convention or hard rule. I would say that if you ever start to see strange bugs due to overloading, consider making these (non-operator) functions.

Otherwise, do it.

Asama OG x Nezu Museum x Birgit Skiold

teahouse_stone_enso.6.1

teahouse_stone_enso.6.2

teahouse_stone_enso.6.0

teahouse_stone_enso.6.3

Protocol

Three visual allies cross space and time to meet for the first time at the Pacific Portal, 2013. Devastation Pacific, San Francisco, California, United States, Earth. At contact, self-identify as allies, murmur these are my people, make plans for a hybrid form.

COMBINE.

FUSE.

Set of four stone ensos with guilloche overlays, constructed via the lens of a slow walk through the Nezu Museum teahouse gardens, and committed to copper plates via direct gravure during Crown Point Press 2013 Summer Workshop.

Production Notes

Image Size
329 x 493mm (13 x 19 inches)

Plate Size
329 x 493mm (14 x 22 inches), .041in mirror polished copper plate

Finished Size
90mm borders x 4 sides means approximately 510 x 660mm (20 x 26in)

Plate 0: Zero
Scrap metal, found discard. Backside. Hand filed, uneven: “4eva.” Cancellation mark, “X,” top left of plate. Some Capp street sidewalk surfing scratches at two edges. Modified aquatint with surfer resin drops. Circle, brush, and drip spitbite.
Color: hottest pink || orange-y sepia || 20% prussian

  1. Pink Actual: Charbonnel Solferino Violet (~70%), Charbonnel Rouge Rubis/Ruby “Heart Stealer” Red (~30%), Douglas and Sturges Luster Pigment Pearl White, Douglas and Stuges Bronzing Powder Silvertone, Faust transparent base 2:1
  2. Orange Actual: Charbonnel Cardinal Red (~70%), Charbonnel Apricot Yellow, Douglas and Stuges Bronzing Powder Silvertone, Faust transparent base 2:1
  3. Blue Actual: Charbonnel Prussian Blue, white (~70%), Faust transparent base 1:1

Plate 1: One
One of 4 stone ensos. Direct gravure. Inkscape vector image composition with photo image collage. Photo tinting in photoshop to 2010 curves. Linux higest-resolution-possible-config to Epson 3880 (F18 adair create/F14 chula print configuration). Phoenix Gravure Pigment Paper.
Color: Black, silver, rust.
Color Actual: Charbonnel Black, Faust transparent base 1:1 to less.

Plate 2: Two
One of 3 deboss plates. Deboss/Emboss plates inspired by Birgit Skiold’s “Zen Gardens.” Copper plate, 0.041in scrap metal, discard. Flowjet cutting via TechShop, and the kind help of various mechanical engineering SF Techshop-ians! See Flowjet WaterJet aces, aka, CNC401: CNC Waterjet Cutter SBU – Level 4.

Paper
Somerset Velvet Soft White 300g
HM-63 Mohachi 300g (22 x 30″)
MMN-106 Torinoko Black 235g (38 x 74″)
Unknown Hiromi Dark Natural Gampi

The Master Technician
Etching consigliere Ianne Kjorli.

Links
Some printed pieces. Some background on the layering and combinations.

Ambient

Supreme court strikes down Doma on historic day for gay rights in America
SOMM, the new “Jiro Dreams of Sushi
Sans Soleil, Chris Marker
Royal Space Force/Wings of Honnêamise
Daft Punk, Duh
Lianne La Havas, No Room For Doubt
Joshua Redmond
Spring Breakers, crime art movie
Bling Ring, see above
Epic hating on pinterist
Mourning canceled shows that should have been on TNT, or made with animatronics.

Research Notes

Nezu Museum, Tokyo, Japan
Birgit Skiold, for those who don’t know Swedish pronunciation, Kathan Brown indicates this can be sounded out as “Beer-git Skee-old”
Blythe House Reading Room, Victoria and Albert Museum, London, UK. See the “Zen and the Art of Print: Birgit Skiold and Japan” show, and “Birgit Skiöld and the Print Workshop” for background on London’s first open-access print workshop.
Anish Kapoor, Untitled
Anish Kapoor, Untiled A

Notes on Art Publishing Now

From the event hosted by Southern Exposure, Art Publishing Now.
Preview
I register, and then look at some of the books on the wall. There are perhaps ten items, laid out on a shelf at the entrance.

The majority are web printed or xerox copied. But definitely from a zine background. And then one, probably the best printed, was a photo-book from colorandcolor.blogspot. A blog book by blurb: the four bs. But hands down, it looked the best from a pure print production ranking.

The most interesting object, conceptually, is an envelope containing various quizzes, with a hyper-designed logo and very slick packaging. Meaning Maker, a detournment of the organizer brand Meeting Maker. But then one reads the various pamphlets: one for “family meeting” had a checklist of everything about the person that has changed over the last five years. In addition to the expected spouse, kids questions was a check box for gender change, one for breast mastectomy, etc. All very interesting. The rest of the faux-questionnaires were similarly interesting.

Another. A small printed booklet, two color. Orange and blue. My Mission, by the blog Mission Local. Abigail loves this one.

Round One: Publishing When It’s Not Publishing

Gwen Allen, Art Historian at SFSU. Note: “Artists’ Magazines: And Alternative Space for Art” MIT Press 2011. This book looks good, some discussion of Fluxus and a new one that reminded me of Up Against the Wall Mutherfuckas. UAW/MF. Instead, this was called Shit Must Stop, SMS. Yoko Ono is a contributor, and on art.net a full collection is $3k.

Bad at Sports, audio archive of art talk, conversations, interviews. (Rauschenberg piece). They had set-ups that were quite funny. Well played. Some of the sport photography hilarious, and made me think of a sweaty ping pong match with ? shirts, so that it became bad at sports? Fun.

THE THING. They seem relieved to be out of the art world, or perhaps a more traditional fine art background. They create an object on a regular interval and send it out.

The [un]observed. This is art soundscaping and natural-voice storytelling. There is a component of audio production and radio narrative. The broadcaster’s voice is quite stunning: if anybody’s got a voice for radio, man. She’s got it. But the visual component is also outstanding. Postcards and bus stop posters, snapshots behind the story being told.

The discussion afterwards was interesting. New media was just thrown around. Long artist statements and poorly worded ones. Other descriptors: lens artist. Post-production. Collective  and curatorial work, but no anonymous work.

There was some interesting probing of the web, and of web organized projects and the curious experimentation with objects. And why does this topic then devolve into a careful dance around money?

Part of me wonders if creation today means trying to find a form that can be combined with computer-based algorithms for categorization or other data visualization. A collective effort to be categorized by the machine. And re-categorized to taste, to be perfectly pliable to all forms of recommendation. Count us! Visualize.

Round Two: The New Fetish Object

Of these, top picks were Electric Works, with the new media eye roll, and The Present Group. Both do multiples, but the Electric Works ones are sometimes quite expensive. Eleanor Hanson Wise is super chill, and ends up being the only one in the group to talk about recycling, decommissioning, and secondary markets for all the precious art objects that have been created.

Laura Sydell, when talking about printing, and the new fetish object. Two things of interest, as she is a pro moderator and thus seemingly impervious to shock or surprise.

1) No, really, y’all are so retro to be from the future. Printing is dead. Da-dum.

2) None of you are non-profits? She seems to be surprised at the composition of the pane,  that none on the panel were non-profit. They were all in it for the money.

Reproducible in intent means that there is no original.

There seems to be some ambiguity in production, with print feeding into web, or web feeding into print, or even some web to print to web to other print. These linkages and mutations are interesting. Even so, one on the panel has to go through a tortured loyalty oath to the internet before daring to mount a defense of the physical object. The non-virtual!

What is the difference between post-production and curation? Appropriation? Abigail says modification or other remix is necessary for post-production.

Perhaps the advantage of the book object is that it is an old form. One that is well archived and archival: within the large category of book, you have a universal way of characterization, of identification. Such that search agents are able to convey it to you, extract meaning by association, and learn to suggest relevant items to you.

What is edge to the art market? Where’s the limit? Are these objects participating in that market? If SMS (Shit Must Stop) back-catalogs are $3k, and being collected, isn’t this squarely the domain of the traditional art market? It’s certainly some kind of market. Cash for objects or services, call it a subscription if you’re lucky, but all of the panelists are making money. For profit and not-for-profit organizations seem to be in a twisted embrace here, where the for-profit are getting grants from the not-for-profit. Is this just canny accounting? Is this a distortion caused by the art market?

Some real screen hate here. Talk of getting away from computers. Spending too much time on your notebook.

Production. Design. Art. Intention to create what?

Round Four: West Coast Critical

First talk is two-thirds introduction. No slides. Please. Some Art in America or Frieze bullshit here. We like to cover artists of historical importance on the west coast, to re-discover works by prominent artists of twenty years ago or so, and find the stuff that still looks good today. Shows that cover the region. Blowhard.

Key here is Anne Walsh. X-Tra Art quarterly. Was surprised by the six minute rule as well, but her presentation was fine just the same. Later on, in the conversation, she rattles through a very brutal list of art critics. A La Times dis, Christopher Knight. Then a bunch of names erupted, starting with Catherine Lord and ending with Ken Goldberg, but it was just too quick to even note. I go to the websites of each, but don’t see any art critical writing by them, but some about Ken. None click-able, at least. Was this a statement? There definitely seemed to be some bad-girl persona here.

And in any-case, it was entertaining as hell. She questioned the new four color printing of x-tra, but made fun of the production quality (web press and newsprint) of early issues. She highlighted working with designers, and liked that xtra art quarterly used to change design frequently.

Another academic, Mark Van Proyen, chair of painting at SFAI and an editor for Art in America. He makes a statement about what is controversial in art publishing and criticism today versus what was controversial thirty years ago. But it flames out when the example he picked to be non-controversial, some Gingerass photo, ends up being “disturbing” in the words of one woman in the audience. Perhaps he was going for gadfly? He says art criticism went downhill from the results of one article in 1990, Art World Revisited.

Post Brothers, who read a prepared statement into the mike. Just show the link next time, after it has been edited. Swing, miss.

What’s wrong with criticism? The topic is narrowed.

Moderator makes suicidal mistake in questioning Anne Walsh with a question on Vogue. Which sounded a bit like baiting the feminist, probably despite his apparent lack of intention. Instead, it should have been more theoretically worded about theory vs. mainstream art media. Wow. Best answer was actually by Steven Wolf, but he describes an article that few would want to read.

I wonder at what is the role of the social in the act of art criticism?

Seems to be an extended discussion on art criticism versus entertainment. Should critics vamp on a review of art in the way that screenwriters vamp on the novel?

Should reviews be 500-800 words? Is this too short? Can’t be too short, must let the work reveal itself. They can’t even agree that a 500-800 word limit constituted a real barrier to excellence.

Anne Walsh defends the manifesto and essay forms, but leaves reviews out to dry.

There are some questions from the audience, including a very impassioned one directly from my left that asserted that the traditional art magazines were going to be dead within years. One that says art criticism is hyper academic and unreadable. Neither touched by any of the panelists.

There is only the glimpse of the question of popular media, the question of why isn’t visual cultured talked about, outside of a narrow niche. Always looking we are not, apparently.

The talk ends, and most of the critics on the panel have dispersed before the start of the final talk.